docker-vm-compose/planka/compose.yml

66 lines
1.9 KiB
YAML

services:
planka:
image: ghcr.io/plankanban/planka:latest
container_name: planka-planka
restart: on-failure
volumes:
- user-avatars:/app/public/user-avatars
- project-background-images:/app/public/project-background-images
- attachments:/app/private/attachments
ports:
- 9631:1337
env_file:
- .env
environment:
- BASE_URL=${BASE_URL}
- DATABASE_URL=postgresql://postgres@postgres/planka
- SECRET_KEY=${SECRET_KEY}
# - TRUST_PROXY=0
# - TOKEN_EXPIRES_IN=365 # In days
# related: https://github.com/knex/knex/issues/2354
# As knex does not pass query parameters from the connection string we
# have to use environment variables in order to pass the desired values, e.g.
# - PGSSLMODE=<value>
# Configure knex to accept SSL certificates
# - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false
- DEFAULT_ADMIN_EMAIL=${DEFAULT_ADMIN_EMAIL} # Do not remove if you want to prevent this user from being edited/deleted
- DEFAULT_ADMIN_PASSWORD=${DEFAULT_ADMIN_PASSWORD}
- DEFAULT_ADMIN_NAME=${DEFAULT_ADMIN_NAME}
- DEFAULT_ADMIN_USERNAME=${DEFAULT_ADMIN_USERNAME}
# - ALLOW_ALL_TO_CREATE_PROJECTS=true
# - OIDC_ISSUER=on-failure, "cardUpdate", "cardDelete"],
# "excludedEvents": ["notificationCreate", "notificationUpdate"]
# }]
# - SLACK_BOT_TOKEN=
# - SLACK_CHANNEL_ID=
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:14-alpine
container_name: planka-postgres
restart: on-failure
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=planka
- POSTGRES_HOST_AUTH_METHOD=trust
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
interval: 10s
timeout: 5s
retries: 5
volumes:
user-avatars:
project-background-images:
attachments:
db-data: