refactor: replace castopod ➡ castopod-host

- rename all occurences of castopod to castopod host
- docs: update contribution guidelines
-
docs: update README to include guidance for help and links to socials
- remove
castopod_namespace.json
This commit is contained in:
Yassine Doghri 2021-04-23 15:42:54 +00:00
parent 27c48b8fa9
commit fad06e697d
No known key found for this signature in database
GPG Key ID: 3E7F89498B960C9F
16 changed files with 129 additions and 114 deletions

View File

@ -2,7 +2,7 @@
# Example Environment Configuration file # Example Environment Configuration file
# #
# This file can be used as a starting point for # This file can be used as a starting point for
# your castopod instance settings. # your Castopod Host instance settings.
# #
# For manual configuration: # For manual configuration:
# - copy this file's contents to a file named `.env` # - copy this file's contents to a file named `.env`
@ -10,19 +10,34 @@
# - go to `/cp-install` to complete installation # - go to `/cp-install` to complete installation
#-------------------------------------------------------------------- #--------------------------------------------------------------------
#--------------------------------------------------------------------
# Instance configuration # Instance configuration
#--------------------------------------------------------------------
app.baseURL="https://YOUR_DOMAIN_NAME/" app.baseURL="https://YOUR_DOMAIN_NAME/"
app.mediaBaseURL="https://YOUR_MEDIA_DOMAIN_NAME/" app.mediaBaseURL="https://YOUR_MEDIA_DOMAIN_NAME/"
app.adminGateway="cp-admin" app.adminGateway="cp-admin"
app.authGateway="cp-auth" app.authGateway="cp-auth"
#--------------------------------------------------------------------
# Database configuration # Database configuration
#--------------------------------------------------------------------
database.default.hostname="localhost" database.default.hostname="localhost"
database.default.database="castopod" database.default.database="castopod"
database.default.username="root" database.default.username="root"
database.default.password="****" database.default.password="****"
database.default.DBPrefix="cp_" database.default.DBPrefix="cp_"
#--------------------------------------------------------------------
# Cache configuration (advanced) # Cache configuration (advanced)
#
# Keep as is if you don't know what this means # Keep as is if you don't know what this means
#--------------------------------------------------------------------
cache.handler="file" cache.handler="file"
# Redis configuration
#--------------------------------------------------------------------
# cache.handler="redis"
# cache.redis.host="127.0.0.1"
# cache.redis.password=null
# cache.redis.port=6379
# cache.redis.database=0

8
.gitignore vendored
View File

@ -167,7 +167,7 @@ mariadb
phpmyadmin phpmyadmin
sessions sessions
# Castopod bundle & packages # Castopod Host bundle & packages
castopod/ castopod-host/
castopod-*.zip castopod-host-*.zip
castopod-*.tar.gz castopod-host-*.tar.gz

View File

@ -48,11 +48,11 @@ bundle_app:
- mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City - mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City
# create bundle folder: uses .rsync-filter (-F) file to copy only needed files # create bundle folder: uses .rsync-filter (-F) file to copy only needed files
- rsync -aF --progress . ./castopod - rsync -aF --progress . ./castopod-host
artifacts: artifacts:
name: "castopod-${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}" name: "castopod-host-${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}"
paths: paths:
- castopod - castopod-host
except: except:
- main - main
- beta - beta

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Castopod"> <ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Castopod">
<description>Castopod's coding standard based on the PSR-1 standard.</description> <description>Castopod Host's coding standard based on the PSR-1 standard.</description>
<!-- Include the whole PSR-1 standard --> <!-- Include the whole PSR-1 standard -->
<rule ref="PSR1"/> <rule ref="PSR1"/>

View File

