Files
raceplaner/docker-compose.yml

40 lines
1.2 KiB
YAML

version: '3.3'
services:
# Das Backend mit der Flask-App
flask_app:
build: .
container_name: raceplanner_backend
image: raceplaner:latest # Sorgt für eine saubere Anzeige in der Prozessliste
restart: always
volumes:
- ./app:/app
- ./data:/app/data
environment:
- SECRET_KEY=renn-strategie-2026-sicher
- DATABASE_URL=sqlite:////app/data/raceplanner.db
- PYTHONUNBUFFERED=1
# Der Nginx-Proxy für den externen Zugriff
nginx:
image: nginx:latest
container_name: raceplanner_proxy
restart: always
ports:
- "6060:443" # Externer Zugriff über Port 6060
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ./certs:/etc/nginx/certs
# Automatisches Erstellen von Self-Signed Zertifikaten, falls keine vorhanden sind
command: >
/bin/bash -c "
mkdir -p /etc/nginx/certs &&
if [ ! -f /etc/nginx/certs/fullchain.pem ]; then
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/nginx/certs/privkey.pem \
-out /etc/nginx/certs/fullchain.pem \
-subj '/C=DE/ST=Berlin/L=Berlin/O=RaceTeam/CN=localhost';
fi &&
nginx -g 'daemon off;'"
depends_on:
- flask_app