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: # Data file location - make sure this is correct - DATA_DIR=/data # Authentication Configuration - PASSWORD_HASH=${PASSWORD_HASH:-$2a$10$EgxHKjDDFcZKtQY9hl/N4.QvEQHCXVnQXw9dzFYlUDVKOcLMGp9eq} - AUTH_USERNAME=${AUTH_USERNAME:-user} - AUTH_PASSWORD=${AUTH_PASSWORD:-password} - 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