Администрирование
June 25

Обновление Planka с версии 1.х на 2.х ( docker )

1. Создать резервную копию

Перейдите к каталогу, содержащему ваш файл docker compose.yml.

Database Backup

docker compose exec postgres pg_dump -U postgres planka > planka_backup_$(date +%Y%m%d).sql

Volume Backups

docker run --rm -v $(pwd):/backup -v planka_user-avatars:/data alpine tar -czvf /backup/user-avatars.tar.gz -C /data .
docker run --rm -v $(pwd):/backup -v planka_attachments:/data alpine tar -czvf /backup/attachments.tar.gz -C /data .
docker run --rm -v $(pwd):/backup -v planka_project-background-images:/data alpine tar -czvf /backup/project-background-images.tar.gz -C /data .

2. Остановите и удалите контейнеры

docker compose down

3. Измените тег образа на 2.0.0-rc.3

Отредактируйте свой файл docker-compose.yml и обновите образ PLANKA:

services:
  planka:
-   image: ghcr.io/plankanban/planka:latest
+   image: ghcr.io/plankanban/planka:2.0.0-rc.3
    ...

4. Добавьте новые хранилища

Update the volumes sections:

services:
  planka:
    ...
    volumes:
+     - favicons:/app/public/favicons
      - user-avatars:/app/public/user-avatars
      - project-background-images:/app/public/project-background-images # Will be deleted after migration
+     - background-images:/app/public/background-images
      - attachments:/app/private/attachments
    ...

volumes:
+ favicons:
  user-avatars:
  project-background-images:
+ background-images:
  attachments:
  db-data:

5. Очистка переменных среды

Удалите устаревшие переменные

Удалите следующее из раздела environment:

  • ALLOW_ALL_TO_CREATE_PROJECTS — Now managed via user-specific global roles.
  • SLACK_*, GOOGLE_*, TELEGRAM_* — Replaced by in-app notifications with support for 100+ services.

Обновите значение TRUST_PROXY

Независимо от того, устанавливали ли вы ранее переменную окружения TRUST_PROXY, вы должны убедиться, что она использует правильное логическое строковое значение. Если в настоящее время она установлена ​​на 0, обновите ее на false (даже если переменная закомментирована). Если она установлена ​​на 1, обновите ее на true. Использование числовых значений (0 или 1) больше не поддерживается и может привести к неожиданному поведению.

Добавьте новую переменную:

DEFAULT_LANGUAGE=en-US

Это устанавливает язык по умолчанию для отправки уведомлений для пользователя (если пользователь не выбрал язык) и для доски. Это также действует как резервный вариант, когда переводы недоступны.

6. Извлеките образ Docker

docker compose pull

7. Скопируйте фоновые изображения в новое место

Копировать фоновые изображения в новое место:

docker compose run --rm planka cp -av /app/public/project-background-images/. /app/public/background-images

8. Запустите скрипт обновления базы данных

Это необходимо сделать перед первым запуском PLANKA.

docker compose run --rm planka npm run db:upgrade

9. Удалить старую ссылку на хранилище

Обновите docker-compose.yml, чтобы удалить старый том project-background-images:

services:
  planka:
    ...
    volumes:
      - favicons:/app/public/favicons
      - user-avatars:/app/public/user-avatars
-     - project-background-images:/app/public/project-background-images
      - background-images:/app/public/background-images
      - attachments:/app/private/attachments
    ...

volumes:
  favicons:
  user-avatars:
- project-background-images:
  background-images:
  attachments:
  db-data:

10. Запустите PLANKA и проверьте

Запустите PLANKA:

docker compose up -d

Мониторинг журналов на предмет проблем:

docker compose logs -f

11. Очистка

Убедившись, что все работает, удалите старый том:

docker volume rm planka_project-background-images

Поиск неисправностей

Если у вас возникли проблемы:

  • Проверьте журналы с помощью docker compose logs -f planka
  • Убедитесь, что миграция базы данных выполнена успешно
  • При необходимости восстановите данные из резервной копии и повторите попытку