Add HAL module structure for deployment as CDN service
Enables deploying f1-circuits as a HAL module on ace behind Traefik, serving track SVGs at f1-circuits.zurag.be.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
FROM python:3.12-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN pip install --no-cache-dir fastapi uvicorn fastf1 python-slugify
|
||||
|
||||
COPY cdn-api.py circuits_service.py ergast_service.py ./
|
||||
COPY models/ ./models/
|
||||
COPY circuits/ ./circuits/
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
CMD ["uvicorn", "cdn-api:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
@@ -0,0 +1,20 @@
|
||||
services:
|
||||
f1-circuits:
|
||||
image: registry-api.novox.be/novox/f1-circuits:latest
|
||||
container_name: f1-circuits
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./cache:/app/cache
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.f1-circuits.rule: "Host(`f1-circuits.${DOMAIN:-localhost}`)"
|
||||
traefik.http.routers.f1-circuits.entrypoints: websecure
|
||||
traefik.http.routers.f1-circuits.tls.certresolver: le
|
||||
traefik.http.services.f1-circuits.loadbalancer.server.port: "8000"
|
||||
# CDN cache headers are set by the app itself
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
Reference in New Issue
Block a user