diff --git a/planka/docker-compose.yml b/planka/docker-compose.yml new file mode 100644 index 0000000..416557f --- /dev/null +++ b/planka/docker-compose.yml @@ -0,0 +1,129 @@ +services: + planka: + image: ghcr.io/plankanban/planka:2.0.0-rc.4 + command: > + bash -c + "for i in `seq 1 30`; do + ./start.sh && + s=$$? && break || s=$$?; + echo \"Tried $$i times. Waiting 5 seconds...\"; + sleep 5; + done; (exit $$s)" + restart: on-failure + volumes: + - favicons:/app/public/favicons + - user-avatars:/app/public/user-avatars + - background-images:/app/public/background-images + - attachments:/app/private/attachments + ports: + - 3020:1337 + environment: + - BASE_URL=https://task.scheidel.biz + - TRUST_PROXY=true + - DATABASE_URL=postgresql://postgres@postgres/planka + - SECRET_KEY=4ce1fa1037ec2746fe465b5b8407ffc8093ff12291396553be802293b03ad4333524a837a6eea84a9036ee16613fe7687ec1f5f91ab88a77250c08f11e244abc + - SMTP_HOST=smtp.strato.de + - SMTP_USER=michael.scheidel@scheidel.biz + - SMTP_PASSWORD=?EAM?Yes!01 + - SMTP_PORT=587 + - SMTP_SECURE=587 + - SMTP_FROM="Planka Board Familie Scheidel" + - OIDC_ISSUER=https://authentik.scheidel.biz/application/o/planka2/ + - OIDC_CLIENT_ID=2esA2ZLGAqVZnW1gnORuTnOzzzHgTlTwpd0KGvVm + - OIDC_CLIENT_SECRET=X57eWHXrKnlTA6tXG4figS9KyHHwEZIHAHmqaAYFptYp07MC7NoeuK0MHrWeQxQ3mxdE0VyCYiULBTf2hPOMUSg3JVY1vGLDUxPrhzZ9Lh1CTqHwob6kGYJGpXxG8qHa + - OIDC_SCOPES=openid profile email + #- OIDC_ADMIN_ROLES=planka-admin + - OIDC_IGNORE_ROLES=true + - OIDC_ENFORCED=true + + - LOG_LEVEL=warn + + # - 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= + + # Configure knex to accept SSL certificates + # - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false + + + - DEFAULT_LANGUAGE=de-DE + + # - DEFAULT_ADMIN_EMAIL=demo@demo.demo # Do not remove if you want to prevent this user from being edited/deleted + # - DEFAULT_ADMIN_PASSWORD=demo + # - DEFAULT_ADMIN_NAME=Demo Demo + # - DEFAULT_ADMIN_USERNAME=demo + + # - ACTIVE_USERS_LIMIT= + # - SHOW_DETAILED_AUTH_ERRORS=false # Set to true to show more detailed authentication error messages. It should not be enabled without a rate limiter for security reasons. + + # - S3_ENDPOINT= + # - S3_REGION= + # - S3_ACCESS_KEY_ID= + # - S3_SECRET_ACCESS_KEY= + # - S3_BUCKET= + # - S3_FORCE_PATH_STYLE=true + + # - OIDC_ISSUER= + # - OIDC_CLIENT_ID= + # - OIDC_CLIENT_SECRET= + # - OIDC_ID_TOKEN_SIGNED_RESPONSE_ALG= + # - OIDC_USERINFO_SIGNED_RESPONSE_ALG= + # - OIDC_SCOPES=openid email profile + # - OIDC_RESPONSE_MODE=fragment + # - OIDC_USE_DEFAULT_RESPONSE_MODE=true + # - OIDC_ADMIN_ROLES=admin + # - OIDC_CLAIMS_SOURCE=userinfo + # - OIDC_EMAIL_ATTRIBUTE=email + # - OIDC_NAME_ATTRIBUTE=name + # - OIDC_USERNAME_ATTRIBUTE=preferred_username + # - OIDC_ROLES_ATTRIBUTE=groups + # - OIDC_IGNORE_USERNAME=true + # - OIDC_IGNORE_ROLES=true + # - OIDC_ENFORCED=true + + # Email Notifications (https://nodemailer.com/smtp/) + # - SMTP_HOST= + # - SMTP_PORT=587 + # - SMTP_NAME= + # - SMTP_SECURE=true + # - SMTP_USER= + # - SMTP_PASSWORD= + # - SMTP_FROM="Demo Demo" + # - SMTP_TLS_REJECT_UNAUTHORIZED=false + + # Optional fields: accessToken, events, excludedEvents + # - | + # WEBHOOKS=[{ + # "url": "http://localhost:3001", + # "accessToken": "notaccesstoken", + # "events": ["cardCreate", "cardUpdate", "cardDelete"], + # "excludedEvents": ["notificationCreate", "notificationUpdate"] + # }] + depends_on: + postgres: + condition: service_healthy + + postgres: + image: postgres:16-alpine + 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: + favicons: + user-avatars: + background-images: + attachments: + db-data: \ No newline at end of file