75 lines
1.8 KiB
YAML
75 lines
1.8 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}
|
|
|
|
# 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://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
|