feedvault.se/docker-compose.yml
2024-02-19 06:32:06 +01:00

77 lines
1.9 KiB
YAML

services:
# Django - Web framework
feedvault: &feedvault
container_name: feedvault
image: ghcr.io/thelovinator1/feedvault:latest
user: "1000:1000"
restart: always
networks:
- feedvault_db
- feedvault_web
environment:
- SECRET_KEY=${SECRET_KEY}
- DEBUG=${DEBUG}
- ADMIN_EMAIL=${ADMIN_EMAIL}
- EMAIL_HOST_USER=${EMAIL_HOST_USER}
- EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD}
- POSTGRES_HOST=feedvault_postgres
- POSTGRES_PORT=5432
- POSTGRES_USER=feedvault
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}
volumes:
- /mnt/Fourteen/Docker/FeedVault/staticfiles:/app/staticfiles
# Nginx - Reverse proxy
web:
container_name: feedvault_web
image: lscr.io/linuxserver/nginx:latest
restart: always
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Stockholm
expose:
- 80
- 443
volumes:
- /mnt/Fourteen/Docker/FeedVault/Nginx:/config
networks:
- feedvault_web
- feedvault_tunnel
# Cloudflare Tunnel - Securely connect your server to Cloudflare
tunnel:
container_name: feedvault_tunnel
image: cloudflare/cloudflared:latest
command: tunnel --no-autoupdate run --token $TUNNEL_TOKEN
restart: always
networks:
- feedvault_tunnel
environment:
- TUNNEL_URL=http://feedvault_web:80
# Postgres - Database
postgres:
container_name: feedvault_postgres
image: postgres:16
user: "1000:1000"
ports:
- 5432:5432
restart: always
environment:
- POSTGRES_USER=feedvault
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=feedvault
volumes:
- /mnt/Fourteen/Docker/FeedVault/Postgres:/var/lib/postgresql/data
networks:
- feedvault_db
networks:
feedvault_tunnel:
driver: bridge
feedvault_db:
driver: bridge
feedvault_web:
driver: bridge