Files
justvitamin/docker-compose.yml
Omair Saleh 21f67d39c7 feat: add simple password auth gate
- Flask session-based login with styled dark-theme login page
- All routes gated behind password (configurable via SITE_PASSWORD env)
- /login and /api/health are public
- Wrong password shows red error, correct redirects to original page
- 30-day session persistence
- /logout to clear session
- Password: jv2026 (set in docker-compose.yml)
2026-03-02 23:04:22 +08:00

57 lines
1.3 KiB
YAML

version: "3.8"
services:
justvitamin:
image: justvitamin:latest
build: .
environment:
- GEMINI_API_KEY=AIzaSyCHnesXLjPw-UgeZaQotut66bgjFdvy12E
- DATABASE_URL=postgresql://jv:jvpass@tasks.db:5432/justvitamin
- SECRET_KEY=c4f8a2e91b0d7f3e5a6c9d2b8e1f4a7d
- SITE_PASSWORD=jv2026
volumes:
- jv-generated:/app/generated
networks:
- dokploy-network
- jv-internal
depends_on:
- db
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.justvitamin.rule=Host(`justvitamin.quikcue.com`)"
- "traefik.http.routers.justvitamin.entrypoints=websecure"
- "traefik.http.routers.justvitamin.tls.certResolver=letsencrypt"
- "traefik.http.services.justvitamin.loadbalancer.server.port=5050"
replicas: 1
restart_policy:
condition: on-failure
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=jv
- POSTGRES_PASSWORD=jvpass
- POSTGRES_DB=justvitamin
volumes:
- jv-pgdata:/var/lib/postgresql/data
networks:
- jv-internal
deploy:
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
memory: 512M
volumes:
jv-generated:
jv-pgdata:
networks:
dokploy-network:
external: true
jv-internal:
driver: overlay