Обновить Planka

This commit is contained in:
codevadym 2025-07-26 20:49:48 +02:00
parent f1ac4621c9
commit 1c67d54066

99
Planka
View File

@ -6,58 +6,89 @@ docker network create frontend
sudo nano docker-compose.yml sudo nano docker-compose.yml
4. Вставляем содержимое в файл 4. Вставляем содержимое в файл
version: '3'
services: services:
planka: planka:
image: ghcr.io/plankanban/planka:latest image: ghcr.io/plankanban/planka:2.0.0-rc.3
restart: on-failure restart: on-failure
volumes: volumes:
- favicons:/app/public/favicons
- user-avatars:/app/public/user-avatars - user-avatars:/app/public/user-avatars
- project-background-images:/app/public/project-background-images - background-images:/app/public/background-images
- attachments:/app/private/attachments - attachments:/app/private/attachments
# Optionally override this to your user/group
# user: 1000:1000
# tmpfs:
# - /app/.tmp:mode=770,uid=1000,gid=1000
ports: ports:
- 3250:1337 - 3250:1337
environment: environment:
- BASE_URL=https://planka.codevadym.xyz - BASE_URL=https://planka.thevadim.xyz
- DATABASE_URL=postgresql://postgres@postgres/planka - DATABASE_URL=postgresql://postgres@postgres/planka
- SECRET_KEY=4de586e8e84ed577a251bed47c7d22c1c93712f52ac7750961cee3730077049ddaa714c003b9c146ea825bc3e2a365dde59222bdd8ec33e36ebd09b51da8d144
# - TRUST_PROXY=0 # Optionally store the database password in secrets:
# - DATABASE_URL=postgresql://postgres:$${DATABASE_PASSWORD}@postgres/planka
# - DATABASE_PASSWORD__FILE=/run/secrets/database_password
# And add the following to the service:
# secrets:
# - database_password
- SECRET_KEY=notsecretkey
# Optionally store in secrets - then SECRET_KEY should not be set
# - SECRET_KEY__FILE=/run/secrets/secret_key
# - LOG_LEVEL=warn
# - TRUST_PROXY=true
# - TOKEN_EXPIRES_IN=365 # In days # - TOKEN_EXPIRES_IN=365 # In days
# related: https://github.com/knex/knex/issues/2354 # related: https://github.com/knex/knex/issues/2354
# As knex does not pass query parameters from the connection string we # As knex does not pass query parameters from the connection string,
# have to use environment variables in order to pass the desired values, e.g. # we have to use environment variables in order to pass the desired values, e.g.
# - PGSSLMODE=<value> # - PGSSLMODE=<value>
# Configure knex to accept SSL certificates # Configure knex to accept SSL certificates
# - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false # - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false
- DEFAULT_ADMIN_EMAIL=codevadym@gmail.com # Do not remove if you want to prevent this user from being edited/deleted # Used for per-board notifications
- DEFAULT_ADMIN_PASSWORD=CERFacaTeRFL # - DEFAULT_LANGUAGE=en-US
- DEFAULT_ADMIN_NAME=Vadim F
- DEFAULT_ADMIN_USERNAME=codevadym
# - 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. # Do not comment out DEFAULT_ADMIN_EMAIL if you want to prevent this user from being edited/deleted
# - ALLOW_ALL_TO_CREATE_PROJECTS=true - DEFAULT_ADMIN_EMAIL=codevadym@gmail.com
# - DEFAULT_ADMIN_PASSWORD=МЕГАПАРОЛЬ
# Optionally store in secrets - then DEFAULT_ADMIN_PASSWORD should not be set
# - DEFAULT_ADMIN_PASSWORD__FILE=/run/secrets/default_admin_password
# - DEFAULT_ADMIN_NAME=Demo Demo
# - DEFAULT_ADMIN_USERNAME=demo
# - INTERNAL_ACCESS_TOKEN=
# - ACTIVE_USERS_LIMIT=
# Set to true to show more detailed authentication error messages.
# It should not be enabled without a rate limiter for security reasons.
# - SHOW_DETAILED_AUTH_ERRORS=false
# - S3_ENDPOINT= # - S3_ENDPOINT=
# - S3_REGION= # - S3_REGION=
# - S3_ACCESS_KEY_ID= # - S3_ACCESS_KEY_ID=
# - S3_SECRET_ACCESS_KEY= # - S3_SECRET_ACCESS_KEY=
# Optionally store in secrets - then S3_SECRET_ACCESS_KEY should not be set
# - S3_SECRET_ACCESS_KEY__FILE=/run/secrets/s3_secret_access_key
# - S3_BUCKET= # - S3_BUCKET=
# - S3_FORCE_PATH_STYLE=true # - S3_FORCE_PATH_STYLE=true
# - OIDC_ISSUER= # - OIDC_ISSUER=
# - OIDC_CLIENT_ID= # - OIDC_CLIENT_ID=
# - OIDC_CLIENT_SECRET= # - OIDC_CLIENT_SECRET=
# Optionally store in secrets - then OIDC_CLIENT_SECRET should not be set
# - OIDC_CLIENT_SECRET__FILE=/run/secrets/oidc_client_secret
# - OIDC_ID_TOKEN_SIGNED_RESPONSE_ALG= # - OIDC_ID_TOKEN_SIGNED_RESPONSE_ALG=
# - OIDC_USERINFO_SIGNED_RESPONSE_ALG= # - OIDC_USERINFO_SIGNED_RESPONSE_ALG=
# - OIDC_SCOPES=openid email profile # - OIDC_SCOPES=openid email profile
# - OIDC_RESPONSE_MODE=fragment # - OIDC_RESPONSE_MODE=fragment
# - OIDC_USE_DEFAULT_RESPONSE_MODE=true # - OIDC_USE_DEFAULT_RESPONSE_MODE=true
# - OIDC_ADMIN_ROLES=admin # - OIDC_ADMIN_ROLES=admin
# - OIDC_PROJECT_OWNER_ROLES=project_owner
# - OIDC_BOARD_USER_ROLES=board_user
# - OIDC_CLAIMS_SOURCE=userinfo # - OIDC_CLAIMS_SOURCE=userinfo
# - OIDC_EMAIL_ATTRIBUTE=email # - OIDC_EMAIL_ATTRIBUTE=email
# - OIDC_NAME_ATTRIBUTE=name # - OIDC_NAME_ATTRIBUTE=name
@ -74,32 +105,14 @@ services:
# - SMTP_SECURE=true # - SMTP_SECURE=true
# - SMTP_USER= # - SMTP_USER=
# - SMTP_PASSWORD= # - SMTP_PASSWORD=
# Optionally store in secrets - then SMTP_PASSWORD should not be set
# - SMTP_PASSWORD__FILE=/run/secrets/smtp_password
# - SMTP_FROM="Demo Demo" <demo@demo.demo> # - SMTP_FROM="Demo Demo" <demo@demo.demo>
# - SMTP_TLS_REJECT_UNAUTHORIZED=false # - SMTP_TLS_REJECT_UNAUTHORIZED=false
# Optional fields: accessToken, events, excludedEvents
# - |
# WEBHOOKS=[{
# "url": "http://localhost:3001",
# "accessToken": "notaccesstoken",
# "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=
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
networks:
- backend
- frontend
postgres: postgres:
image: postgres:16-alpine image: postgres:16-alpine
restart: on-failure restart: on-failure
@ -113,19 +126,17 @@ services:
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
networks:
- backend
volumes: volumes:
favicons:
user-avatars: user-avatars:
project-background-images: background-images:
attachments: attachments:
db-data: db-data:
networks:
frontend:
external: true
backend:
internal: true
5. Настраиваем Nginx Proxy Manager 5. Настраиваем Nginx Proxy Manager
Обязательно ставим галочку WebSocket support!!!!! Обязательно ставим галочку WebSocket support!!!!!
6. И ГЛАВНОЕ УСТАНАВЛИВАЕМ ПАСС админа
docker compose run --rm planka npm run db:create-admin-user