9a0479cb37
- 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.
69 lines
1.6 KiB
YAML
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:
|