feat: Docker-Compose Production Deployment
Is your feature request related to a problem? Please describe
Currently there is not a documented way of using the production docker images that are available on hub.docker.com
Describe the solution you'd like
I recommend an update be made to the https://docs.castopod.org/ page to document how to use these images. Currently, I've put together a docker-compose.yml
file that could be used in the guide.
version: "3.7"
services:
app:
image: castopod/app:develop
container_name: "castopod-application"
volumes:
- castopod-media:/opt/castopod/public/media
environment:
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: changeme
CP_ANALYTICS_SALT: changeme
CP_BASEURL: "http://castopod.example.com"
networks:
- castopod-app
- castopod-db
restart: unless-stopped
web:
image: castopod/web-server:develop
container_name: "castopod-web"
volumes:
- castopod-media:/var/www/html/media:ro
networks:
- castopod-app
ports:
- 8080:80
restart: unless-stopped
mariadb:
image: mariadb:10.5
container_name: "castopod-database"
networks:
- castopod-db
volumes:
- castopod-db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: changeme
restart: unless-stopped
volumes:
castopod-media:
name: "castopod-media"
castopod-db:
name: "castopod-db"
networks:
castopod-app:
name: "castopod"
castopod-db:
name: "castopod-db"
After the user sets up their reverse proxy of choice which handles https certs, the user would then deploy the dockerized version of castopod using docker compose -f docker-compose.yml up -d
Example reverse proxy entry for caddy:
castopod.example.com {
reverse_proxy localhost:8080
}
Describe alternatives you've considered
I've been able to build the docker images directly from the source code, however the recommended solution would make things easier for broader adoption.
Additional context
N/A.