Mirror live compose for castopod and prime (qBittorrent password redacted). Update firewalld list-all with 9200/tcp. Mark Caddyfile.taler-host as legacy; short READMEs for new trees.
79 lines
2 KiB
YAML
79 lines
2 KiB
YAML
# koopa-castopod — Castopod behind host Caddy on :9020
|
|
# Docs: https://docs.castopod.org/main/en/getting-started/docker/
|
|
services:
|
|
castopod:
|
|
image: docker.io/castopod/castopod:1
|
|
container_name: koopa-castopod
|
|
volumes:
|
|
- castopod-media:/app/public/media
|
|
environment:
|
|
MYSQL_DATABASE: castopod
|
|
MYSQL_USER: castopod
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
CP_BASEURL: ${CP_BASEURL}
|
|
CP_ANALYTICS_SALT: ${CP_ANALYTICS_SALT}
|
|
CP_CACHE_HANDLER: redis
|
|
CP_REDIS_HOST: redis
|
|
CP_REDIS_PASSWORD: ${MYSQL_PASSWORD}
|
|
networks:
|
|
- castopod-app
|
|
- castopod-db
|
|
ports:
|
|
- "9020:8080"
|
|
labels:
|
|
org.hacktivism.service: castopod
|
|
org.hacktivism.host_port: "9020"
|
|
org.hacktivism.site: castopod.hacktivism.ch
|
|
org.hacktivism.managed_by: koopa-admin
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
depends_on:
|
|
mariadb:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
|
|
mariadb:
|
|
image: docker.io/library/mariadb:11
|
|
container_name: koopa-castopod-mariadb
|
|
networks:
|
|
- castopod-db
|
|
volumes:
|
|
- castopod-db:/var/lib/mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: castopod
|
|
MYSQL_USER: castopod
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
start_period: 20s
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
redis:
|
|
image: docker.io/library/redis:7-alpine
|
|
container_name: koopa-castopod-redis
|
|
command: --requirepass ${MYSQL_PASSWORD}
|
|
volumes:
|
|
- castopod-cache:/data
|
|
networks:
|
|
- castopod-app
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
castopod-media:
|
|
castopod-db:
|
|
castopod-cache:
|
|
|
|
networks:
|
|
castopod-app:
|
|
castopod-db:
|
|
internal: true
|