laravel-starter/docker-compose.prod.yml

58 lines
1.3 KiB
YAML

services:
chassepeche-api:
image: "${CI_REGISTRY_IMAGE}:latest"
restart: unless-stopped
depends_on:
- pgsql
ports:
- "8002:80"
environment:
APP_ENV: "local"
APP_KEY: "${APP_KEY}"
APP_URL: "${APP_URL}"
APP_DEBUG: "true"
FILESYSTEM_DISK: "public"
DB_CONNECTION: "pgsql"
DB_HOST: "pgsql"
DB_PORT: 5432
DB_DATABASE: "${DB_DATABASE}"
DB_USERNAME: "${DB_USERNAME}"
DB_PASSWORD: "${DB_PASSWORD}"
volumes:
- storage-data:/var/www/html/storage/app
- storage-public-data:/var/www/html/storage/app/public
pgsql:
image: postgres:18-alpine
restart: unless-stopped
environment:
POSTGRES_DB: "${DB_DATABASE}"
POSTGRES_USER: "${DB_USERNAME}"
POSTGRES_PASSWORD: "${DB_PASSWORD}"
volumes:
- pgsql-data:/var/lib/postgresql
ports:
- "5428:5432"
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U ${DB_USERNAME} -d ${DB_DATABASE}" ]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
adminer:
image: adminer:latest
restart: unless-stopped
ports:
- "8083:8080" # Accès via http://localhost:8080
depends_on:
- pgsql
volumes:
pgsql-data:
external: true
name: todo_pgsql_data
storage-data:
storage-public-data:
name: todo_storage_public_data