Files
zpan/deploy/docker-compose.rustfs.yml
T

65 lines
1.7 KiB
YAML

# ZPan + RustFS (S3-compatible storage)
# Usage: docker compose -f deploy/docker-compose.rustfs.yml up -d
#
# RustFS console: http://localhost:9001 (admin / admin123)
# After startup, create a bucket in the RustFS console,
# then configure the storage provider in ZPan's admin panel.
services:
zpan:
image: ghcr.io/saltbo/zpan:latest
ports:
- "8222:8222"
environment:
- PORT=8222
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET:-}
- BETTER_AUTH_URL=${BETTER_AUTH_URL:-http://localhost:8222}
- DATABASE_URL=/data/zpan.db
volumes:
- zpan-data:/data
depends_on:
rustfs:
condition: service_started
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:8222/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
interval: 5s
timeout: 3s
retries: 12
start_period: 10s
restart: unless-stopped
downloader:
image: ghcr.io/saltbo/zpan:latest-cli
command: ["downloader", "up"]
environment:
- ZPAN_SERVER_URL=http://zpan:8222
- ZPAN_DOWNLOADER_DOWNLOAD_DIR=/downloads
volumes:
- zpan-config:/home/zpan/.config/zpan
- zpan-downloader-state:/home/zpan/.local/state/zpan/downloader
- zpan-downloads:/downloads
depends_on:
zpan:
condition: service_healthy
restart: unless-stopped
rustfs:
image: rustfs/rustfs:latest
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
environment:
- RUSTFS_ROOT_USER=admin
- RUSTFS_ROOT_PASSWORD=admin123
volumes:
- rustfs-data:/data
restart: unless-stopped
volumes:
zpan-data:
zpan-config:
zpan-downloader-state:
zpan-downloads:
rustfs-data: