Files
minio-webui/docker-compose.prod.yml
Paul Nothaft 6beb4ae03c
continuous-integration/drone/push Build is passing
fix: Improve auth debugging and temp directory handling
- Add detailed logging for password verification to diagnose auth issues
- Validate bcrypt hash format before attempting comparison
- Use /tmp/minio-webui-temp as default temp directory (Docker-prepared)
- Add comment about escaping $ in bcrypt hashes for docker-compose
2026-01-05 09:32:12 +01:00

79 lines
2.7 KiB
YAML

version: '3.9'
services:
# Redis for session management
redis:
image: redis:7-alpine
command: redis-server --appendonly yes
volumes:
- /mnt/DockerMount/minio-webui/redis:/data
networks:
- minio-webui-network
deploy:
restart_policy:
condition: any
# Combined app (backend + frontend)
app:
image: registry.local.nothaft.cloud/minio-webui:latest
environment:
- NODE_ENV=production
- PORT=3000
- JWT_SECRET=${JWT_SECRET}
# IMPORTANT: bcrypt hashes contain $ characters. In your .env file,
# escape each $ as $$ (e.g., $$2b$$12$$... instead of $2b$12$...)
- ADMIN_PASSWORD_HASH=${ADMIN_PASSWORD_HASH}
- SESSION_TIMEOUT=${SESSION_TIMEOUT:-3600}
# Set to 'debug' for troubleshooting authentication issues
- LOG_LEVEL=${LOG_LEVEL:-info}
- REDIS_HOST=redis
- REDIS_PORT=6379
# Optional: Default MinIO connection (can also be added via UI)
- DEFAULT_MINIO_ALIAS=${DEFAULT_MINIO_ALIAS:-}
- MINIO_ENDPOINT=${MINIO_ENDPOINT:-}
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-}
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY:-}
# Optional: IP restriction
- ENABLE_IP_RESTRICTION=${ENABLE_IP_RESTRICTION:-false}
- ALLOWED_IPS=${ALLOWED_IPS:-}
# Optional: Email reports
- SMTP_HOST=${SMTP_HOST:-}
- SMTP_PORT=${SMTP_PORT:-587}
- SMTP_SECURE=${SMTP_SECURE:-false}
- SMTP_USER=${SMTP_USER:-}
- SMTP_PASS=${SMTP_PASS:-}
- REPORT_SENDER=${REPORT_SENDER:-}
- REPORT_RECIPIENT=${REPORT_RECIPIENT:-}
- REPORT_SCHEDULE=${REPORT_SCHEDULE:-0 0 * * 1}
# CORS configuration
- CORS_ORIGINS=${CORS_ORIGINS:-https://minio-webui.local.nothaft.cloud}
volumes:
- /mnt/DockerMount/minio-webui/logs:/app/logs
- /mnt/DockerMount/minio-webui/mc-config:/home/nodejs/.mc
depends_on:
- redis
deploy:
restart_policy:
condition: any
labels:
- "traefik.enable=true"
- "traefik.http.routers.minio-webui.rule=Host(`minio-webui.local.nothaft.cloud`)"
- "traefik.http.routers.minio-webui.entrypoints=https"
- "traefik.http.routers.minio-webui.tls.certresolver=dns"
- "traefik.http.services.minio-webui.loadbalancer.server.port=8080"
- "traefik.docker.network=proxy"
# Homepage integration
- "homepage.group=Infrastructure"
- "homepage.name=MinIO WebUI"
- "homepage.icon=mdi-database"
- "homepage.href=https://minio-webui.local.nothaft.cloud/"
- "homepage.description=MinIO Storage Manager"
networks:
- minio-webui-network
- proxy
networks:
proxy:
external: true
minio-webui-network: