Files
gh-christianlouis-leagueledger/docker-compose.yml
T
Christian Krakau-Louis 9a0479cb37 Refactor authentication and session management
- Updated Dockerfile to use Python 3.13 and streamline system dependencies installation.
- Enhanced user session handling in auth.py, introducing a centralized method for retrieving the current user from the session.
- Removed deprecated auth routes and consolidated logic for user authentication and profile management.
- Improved error handling and user feedback in redeem.py and teams.py, ensuring users are redirected to login when not authenticated.
- Updated requirements.txt to include necessary packages for enhanced security and functionality.
- Added phpMyAdmin service to docker-compose for easier database management.
2025-04-13 19:26:26 +02:00

69 lines
1.6 KiB
YAML

version: "3.9"
services:
db:
image: mysql:8.0
container_name: pubquiz_mysql
restart: always
environment:
MYSQL_DATABASE: "pubquiz_db"
MYSQL_USER: "pubquiz_user"
MYSQL_PASSWORD: "pubquiz_pass"
MYSQL_ROOT_PASSWORD: "root_pass"
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql:delegated
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]
interval: 5s
timeout: 5s
retries: 20
app:
build: .
container_name: pubquiz_app
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
DB_HOST: "db"
DB_PORT: "3306"
DB_NAME: "pubquiz_db"
DB_USER: "pubquiz_user"
DB_PASS: "pubquiz_pass"
# Session configuration
SECRET_KEY: "a-stronger-secret-key-for-sessions-32chars"
DEBUG: "True"
SESSION_MAX_AGE: "86400" # 24 hours
COOKIE_SECURE: "False" # Set to True in production with HTTPS
# Add better error logging
PYTHONUNBUFFERED: "1"
# Add dependency installation command
command: >
bash -c "pip install pymysql && uvicorn app.main:app --host 0.0.0.0 --reload"
ports:
- "8000:8000"
volumes:
- ./:/app:delegated
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: pubquiz_phpmyadmin
restart: unless-stopped
depends_on:
- db
environment:
PMA_HOST: db
PMA_PORT: 3306
PMA_USER: pubquiz_user
PMA_PASSWORD: pubquiz_pass
ports:
- "8001:80"
volumes:
db_data: