Indico. Обновление
Обновление Indico.
Содержание
1 Обновление пререквизитов
1.1 Postgres
- Делается, если нужно изменить версию PostgreSQL.
1.1.1 Бэкап базы данных
- Сделайте бекап базы:
1sudo -u postgres pg_dump -U postgres indico > indico.sql
1.1.2 Обновление Postgres
- Версии, которая идёт в комплекте с дистрибутивом, достаточно.
- Но лучше установить версию поновее.
- Смотрим, какие версии в наличии:
1dnf module list postgresql
- Установим postgresql-16:
- Проверьте установленную версию:
1postgres -V
- Инициализируем базу данных:
1postgresql-setup --initdb --unit postgresql
- Проверим, что в
/var/lib/pgsql/data/postgresql.conf
установлен алгоритм шифрования:1password_encryption = scram-sha-256
- Запустим postgres:
1systemctl enable --now postgresql
1.1.3 Восстановление базы данных
- Подключимся к базе данных:
1sudo -u postgres psql
- Создадим базу данных (укажите необходимый пароль):
- Добавьте расширение:
1su - postgres -c 'psql indico -c "CREATE EXTENSION unaccent; CREATE EXTENSION pg_trgm;"'
- Проверьте подключение к базе данных:
1psql --username indico --password --host localhost indico
- После подключения посмотрите параметры соединения:
- Восстановите данные из резервной копии:
1sudo -u postgres psql -d indico -f indico.sql
2 Обновление Indico
- Остановим Celery:
1sudo systemctl stop indico-celery.service
- Теперь переключитесь на пользователя
indico
и активируйте virtualenv: - Проверьте версию Python:
1python -V
- Если версия < 3.12, то установим необходимую версию Python:
1indico setup upgrade-python --force-version 3.12
- Обновите indico:
- Обновите плагины:
1pip install -U indico-plugins
- Обновите схемы базы данных:
- Перезапустите uWSGI:
1touch ~/web/indico.wsgi
- Снова запустите Celery:
1sudo systemctl start indico-celery.service
3 Установка Indico
- Если версия слишком старая, либо Вы обновили систему, лучше установить бинарники заново.
- Удалите старую установку python:
1rm -rf /opt/indico/.pyenv
- Теперь переключитесь на пользователя
indico
:1su - indico
- Загрузите установщик:
1curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
- Установите python-3.12:
- Установите indico: