feat(olhar): compose unifié db + api + pwa, suppression olhar-api
- olhar/docker-compose.yml : fusion des services db (postgres:16) + api (olhar-api:latest) + pwa (olhar-pwa:latest) dans un seul stack - olhar/.env.example : POSTGRES_PASSWORD + JWT_SECRET - olhar-api/ : dossier supprimé (contenu intégré dans olhar/) - Données migrées vers ~/Applications/data/olhar/ (au lieu de olhar-api/) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,17 +1,62 @@
|
||||
name: olhar
|
||||
|
||||
services:
|
||||
oalhar:
|
||||
image: git.goutailler-olivier.com/gato/olhar-pwa:latest
|
||||
container_name: olhar
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
container_name: olhar-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: olhar
|
||||
POSTGRES_USER: olhar
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
TZ: Europe/Paris
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U olhar -d olhar"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
volumes:
|
||||
- ~/Applications/data/olhar/db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- olhar-net
|
||||
|
||||
api:
|
||||
image: git.goutailler-olivier.com/gato/olhar-api:latest
|
||||
container_name: olhar-api
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
DATASOURCE_URL: jdbc:postgresql://db:5432/olhar
|
||||
DATASOURCE_USERNAME: olhar
|
||||
DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
JWT_SECRET: ${JWT_SECRET}
|
||||
CORS_ALLOWED_ORIGIN_PROD: https://olhar.goutailler-olivier.com
|
||||
PHOTOS_STORAGE_PATH: /app/uploads
|
||||
TZ: Europe/Paris
|
||||
volumes:
|
||||
- ~/Applications/data/olhar/uploads:/app/uploads
|
||||
networks:
|
||||
- olhar-net
|
||||
- proxy
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.olhar-api.rule=Host(`olhar.goutailler-olivier.com`) && PathPrefix(`/api`)
|
||||
- traefik.http.routers.olhar-api.entrypoints=websecure
|
||||
- traefik.http.routers.olhar-api.tls.certresolver=le
|
||||
- traefik.http.services.olhar-api.loadbalancer.server.port=8080
|
||||
- traefik.docker.network=proxy
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
pwa:
|
||||
image: git.goutailler-olivier.com/gato/olhar-pwa:latest
|
||||
container_name: olhar-pwa
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: Europe/Paris
|
||||
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.olhar.rule=Host(`olhar.goutailler-olivier.com`)
|
||||
@@ -22,6 +67,8 @@ services:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
networks:
|
||||
olhar-net:
|
||||
driver: bridge
|
||||
proxy:
|
||||
external: true
|
||||
name: proxy
|
||||
|
||||
Reference in New Issue
Block a user