Newer
Older
x-cache-from:
- &api-cache-from
cache_from:
- ${NGINX_IMAGE:-quay.io/api-platform/nginx}
- ${PHP_IMAGE:-quay.io/api-platform/php}
<<: *api-cache-from
image: ${PHP_IMAGE:-quay.io/api-platform/php}
depends_on:
- db
volumes:
- ./api:/srv/api:rw,cached
# if you develop on Linux, you may use a bind-mounted host directory instead
<<: *api-cache-from
image: ${NGINX_IMAGE:-quay.io/api-platform/nginx}
depends_on:
- php
volumes:
- ./api/public:/srv/api/public:ro
ports:
- target: 80
published: 8080
protocol: tcp
environment:
- POSTGRES_DB=api
- POSTGRES_PASSWORD=!ChangeMe!
- POSTGRES_USER=api-platform
volumes:
- db-data:/var/lib/postgresql/data:rw
# you may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
# - ./api/docker/db/data:/var/lib/postgresql/data:rw
- target: 5432
published: 5432
protocol: tcp
mercure:
image: dunglas/mercure
environment:
- ALLOW_ANONYMOUS=1
- CORS_ALLOWED_ORIGINS=*
- DEMO=1
- JWT_KEY=!ChangeMe!
- PUBLISH_ALLOWED_ORIGINS=http://localhost:1337,https://localhost:1338 # required for publishing from demo page
- target: 80
published: 1337
protocol: tcp
client:
build:
context: ./client
target: api_platform_client_development
- ${CLIENT_IMAGE:-quay.io/api-platform/client}
image: ${CLIENT_IMAGE:-quay.io/api-platform/client}
environment:
- API_PLATFORM_CLIENT_GENERATOR_ENTRYPOINT=http://api
- API_PLATFORM_CLIENT_GENERATOR_OUTPUT=src
volumes:
- ./client:/usr/src/client:rw,cached
ports:
- target: 3000
published: 80
protocol: tcp
admin:
build:
context: ./admin
target: api_platform_admin_development
- ${ADMIN_IMAGE:-quay.io/api-platform/admin}
image: ${ADMIN_IMAGE:-quay.io/api-platform/admin}
volumes:
- ./admin:/usr/src/admin:rw,cached
ports:
- target: 3000
published: 81
protocol: tcp
# do not use in production!
build:
context: ./h2-proxy
depends_on:
- client
- admin
- api
ports:
- target: 443
published: 443
protocol: tcp
- target: 444
published: 444
protocol: tcp
- target: 8443
published: 8443
protocol: tcp