mirror of
https://code.castopod.org/adaures/castopod
synced 2025-04-19 13:01:19 +00:00
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:
parent
27c48b8fa9
commit
fad06e697d
17
.env.example
17
.env.example
@ -2,7 +2,7 @@
|
||||
# Example Environment Configuration file
|
||||
#
|
||||
# This file can be used as a starting point for
|
||||
# your castopod instance settings.
|
||||
# your Castopod Host instance settings.
|
||||
#
|
||||
# For manual configuration:
|
||||
# - copy this file's contents to a file named `.env`
|
||||
@ -10,19 +10,34 @@
|
||||
# - go to `/cp-install` to complete installation
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Instance configuration
|
||||
#--------------------------------------------------------------------
|
||||
app.baseURL="https://YOUR_DOMAIN_NAME/"
|
||||
app.mediaBaseURL="https://YOUR_MEDIA_DOMAIN_NAME/"
|
||||
app.adminGateway="cp-admin"
|
||||
app.authGateway="cp-auth"
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Database configuration
|
||||
#--------------------------------------------------------------------
|
||||
database.default.hostname="localhost"
|
||||
database.default.database="castopod"
|
||||
database.default.username="root"
|
||||
database.default.password="****"
|
||||
database.default.DBPrefix="cp_"
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Cache configuration (advanced)
|
||||
#
|
||||
# Keep as is if you don't know what this means
|
||||
#--------------------------------------------------------------------
|
||||
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
8
.gitignore
vendored
@ -167,7 +167,7 @@ mariadb
|
||||
phpmyadmin
|
||||
sessions
|
||||
|
||||
# Castopod bundle & packages
|
||||
castopod/
|
||||
castopod-*.zip
|
||||
castopod-*.tar.gz
|
||||
# Castopod Host bundle & packages
|
||||
castopod-host/
|
||||
castopod-host-*.zip
|
||||
castopod-host-*.tar.gz
|
||||
|
@ -48,11 +48,11 @@ bundle_app:
|
||||
- mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City
|
||||
|
||||
# create bundle folder: uses .rsync-filter (-F) file to copy only needed files
|
||||
- rsync -aF --progress . ./castopod
|
||||
- rsync -aF --progress . ./castopod-host
|
||||
artifacts:
|
||||
name: "castopod-${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}"
|
||||
name: "castopod-host-${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}"
|
||||
paths:
|
||||
- castopod
|
||||
- castopod-host
|
||||
except:
|
||||
- main
|
||||
- beta
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<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 -->
|
||||
<rule ref="PSR1"/>
|
||||
|
@ -33,12 +33,12 @@
|
||||
"gitlabUrl": "https://code.podlibre.org/",
|
||||
"assets": [
|
||||
{
|
||||
"path": "castopod-*.zip",
|
||||
"label": "Castopod Package (zip)"
|
||||
"path": "castopod-host-*.zip",
|
||||
"label": "Castopod Host Package (zip)"
|
||||
},
|
||||
{
|
||||
"path": "castopod-*.tar.gz",
|
||||
"label": "Castopod Package (tar.gz)"
|
||||
"path": "castopod-host-*.tar.gz",
|
||||
"label": "Castopod Host Package (tar.gz)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -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/***
|
||||
|
@ -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!
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
The [issue tracker](https://code.podlibre.org/podlibre/castopod/-/issues) is the
|
||||
preferred channel for [bug reports](#bug-reports),
|
||||
The [issue tracker](https://code.podlibre.org/podlibre/castopod-host/-/issues)
|
||||
is the preferred channel for [bug reports](#bug-reports),
|
||||
[features requests](#feature-requests) and
|
||||
[submitting pull requests](#pull-requests).
|
||||
|
||||
@ -73,13 +77,13 @@ the project:
|
||||
|
||||
```bash
|
||||
# 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
|
||||
cd castopod
|
||||
cd castopod-host
|
||||
|
||||
# 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:
|
||||
@ -119,7 +123,7 @@ git push origin <topic-branch-name>
|
||||
|
||||
**IMPORTANT**: By submitting a patch, you agree to allow the project owners to
|
||||
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
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Castopod dependencies
|
||||
# Castopod Host dependencies
|
||||
|
||||
Castopod uses the following components:
|
||||
Castopod Host uses the following components:
|
||||
|
||||
PHP Dependencies:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
FROM php:7.3-fpm
|
||||
|
||||
COPY . /castopod
|
||||
WORKDIR /castopod
|
||||
COPY . /castopod-host
|
||||
WORKDIR /castopod-host
|
||||
|
||||
### Install CodeIgniter's server requirements
|
||||
#-- https://github.com/codeigniter4/appstarter#server-requirements
|
||||
@ -34,4 +34,4 @@ RUN echo "file_uploads = On\n" \
|
||||
RUN apt-get update && \
|
||||
apt-get install -y cron
|
||||
|
||||
RUN crontab /castopod/crontab
|
||||
RUN crontab /castopod-host/crontab
|
||||
|
41
INSTALL.md
41
INSTALL.md
@ -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
|
||||
hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||
_Castopod Host_ was thought-out to be easy to install. Whether using dedicated
|
||||
or shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||
|
||||
## Table of contents <!-- omit in toc -->
|
||||
|
||||
@ -16,20 +16,21 @@ hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||
|
||||
## 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
|
||||
[Web Server Requirements](#web-server-requirements)).
|
||||
1. Download and unzip the Castopod package onto the web server if you haven’t
|
||||
already.
|
||||
1. Download and unzip the latest
|
||||
[Castopod Host Package](https://code.podlibre.org/podlibre/castopod-host/-/releases)
|
||||
onto the web server if you haven’t already.
|
||||
- ⚠️ Set the web server document root to the `public/` sub-folder.
|
||||
2. ⚠️ For broadcasting social activities to the fediverse, add a cron task on
|
||||
your web server to run every minute (replace the paths accordingly):
|
||||
2. For broadcasting social activities to the fediverse, add a cron task on your
|
||||
web server to run every minute (replace the paths accordingly):
|
||||
|
||||
```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.
|
||||
4. Follow the instructions on your screen.
|
||||
|
||||
@ -37,11 +38,11 @@ All done, start podcasting!
|
||||
|
||||
### (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
|
||||
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.
|
||||
|
||||
## Web Server Requirements
|
||||
@ -71,8 +72,8 @@ server administrator.
|
||||
|
||||
#### Privileges
|
||||
|
||||
User must have at least these privileges on the database for Castopod to work:
|
||||
`ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
|
||||
User must have at least these privileges on the database for Castopod Host to
|
||||
work: `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
|
||||
|
||||
### (Optional) Other recommendations
|
||||
|
||||
@ -82,12 +83,12 @@ User must have at least these privileges on the database for Castopod to work:
|
||||
|
||||
## 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).
|
||||
|
||||
To maximize your instance safety and prevent any malicious attack, we recommend
|
||||
you update all your Castopod files permissions (after installation to avoid any
|
||||
permission error):
|
||||
you update all your Castopod Host files permissions after installation (to avoid
|
||||
any permission error):
|
||||
|
||||
- `writable/` 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:
|
||||
|
||||
```bash
|
||||
sudo chown -R root:root /path/to/castopod
|
||||
sudo chown -R www-data:www-data /path/to/castopod/writable
|
||||
sudo chown -R www-data:www-data /path/to/castopod/public/media
|
||||
sudo chown -R root:root /path/to/castopod-host
|
||||
sudo chown -R www-data:www-data /path/to/castopod-host/writable
|
||||
sudo chown -R www-data:www-data /path/to/castopod-host/public/media
|
||||
```
|
||||
|
69
README.md
69
README.md
@ -1,37 +1,64 @@
|
||||
# 
|
||||
# 
|
||||
|
||||
Castopod is an open-source podcast hosting solution for everyone.\
|
||||
Whether you are a beginner, an amateur or a professional, you will get everything
|
||||
you need:\
|
||||
Create, upload, publish, and get comprehensive audience measurement that
|
||||
respects your listeners privacy.
|
||||
_Castopod Host_ is a free and open-source podcast hosting solution made for
|
||||
podcasters who want engage and interact with their audience.
|
||||
|
||||
Castopod is a free and open-source solution (AGPL v3).\
|
||||
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.
|
||||
Create, upload, publish, interact with your followers and get comprehensive
|
||||
audience measurements that respect your listeners privacy.
|
||||
|
||||

|
||||
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!
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||
Castopod can be hosted on any PHP/MySQL server:\
|
||||
Unzip it and you are ready to broadcast.
|
||||
|
||||
To install Castopod on your server:
|
||||
To install Castopod Host on your PHP/MySQL server:
|
||||
|
||||
- Download
|
||||
[Castopod latest Package (zip or tar.gz)](https://code.podlibre.org/podlibre/castopod/-/releases),
|
||||
- Follow the procedure “[How to install Castopod](./INSTALL.md)”.
|
||||
[Castopod Host's latest Package (zip or tar.gz)](https://code.podlibre.org/podlibre/castopod-host/-/releases),
|
||||
- Follow the procedure on “[How to install Castopod Host](./INSTALL.md)”.
|
||||
|
||||
## 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).
|
||||
|
||||
## 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
|
||||
|
||||
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
|
||||
[NGI0 Discovery](https://nlnet.nl/discovery/) Fund, a fund 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 under grant agreement No 825322.
|
||||
[NGI0 Discovery](https://nlnet.nl/discovery/) Fund under grant agreement
|
||||
Nº 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.
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "podlibre/castopod",
|
||||
"name": "podlibre/castopod-host",
|
||||
"version": "1.0.0-alpha53",
|
||||
"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",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"require": {
|
||||
@ -62,16 +62,15 @@
|
||||
]
|
||||
},
|
||||
"support": {
|
||||
"forum": "http://forum.codeigniter.com/",
|
||||
"source": "https://github.com/codeigniter4/CodeIgniter4",
|
||||
"slack": "https://codeigniterchat.slack.com"
|
||||
"source": "https://code.podlibre.org/podlibre/castopod-host.git",
|
||||
"discord": "https://castopod.org/discord"
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true,
|
||||
"repositories": [
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/codeigniter4/codeigniter4"
|
||||
"url": "https://code.podlibre.org/podlibre/castopod-host.git"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -8,13 +8,13 @@ services:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: "castopod_app"
|
||||
container_name: "castopod_host"
|
||||
command: >
|
||||
sh -c "cron && php spark serve --host 0.0.0.0"
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- .:/castopod
|
||||
- .:/castopod-host
|
||||
depends_on:
|
||||
- redis
|
||||
- mariadb
|
||||
|
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "castopod",
|
||||
"name": "castopod-host",
|
||||
"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,
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://code.podlibre.org/podlibre/castopod.git"
|
||||
"url": "https://code.podlibre.org/podlibre/castopod-host.git"
|
||||
},
|
||||
"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",
|
||||
|
@ -15,9 +15,9 @@ wget -c "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Cit
|
||||
# rename extracted archives' folders
|
||||
mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City
|
||||
|
||||
# create castopod folder bundle: uses .rsync-filter (-F) file to copy only needed files
|
||||
rsync -aF --progress . ./castopod
|
||||
# create castopo-host folder bundle: uses .rsync-filter (-F) file to copy only needed files
|
||||
rsync -aF --progress . ./castopod-host
|
||||
|
||||
# create zip and tar.gz packages for release upload
|
||||
zip -r castopod-$VERSION.zip castopod
|
||||
tar -zcvf castopod-$VERSION.tar.gz castopod
|
||||
zip -r castopod-host-$VERSION.zip castopod-host
|
||||
tar -zcvf castopod-host-$VERSION.tar.gz castopod-host
|
||||
|
Loading…
x
Reference in New Issue
Block a user