WeightTracker/docker-compose.yml

54 lines
2.0 KiB
YAML

version: '3.8'
services:
weight-tracker:
build:
context: .
dockerfile: Dockerfile
container_name: weight-tracker
restart: unless-stopped
ports:
- "8080:80"
volumes:
- weight-tracker-data:/data
networks:
- weight-tracker-network
environment:
# Authentication Configuration
- PASSWORD_HASH=${PASSWORD_HASH:-$2a$10$EgxHKjDDFcZKtQY9hl/N4.QvEQHCXVnQXw9dzFYlUDVKOcLMGp9eq}
- SESSION_SECRET=${SESSION_SECRET:-change-this-to-a-random-string}
- COOKIE_SECURE=${COOKIE_SECURE:-false}
# S3 Backup Configuration
- S3_ENDPOINT=${S3_ENDPOINT:-https://your-minio-server.example.com}
- S3_REGION=${S3_REGION:-us-east-1}
- S3_BUCKET=${S3_BUCKET:-weight-tracker-backups}
- S3_ACCESS_KEY=${S3_ACCESS_KEY:-your-access-key}
- S3_SECRET_KEY=${S3_SECRET_KEY:-your-secret-key}
- S3_USE_SSL=${S3_USE_SSL:-true}
- BACKUP_SCHEDULE=${BACKUP_SCHEDULE:-0 0 * * *}
- BACKUP_RETENTION=${BACKUP_RETENTION:-7}
labels:
- "coolify.volume.weight-tracker-data=/data"
# Coolify environment variable labels for authentication
- "coolify.env.PASSWORD_HASH=Bcrypt hash of your password"
- "coolify.env.SESSION_SECRET=Secret for session encryption (random string)"
- "coolify.env.COOKIE_SECURE=Set to true if using HTTPS (default: false)"
# Coolify environment variable labels for S3 backup
- "coolify.env.S3_ENDPOINT=S3 endpoint URL (e.g., https://minio.example.com)"
- "coolify.env.S3_REGION=S3 region (e.g., us-east-1)"
- "coolify.env.S3_BUCKET=S3 bucket name for backups"
- "coolify.env.S3_ACCESS_KEY=S3 access key"
- "coolify.env.S3_SECRET_KEY=S3 secret key"
- "coolify.env.BACKUP_SCHEDULE=Cron schedule for backups (default: 0 0 * * *)"
- "coolify.env.BACKUP_RETENTION=Number of backups to retain (default: 7)"
networks:
weight-tracker-network:
driver: bridge
volumes:
weight-tracker-data:
driver: local
name: coolify-weight-tracker-data # Named volume for Coolify to identify