1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-18 20:59:44 +02:00

feat: Version 2

Closes #627, closes #1047
This commit is contained in:
Maksim Eltyshev 2025-05-10 02:09:06 +02:00
parent ad7fb51cfa
commit 2ee1166747
1557 changed files with 76832 additions and 47042 deletions

View file

@ -1,16 +1,18 @@
version: '3.8'
services:
server:
planka-server:
build:
context: ./server
dockerfile: ../config/development/Dockerfile.server
context: .
dockerfile: Dockerfile.dev
image: planka-dev
pull_policy: never
command: ["bash", "-c", "npm install && npm run db:init && npm start"]
restart: on-failure
volumes:
- ./server:/app
- /app/node_modules
ports:
- 1337:1337
environment:
- NODE_ENV=development
- DATABASE_URL=postgresql://user:password@postgres:5432/planka_db
- DATABASE_URL=postgresql://postgres@postgres/planka
- SECRET_KEY=notsecretkey
# - LOG_LEVEL=warn
@ -26,8 +28,15 @@ services:
# Configure knex to accept SSL certificates
# - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false
# - 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.
# - ALLOW_ALL_TO_CREATE_PROJECTS=true
# - DEFAULT_LANGUAGE=en-US # Used for per-board notifications
# - 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=
@ -72,83 +81,33 @@ services:
# "events": ["cardCreate", "cardUpdate", "cardDelete"],
# "excludedEvents": ["notificationCreate", "notificationUpdate"]
# }]
# - SLACK_BOT_TOKEN=
# - SLACK_CHANNEL_ID=
# - GOOGLE_CHAT_WEBHOOK_URL=
# - TELEGRAM_BOT_TOKEN=
# - TELEGRAM_CHAT_ID=
# - TELEGRAM_THREAD_ID=
working_dir: /app
command: ["sh", "-c", "npm run start"]
depends_on:
postgres:
condition: service_healthy
client:
build:
context: ./client
dockerfile: ../config/development/Dockerfile.client
planka-client:
image: planka-dev
pull_policy: never
command: ["bash", "-c", "npm install && npx vite --host"]
restart: on-failure
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
# - 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
command: ["sh", "-c", "npm run db:init"]
volumes:
- ./server:/app
- /app/node_modules
depends_on:
postgres:
condition: service_healthy
- ./client:/app
ports:
- 3000:3000
postgres:
image: postgres:16-alpine
restart: on-failure
volumes:
- db-data:/var/lib/postgresql/data
environment:
POSTGRES_DB: planka_db
POSTGRES_USER: user
POSTGRES_PASSWORD: password
ports:
- "5432:5432"
restart: unless-stopped
- POSTGRES_DB=planka
- POSTGRES_HOST_AUTH_METHOD=trust
healthcheck:
test: ["CMD-SHELL", "pg_isready -U user -d planka_db"]
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
interval: 10s
timeout: 5s
retries: 5
proxy:
image: nginx:alpine
ports:
- "3000:80"
volumes:
- ./config/development/nginx.conf:/etc/nginx/nginx.conf
depends_on:
- server
- client
volumes:
db-data: