54 lines
2.0 KiB
YAML
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
|