mirror of https://github.com/Nezreka/SoulSync.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.2 KiB
70 lines
2.2 KiB
version: '3.8'
|
|
|
|
services:
|
|
soulsync:
|
|
image: boulderbadgedad/soulsync:latest
|
|
container_name: soulsync-webui
|
|
environment:
|
|
# User/Group ID configuration
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- UMASK=022
|
|
# Web server configuration
|
|
- FLASK_ENV=production
|
|
- PYTHONPATH=/app
|
|
# Optional: Configure through environment variables
|
|
- SOULSYNC_CONFIG_PATH=/app/config/config.json
|
|
# Set timezone
|
|
- TZ=America/New_York
|
|
ports:
|
|
- "8008:8008" # Main web app
|
|
- "8888:8888" # Spotify OAuth callback
|
|
- "8889:8889" # Tidal OAuth callback
|
|
volumes:
|
|
# Persistent data volumes
|
|
- ./config:/app/config
|
|
- ./logs:/app/logs
|
|
- ./downloads:/app/downloads
|
|
# Use named volume for database persistence (separate from host database)
|
|
- soulsync_database:/app/database
|
|
# IMPORTANT: Mount the drives containing your download and transfer folders
|
|
# If your download/transfer paths are on E: drive, mount E: drive:
|
|
- /mnt/e:/host/mnt/e:rw
|
|
# Mount H: drive for transfer folder
|
|
- /mnt/h:/host/mnt/h:rw
|
|
# If your download/transfer paths are on C: drive, uncomment this line:
|
|
# - /mnt/c:/host/mnt/c:rw
|
|
# If your download/transfer paths are on D: drive, uncomment this line:
|
|
# - /mnt/d:/host/mnt/d:rw
|
|
# Add additional drive mounts as needed for your specific setup
|
|
# Optional: Mount your music library for Plex/Jellyfin access
|
|
- /path/to/your/music:/music:ro
|
|
extra_hosts:
|
|
# Allow container to reach host services
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8888/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
# Resource limits (adjust as needed)
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '2.0'
|
|
memory: 2G
|
|
reservations:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
|
|
# Named volumes for persistent data
|
|
volumes:
|
|
soulsync_database:
|
|
driver: local
|
|
|
|
# Optional: Add external network for communication with other containers
|
|
networks:
|
|
default:
|
|
name: soulsync-network |