Compose-Examples/examples/koillection/docker-compose.yml

66 lines
2.3 KiB
YAML

services:
db:
image: postgres:16-alpine
container_name: koillection-db
hostname: koillection-db
restart: unless-stopped
expose:
- 5432
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/koillection/database:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${DB_NAME:-koillection}
- POSTGRES_USER=${DB_USER:-koillection}
- POSTGRES_PASSWORD=${DB_PASSWORD:-koillection}
#networks:
# - proxy
koillection:
image: koillection/koillection:latest
container_name: koillection
hostname: koillection
depends_on:
- db
restart: unless-stopped
ports:
- 8888:80/tcp
expose:
- 80
environment:
- APP_DEBUG=${APP_DEBUG:-0}
- APP_ENV=${APP_ENV:-prod}
- HTTPS_ENABLED=${HTTPS_ENABLED:-0}
- UPLOAD_MAX_FILESIZE=${UPLOAD_MAX_FILESIZE:-20M}
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
- PHP_TZ=${PHP_TZ:-Europe/Berlin}
- CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
- JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
- JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
- DB_DRIVER=${DB_DRIVER:-pdo_pgsql}
- DB_HOST=${DB_HOST:-db}
- DB_NAME=${DB_NAME:-koillection}
- DB_USER=${DB_USER:-koillection}
- DB_PASSWORD=${DB_PASSWORD:-koillection}
- DB_PORT=${DB_PORT:-5432}
- DB_VERSION=${DB_VERSION:-16}
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/koillection/uploads:/uploads
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.koillection.rule=Host(`collection.example.com`)
# - traefik.http.services.koillection.loadbalancer.server.port=80
# # Optional part for file upload max sizes
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
# # Optional part for traefik middlewares
# - traefik.http.routers.koillection.middlewares=local-ipwhitelist@file,authelia@docker
#networks:
# proxy:
# external: true