version: '3' services: application: image: larueli/app networks: - traefik - default environment: APACHE_DOCUMENT_ROOT: /var/www/html/public TZ: Europe/Paris depends_on: database: condition: service_healthy labels: - "traefik.http.routers.app.rule=Host(`localhost`) && PathPrefix(`/api`)" - "traefik.http.services.app.loadbalancer.server.port=8080" - "traefik.http.routers.app.middlewares=app_strip" - "traefik.http.middlewares.app.stripprefix.prefixes=/api" - "traefik.http.middlewares.app.stripprefix.forceslash=false" - "traefik.docker.network=traefik" database: image: postgres:15.1 networks: - default environment: POSTGRES_DB: app POSTGRES_PASSWORD: app POSTGRES_USER: app healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 10s timeout: 5s retries: 5 volumes: - database-data:/var/lib/postgresql/data:rw # database: # image: "mariadb:10.11" # healthcheck: # test: ["CMD-SHELL", "mysql $$MARIADB_DATABASE -u$$MARIADB_USER -p$$MARIADB_PASSWORD -e 'SELECT 1;' || exit 1"] # interval: 5s # retries: 10 # networks: # - default # volumes: # - database-data:/var/lib/mysql # environment: # MARIADB_ROOT_PASSWORD: abcdef # MARIADB_DATABASE: etuutt # MARIADB_USER: etuutt # MARIADB_PASSWORD: abcdef volumes: database-data: