2024-04-15 11:22:51 -03:00
version : '3.8'
2020-05-06 00:04:02 +02:00
services :
2024-04-15 11:22:51 -03:00
server :
build :
context : ./server
dockerfile : ../config/development/Dockerfile.server
2023-10-24 13:17:49 +02:00
volumes :
2024-04-15 11:22:51 -03:00
- ./server:/app
- /app/node_modules
2023-10-24 13:17:49 +02:00
environment :
2024-04-15 11:22:51 -03:00
- NODE_ENV=development
- DATABASE_URL=postgresql://user:password@postgres:5432/planka_db
2023-10-24 13:17:49 +02:00
- SECRET_KEY=notsecretkey
2024-06-14 16:38:06 +02:00
2023-10-24 13:17:49 +02:00
# - 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
2024-06-14 16:38:06 +02:00
2024-08-30 11:47:29 +02:00
# - 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.
2024-06-14 16:38:06 +02:00
# - ALLOW_ALL_TO_CREATE_PROJECTS=true
2024-11-12 15:58:22 +01:00
# - S3_ENDPOINT=
# - S3_REGION=
# - S3_ACCESS_KEY_ID=
# - S3_SECRET_ACCESS_KEY=
# - S3_BUCKET=
# - S3_FORCE_PATH_STYLE=true
2023-10-24 13:17:49 +02:00
# - OIDC_ISSUER=
# - OIDC_CLIENT_ID=
# - OIDC_CLIENT_SECRET=
2024-07-16 12:33:38 +02:00
# - OIDC_ID_TOKEN_SIGNED_RESPONSE_ALG=
# - OIDC_USERINFO_SIGNED_RESPONSE_ALG=
2023-10-24 13:17:49 +02:00
# - OIDC_SCOPES=openid email profile
2024-07-16 12:33:38 +02:00
# - OIDC_RESPONSE_MODE=fragment
# - OIDC_USE_DEFAULT_RESPONSE_MODE=true
2023-10-24 13:17:49 +02:00
# - OIDC_ADMIN_ROLES=admin
2024-09-20 16:19:54 +02:00
# - OIDC_CLAIMS_SOURCE=userinfo
2024-02-06 00:48:21 +01:00
# - OIDC_EMAIL_ATTRIBUTE=email
# - OIDC_NAME_ATTRIBUTE=name
# - OIDC_USERNAME_ATTRIBUTE=preferred_username
2023-10-24 13:17:49 +02:00
# - OIDC_ROLES_ATTRIBUTE=groups
2024-02-06 00:48:21 +01:00
# - OIDC_IGNORE_USERNAME=true
2023-10-25 23:01:35 +02:00
# - OIDC_IGNORE_ROLES=true
2024-02-06 00:48:21 +01:00
# - OIDC_ENFORCED=true
2024-04-15 11:22:51 -03:00
# Email Notifications (https://nodemailer.com/smtp/)
# - SMTP_HOST=
# - SMTP_PORT=587
2024-05-18 14:02:21 +01:00
# - SMTP_NAME=
2024-04-15 11:22:51 -03:00
# - SMTP_SECURE=true
# - SMTP_USER=
# - SMTP_PASSWORD=
# - SMTP_FROM="Demo Demo" <demo@demo.demo>
2024-10-02 14:10:31 +02:00
# - SMTP_TLS_REJECT_UNAUTHORIZED=false
2024-04-15 11:22:51 -03:00
2024-06-12 00:51:36 +02:00
# Optional fields: accessToken, events, excludedEvents
# - |
# WEBHOOKS=[{
# "url": "http://localhost:3001",
# "accessToken": "notaccesstoken",
# "events": ["cardCreate", "cardUpdate", "cardDelete"],
# "excludedEvents": ["notificationCreate", "notificationUpdate"]
# }]
2024-04-15 11:22:51 -03:00
# - SLACK_BOT_TOKEN=
# - SLACK_CHANNEL_ID=
2024-10-31 00:11:52 +03:00
2024-10-30 22:28:25 +01:00
# - GOOGLE_CHAT_WEBHOOK_URL=
2024-10-31 00:11:52 +03:00
# - TELEGRAM_BOT_TOKEN=
# - TELEGRAM_CHAT_ID=
# - TELEGRAM_THREAD_ID=
2024-04-15 11:22:51 -03:00
working_dir : /app
2024-10-30 22:28:25 +01:00
command : [ "sh" , "-c" , "npm run start" ]
2024-04-15 11:22:51 -03:00
depends_on :
postgres :
condition : service_healthy
client :
build :
context : ./client
dockerfile : ../config/development/Dockerfile.client
volumes :
- ./client:/app/client
- /app/client/node_modules
- /app/node_modules
environment :
- NODE_ENV=development
- CHOKIDAR_USEPOLLING=true
- BASE_URL=http://localhost:3000
- REACT_APP_SERVER_BASE_URL=http://localhost:3000
working_dir : /app/client
command : npm start
init-db :
build :
context : ./server
dockerfile : ../config/development/Dockerfile.server
environment :
- DATABASE_URL=postgresql://user:password@postgres:5432/planka_db
2024-06-14 16:38:06 +02:00
2024-04-15 11:22:51 -03:00
# - 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
working_dir : /app
2024-10-30 22:28:25 +01:00
command : [ "sh" , "-c" , "npm run db:init" ]
2024-04-15 11:22:51 -03:00
volumes :
- ./server:/app
- /app/node_modules
2023-10-24 13:17:49 +02:00
depends_on :
2024-02-06 00:48:21 +01:00
postgres :
condition : service_healthy
2023-10-24 13:17:49 +02:00
2020-05-06 00:04:02 +02:00
postgres :
2024-10-22 20:22:23 +02:00
image : postgres:16-alpine
2020-05-06 00:04:02 +02:00
volumes :
- db-data:/var/lib/postgresql/data
environment :
2024-04-15 11:22:51 -03:00
POSTGRES_DB : planka_db
POSTGRES_USER : user
POSTGRES_PASSWORD : password
ports :
2024-10-30 22:28:25 +01:00
- "5432:5432"
2024-04-15 11:22:51 -03:00
restart : unless-stopped
2024-02-06 00:48:21 +01:00
healthcheck :
2024-10-30 22:28:25 +01:00
test : [ "CMD-SHELL" , "pg_isready -U user -d planka_db" ]
2024-02-06 00:48:21 +01:00
interval : 10s
timeout : 5s
retries : 5
2020-05-06 21:21:18 +05:00
2024-04-15 11:22:51 -03:00
proxy :
image : nginx:alpine
ports :
2024-10-30 22:28:25 +01:00
- "3000:80"
2024-04-15 11:22:51 -03:00
volumes :
- ./config/development/nginx.conf:/etc/nginx/nginx.conf
depends_on :
- server
- client
2020-05-06 00:04:02 +02:00
volumes :
db-data :