Phase 0 : scaffolding complet
- Structure monorepo (backend Symfony, frontend React/Vite) - Docker : FrankenPHP + PostgreSQL/PostGIS + Redis + Traefik labels - Caddyfile, Dockerfile, .env.example, .gitignore - MapLibre GL JS + react-map-gl installés - Roadmap mise à jour Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
52
docker-compose.yml
Normal file
52
docker-compose.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
services:
|
||||
php:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/php/Dockerfile
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
- ./frontend/dist:/app/public/spa
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
networks:
|
||||
- internal
|
||||
- traefik
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.sargasses.rule=Host(`radarsargasses971.com`)"
|
||||
- "traefik.http.routers.sargasses.entrypoints=websecure"
|
||||
- "traefik.http.routers.sargasses.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.sargasses.loadbalancer.server.port=80"
|
||||
- "traefik.docker.network=traefik"
|
||||
|
||||
db:
|
||||
image: postgis/postgis:16-3.4
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB:-sargasses}
|
||||
POSTGRES_USER: ${POSTGRES_USER:-app}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- internal
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
db_data:
|
||||
redis_data:
|
||||
|
||||
networks:
|
||||
internal:
|
||||
traefik:
|
||||
external: true
|
||||
name: traefik # à ajuster si ton réseau Traefik a un nom différent
|
||||
Reference in New Issue
Block a user