Files
nextsnap/docker-compose.yml
kamaji 99fb5ff7e7 Add dual user classes: admin + tech users with PIN login
- Add tech user management (JSON-backed CRUD with PIN auth)
- Dual login: tabbed Tech Login (username+PIN) / Admin Login (NC credentials)
- Admin panel: tappable user list with detail modal (enable/disable, reset PIN, reset NC password, delete)
- Auto-provision Nextcloud accounts for tech users
- Admin guard: tech users redirected away from admin panel
- New data volume for persistent tech_users.json storage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 00:17:26 -06:00

43 lines
897 B
YAML

version: '3.8'
services:
nextsnap:
build:
context: .
dockerfile: Dockerfile
container_name: nextsnap
ports:
- "${PORT:-8000}:8000"
environment:
- FLASK_ENV=production
- SECRET_KEY=${SECRET_KEY:?SECRET_KEY must be set}
- NEXTCLOUD_URL=${NEXTCLOUD_URL:?NEXTCLOUD_URL must be set}
- TZ=${TZ:-UTC}
volumes:
- flask_sessions:/tmp/flask_session
- app_data:/app/data
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
- nextsnap-network
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
flask_sessions:
driver: local
app_data:
driver: local
networks:
nextsnap-network:
driver: bridge