57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
bdfr-web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: bdfr-web-interface
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
# Downloads directory - all Reddit content goes here
|
|
- ./downloads:/downloads
|
|
# Database persistence - SQLite databases, scheduled tasks, and BDFR config
|
|
- ./data:/app/data
|
|
environment:
|
|
# Reddit OAuth Configuration
|
|
# IMPORTANT: Set these in a .env file or directly here
|
|
- BDFR_CLIENT_ID=${BDFR_CLIENT_ID:-}
|
|
- BDFR_CLIENT_SECRET=${BDFR_CLIENT_SECRET:-}
|
|
- BDFR_REDIRECT_URI=${BDFR_REDIRECT_URI:-http://localhost:8000/auth/callback}
|
|
|
|
# Server Configuration
|
|
- HOST=${HOST:-0.0.0.0}
|
|
- PORT=${PORT:-8000}
|
|
- DEBUG=${DEBUG:-false}
|
|
|
|
# Download Configuration
|
|
- BDFR_DOWNLOAD_DIR=/downloads
|
|
- BDFR_DATA_DIR=/app/data
|
|
|
|
# BDFR Configuration - stored in mounted data directory
|
|
- BDFR_CONFIG_DIR=/app/data/bdfr-config
|
|
- APPDATA=/app/data/bdfr-config
|
|
- XDG_CONFIG_HOME=/app/data/bdfr-config
|
|
|
|
# Python Configuration
|
|
- PYTHONUNBUFFERED=1
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
networks:
|
|
- bdfr-network
|
|
|
|
networks:
|
|
bdfr-network:
|
|
driver: bridge
|
|
|
|
# Named volumes configuration (optional)
|
|
# Uncomment to use named volumes instead of bind mounts
|
|
# volumes:
|
|
# downloads:
|
|
# data: |