@ -33,12 +33,12 @@
"gitlabUrl": "https://code.podlibre.org/", "gitlabUrl": "https://code.podlibre.org/",
"assets": [ "assets": [
{ {
"path": "castopod-*.zip", "path": "castopod-host-*.zip",
"label": "Castopod Package (zip)" "label": "Castopod Host Package (zip)"
}, },
{ {
"path": "castopod-*.tar.gz", "path": "castopod-host-*.tar.gz",
"label": "Castopod Package (tar.gz)" "label": "Castopod Host Package (tar.gz)"
} }
] ]
} }

View File

@ -1,4 +1,4 @@
# rsync filter rules to copy required files for Castopod's bundle # rsync filter rules to copy required files for Castopod Host's bundle
- app/Views/_assets/ - app/Views/_assets/
+ app/*** + app/***

View File

@ -1,6 +1,6 @@
# Contributing to Castopod # Contributing to Castopod Host
Love Castopod and want to help? Thanks so much, there's something to do for Love Castopod Host and want to help? Thanks so much, there's something to do for
everybody! everybody!
Please take a moment to review this document in order to make the contribution Please take a moment to review this document in order to make the contribution
@ -11,10 +11,14 @@ developers managing and developing this open source project. In return, they
should reciprocate that respect in addressing your issue or assessing patches should reciprocate that respect in addressing your issue or assessing patches
and features. and features.
⚠️ Note that **any** contribution made on a repository other than
[the original repository](https://code.podlibre.org/podlibre/castopod-host) will
not be accepted.
## Using the issue tracker ## Using the issue tracker
The [issue tracker](https://code.podlibre.org/podlibre/castopod/-/issues) is the The [issue tracker](https://code.podlibre.org/podlibre/castopod-host/-/issues)
preferred channel for [bug reports](#bug-reports), is the preferred channel for [bug reports](#bug-reports),
[features requests](#feature-requests) and [features requests](#feature-requests) and
[submitting pull requests](#pull-requests). [submitting pull requests](#pull-requests).
@ -73,13 +77,13 @@ the project:
```bash ```bash
# Clone your fork of the repo into the current directory # Clone your fork of the repo into the current directory
git clone https://code.podlibre.org/<your-username>/castopod.git git clone https://code.podlibre.org/<your-username>/castopod-host.git
# Navigate to the newly cloned directory # Navigate to the newly cloned directory
cd castopod cd castopod-host
# Assign the original repo to a remote called "upstream" # Assign the original repo to a remote called "upstream"
git remote add upstream https://code.podlibre.org/podlibre/castopod.git git remote add upstream https://code.podlibre.org/podlibre/castopod-host.git
``` ```
2. If you cloned a while ago, get the latest changes from upstream: 2. If you cloned a while ago, get the latest changes from upstream:
@ -119,7 +123,7 @@ git push origin <topic-branch-name>
**IMPORTANT**: By submitting a patch, you agree to allow the project owners to **IMPORTANT**: By submitting a patch, you agree to allow the project owners to
license your work under the terms of the license your work under the terms of the
[GNU AGPLv3](https://code.podlibre.org/podlibre/castopod/-/blob/main/LICENSE). [GNU AGPLv3](https://code.podlibre.org/podlibre/castopod-host/-/blob/main/LICENSE).
## Collaborating guidelines ## Collaborating guidelines

View File

@ -1,6 +1,6 @@
# Castopod dependencies # Castopod Host dependencies
Castopod uses the following components: Castopod Host uses the following components:
PHP Dependencies: PHP Dependencies:

View File

@ -1,7 +1,7 @@
FROM php:7.3-fpm FROM php:7.3-fpm
COPY . /castopod COPY . /castopod-host
WORKDIR /castopod WORKDIR /castopod-host
### Install CodeIgniter's server requirements ### Install CodeIgniter's server requirements
#-- https://github.com/codeigniter4/appstarter#server-requirements #-- https://github.com/codeigniter4/appstarter#server-requirements
@ -34,4 +34,4 @@ RUN echo "file_uploads = On\n" \
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y cron apt-get install -y cron
RUN crontab /castopod/crontab RUN crontab /castopod-host/crontab

View File

@ -1,7 +1,7 @@
# How to install Castopod <!-- omit in toc --> # How to install Castopod Host <!-- omit in toc -->
Castopod was thought to be easy to install. Whether using dedicated or shared _Castopod Host_ was thought-out to be easy to install. Whether using dedicated
hosting, you can install it on most PHP-MySQL compatible web servers. or shared hosting, you can install it on most PHP-MySQL compatible web servers.
## Table of contents <!-- omit in toc --> ## Table of contents <!-- omit in toc -->
@ -16,20 +16,21 @@ hosting, you can install it on most PHP-MySQL compatible web servers.
## Install instructions ## Install instructions
0. Create a MySQL database for Castopod with a user having access and 0. Create a MySQL database for Castopod Host with a user having access and
modification privileges (for more info, see modification privileges (for more info, see
[Web Server Requirements](#web-server-requirements)). [Web Server Requirements](#web-server-requirements)).
1. Download and unzip the Castopod package onto the web server if you havent 1. Download and unzip the latest
already. [Castopod Host Package](https://code.podlibre.org/podlibre/castopod-host/-/releases)
onto the web server if you havent already.
- ⚠️ Set the web server document root to the `public/` sub-folder. - ⚠️ Set the web server document root to the `public/` sub-folder.
2. ⚠️ For broadcasting social activities to the fediverse, add a cron task on 2. For broadcasting social activities to the fediverse, add a cron task on your
your web server to run every minute (replace the paths accordingly): web server to run every minute (replace the paths accordingly):
```php ```php
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities * * * * * /path/to/php /path/to/castopod-host/public/index.php scheduled-activities
``` ```
3. Run the Castopod install script by going to the install wizard page 3. Run the Castopod Host install script by going to the install wizard page
(`https://your_domain_name.com/cp-install`) in your favorite web browser. (`https://your_domain_name.com/cp-install`) in your favorite web browser.
4. Follow the instructions on your screen. 4. Follow the instructions on your screen.
@ -37,11 +38,11 @@ All done, start podcasting!
### (optional) Manual configuration ### (optional) Manual configuration
Before uploading Castopod files to your web server: Before uploading Castopod Host files to your web server:
1. Rename the `.env.example` file to `.env` and update the default values with 1. Rename the `.env.example` file to `.env` and update the default values with
your own. your own.
2. Upload the Castopod files with `.env` 2. Upload the Castopod Host files with `.env`
3. Go to `/cp-install` to finish the install process. 3. Go to `/cp-install` to finish the install process.
## Web Server Requirements ## Web Server Requirements
@ -71,8 +72,8 @@ server administrator.
#### Privileges #### Privileges
User must have at least these privileges on the database for Castopod to work: User must have at least these privileges on the database for Castopod Host to
`ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`. work: `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
### (Optional) Other recommendations ### (Optional) Other recommendations
@ -82,12 +83,12 @@ User must have at least these privileges on the database for Castopod to work:
## Security concerns ## Security concerns
Castopod is built on top of Codeigniter, a PHP framework that encourages Castopod Host is built on top of Codeigniter, a PHP framework that encourages
[good security practices](https://codeigniter.com/user_guide/concepts/security.html). [good security practices](https://codeigniter.com/user_guide/concepts/security.html).
To maximize your instance safety and prevent any malicious attack, we recommend To maximize your instance safety and prevent any malicious attack, we recommend
you update all your Castopod files permissions (after installation to avoid any you update all your Castopod Host files permissions after installation (to avoid
permission error): any permission error):
- `writable/` folder must be **readable** and **writable**. - `writable/` folder must be **readable** and **writable**.
- `public/media/` folder must be **readable** and **writable**. - `public/media/` folder must be **readable** and **writable**.
@ -97,7 +98,7 @@ For instance, if you are using Apache or NGINX with Ubuntu you may do the
following: following:
```bash ```bash
sudo chown -R root:root /path/to/castopod sudo chown -R root:root /path/to/castopod-host
sudo chown -R www-data:www-data /path/to/castopod/writable sudo chown -R www-data:www-data /path/to/castopod-host/writable
sudo chown -R www-data:www-data /path/to/castopod/public/media sudo chown -R www-data:www-data /path/to/castopod-host/public/media
``` ```

View File

@ -1,37 +1,64 @@
# ![Castopod Logo](https://podlibre.org/static/images/Castopod-Title.svg) # ![Castopod Host](https://podlibre.org/static/images/Castopod-Title.svg)
Castopod is an open-source podcast hosting solution for everyone.\ _Castopod Host_ is a free and open-source podcast hosting solution made for
Whether you are a beginner, an amateur or a professional, you will get everything podcasters who want engage and interact with their audience.
you need:\
Create, upload, publish, and get comprehensive audience measurement that
respects your listeners privacy.
Castopod is a free and open-source solution (AGPL v3).\ Create, upload, publish, interact with your followers and get comprehensive
Whether you choose to install it on your own server or have it hosted by a professional, audience measurements that respect your listeners privacy.
all your data and analytics belong to you and you only.
![Castopod Logo](https://podlibre.org/static/images/Castopod-Mascot-Server.svg) Whether you choose to install it on your own server or have it hosted by a
professional, all your data and analytics belong to you and you only!
![Castopod Mascot](https://podlibre.org/static/images/Castopod-Mascot-Server.svg)
You may find Castopod Host's source code on the
[original repository](https://code.podlibre.org/podlibre/castopod-host) or,
alternatively, on the
[github repository (mirror)](https://github.com/podlibre/castopod-host).
## Installation ## Installation
Castopod can be hosted on any PHP/MySQL server:\ To install Castopod Host on your PHP/MySQL server:
Unzip it and you are ready to broadcast.
To install Castopod on your server:
- Download - Download
[Castopod latest Package (zip or tar.gz)](https://code.podlibre.org/podlibre/castopod/-/releases), [Castopod Host's latest Package (zip or tar.gz)](https://code.podlibre.org/podlibre/castopod-host/-/releases),
- Follow the procedure “[How to install Castopod](./INSTALL.md)”. - Follow the procedure on “[How to install Castopod Host](./INSTALL.md)”.
## Documentation ## Documentation
You can check castopod's documentation for You can check Castopod Host's documentation for
[setting up a development environment](./docs/setup-development.md). [setting up a development environment](./docs/setup-development.md).
## Contributing
Love Castopod Host and would like to help? Check out the
[contribution guidelines](./CONTRIBUTING.md) for this project, everything should
be there!
⚠️ Note that **any** contribution made on a repository other than
[the original repository](https://code.podlibre.org/podlibre/castopod-host) will
not be accepted.
## Support ## Support
You may reach us for help or ask any question you have on:
- [Discord](https://castopod.org/discord) (for direct interaction with
developers and the community)
Alternatively, you can follow us on social media platforms to get news about
Castopod:
- [podlibre.social](https://podlibre.social/@Castopod) (Mastodon instance)
- [Twitter](https://twitter.com/castopod)
- [Facebook](https://www.facebook.com/castopod)
## Sponsors
[Castopod](https://nlnet.nl/project/Castopod/) was funded through the [Castopod](https://nlnet.nl/project/Castopod/) was funded through the
[NGI0 Discovery](https://nlnet.nl/discovery/) Fund, a fund established by NLnet [NGI0 Discovery](https://nlnet.nl/discovery/) Fund under grant agreement
with financial support from the European Commission's Nº 825322.
[Next Generation Internet](https://www.ngi.eu/) programme, under the aegis of DG
Communications Networks, Content and Technology under grant agreement No 825322. The fund was established by NLnet with financial support from the European
Commission's [Next Generation Internet](https://www.ngi.eu/) programme, under
the aegis of DG Communications Networks, Content and Technology.

View File

@ -1,31 +0,0 @@
{
"@context": {
"id": "@id",
"type": "@type",
"as": "https://www.w3.org/ns/activitystreams#",
"schema": "http://schema.org#",
"cp": "https://castopod.org/ns#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"Podcast": "cp:Podcast",
"Episode": "cp:Episode",
"size": {
"@id": "cp:size",
"@type": "xsd:nonNegativeInteger"
},
"season": {
"@id": "cp:season",
"@type": "xsd:nonNegativeInteger"
},
"episode": {
"@id": "cp:episode",
"@type": "xsd:nonNegativeInteger"
},
"cover": {
"@id": "cp:cover",
"@type": "as:Link"
},
"copyright": "cp:copyright",
"category": "sc:category",
"language": "sc:inLanguage"
}
}

View File

@ -1,8 +1,8 @@
{ {
"name": "podlibre/castopod", "name": "podlibre/castopod-host",
"version": "1.0.0-alpha53", "version": "1.0.0-alpha53",
"type": "project", "type": "project",
"description": "Castopod is an open-source hosting platform made for podcasters who want engage and interact with their audience.", "description": "Castopod Host is an open-source hosting platform made for podcasters who want engage and interact with their audience.",
"homepage": "https://castopod.org", "homepage": "https://castopod.org",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"require": { "require": {
@ -62,16 +62,15 @@
] ]
}, },
"support": { "support": {
"forum": "http://forum.codeigniter.com/", "source": "https://code.podlibre.org/podlibre/castopod-host.git",
"source": "https://github.com/codeigniter4/CodeIgniter4", "discord": "https://castopod.org/discord"
"slack": "https://codeigniterchat.slack.com"
}, },
"minimum-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true, "prefer-stable": true,
"repositories": [ "repositories": [
{ {
"type": "vcs", "type": "vcs",
"url": "https://github.com/codeigniter4/codeigniter4" "url": "https://code.podlibre.org/podlibre/castopod-host.git"
} }
] ]
} }

View File

@ -8,13 +8,13 @@ services:
build: build:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
container_name: "castopod_app" container_name: "castopod_host"
command: > command: >
sh -c "cron && php spark serve --host 0.0.0.0" sh -c "cron && php spark serve --host 0.0.0.0"
ports: ports:
- 8080:8080 - 8080:8080
volumes: volumes:
- .:/castopod - .:/castopod-host
depends_on: depends_on:
- redis - redis
- mariadb - mariadb

View File

@ -1,12 +1,12 @@
{ {
"name": "castopod", "name": "castopod-host",
"version": "1.0.0-alpha.53", "version": "1.0.0-alpha.53",
"description": "Castopod is an open-source hosting platform made for podcasters who want engage and interact with their audience.", "description": "Castopod Host is an open-source hosting platform made for podcasters who want engage and interact with their audience.",
"private": true, "private": true,
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://code.podlibre.org/podlibre/castopod.git" "url": "https://code.podlibre.org/podlibre/castopod-host.git"
}, },
"scripts": { "scripts": {
"build": "npm run build:js && cross-env NODE_ENV=production npm run build:css && npm run build:icons && npm run build:svg && npm run copy:images && npm run copy:fonts", "build": "npm run build:js && cross-env NODE_ENV=production npm run build:css && npm run build:icons && npm run build:svg && npm run copy:images && npm run copy:fonts",

View File

@ -15,9 +15,9 @@ wget -c "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Cit
# rename extracted archives' folders # rename extracted archives' folders
mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City
# create castopod folder bundle: uses .rsync-filter (-F) file to copy only needed files # create castopo-host folder bundle: uses .rsync-filter (-F) file to copy only needed files
rsync -aF --progress . ./castopod rsync -aF --progress . ./castopod-host
# create zip and tar.gz packages for release upload # create zip and tar.gz packages for release upload
zip -r castopod-$VERSION.zip castopod zip -r castopod-host-$VERSION.zip castopod-host
tar -zcvf castopod-$VERSION.tar.gz castopod tar -zcvf castopod-host-$VERSION.tar.gz castopod-host