Обслуживание

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

Синтаксис вызова команд

Находясь в каталоге /opt/userside нужно вызвать команду внутри работающего контейнера userside. Например, для вызова команды run нужно выполнить:

docker compose exec userside run

Список команд

run

Консольная команда userside. Может применяться для управления учетными записями пользователей:

docker compose exec userside run credentials
docker compose exec userside run credentials/block <username>
docker compose exec userside run credentials/unblock <username>
docker compose exec userside run credentials/password-reset <username>

Для ручного запуска планировщика:

docker compose exec userside run cron

Для отображения состояния системы:

docker compose exec userside run health
docker compose exec userside run health/rabbit-exchanges
docker compose exec userside run health/rabbit-queues
docker compose exec userside run health/redis-keyspaces
docker compose exec userside run health/postgres-dbsize
docker compose exec userside run health/postgres-tablesize

psql

Вызывает интерактивный терминал PostgreSQL — psql. Для доступа к базе данных userside не нужно вводить никаких дополнительных параметров — все необходимые параметры для доступа к базе данных передаются автоматически. Чтобы открыть консольный клиент достаточно выполнить (Выход Ctrl + D):

Вызов psql для контейнера userside

Этот вызов проще, так как все необходимые параметры подставляются автоматически внутри контейнера userside:

docker compose exec userside psql

Но также можно указать необходимые параметры для psql, например, выполнить запрос:

docker compose exec userside psql -c "SELECT VERSION()"

Вызов psql для контейнера postgres

Этот вызов выполняется напрямую к контейнеру с PostgreSQL и подходит если контейнер userside не активен или если нужно получить доступ к контейнеру с PostgreSQL напрямую:

docker compose exec postgres psql -U userside

Для выхода из psql введите \q (или нажмите Ctrl + D).

Подробней о psql читайте в официальной документации.

pg_dump

Вызывает инструмент для выгрузки базы данных в виде скрипта или в архивном виде. При вызове для контейнера userside так же, как и psql, не требует указания параметров для доступа к базе данных — все они передаются автоматически. Этот вариант используется командой backup, описанной ниже. При вызове для контейнера postgres необходимо передать имя пользователя. Может применяться в случае, если вам нужен полный контроль над выполнением резервной копии базы данных.

Обычно в использовании этой команды нет необходимости, но если вам нужно выгрузить, например, данные какой-то одной таблицы в каком-то определенном формате, например, только данных из таблицы notification в формате команд INSERT без команд создания таблицы и без команд назначения владельцев (как показано далее), то вы можете использовать следующую команду.

Вызов pg_dump для контейнера userside

docker compose exec userside pg_dump \
    --inserts \
    --data-only \
    --format=plain \
    --no-owner \
    --no-acl \
    --table=notification > notification_table_data.sql

Вызов pg_dump для контейнера postgres

docker compose exec postgres pg_dump \
    -U userside \
    --inserts \
    --data-only \
    --format=plain \
    --no-owner \
    --no-acl \
    --table=notification > notification_table_data.sql

Подробней о pg_dump читайте в официальной документации.

backup

Команда выполняет резервное копирование базы данных в каталог /backup, в который смонтирован том /opt/userside/data/backup на вашем сервере. Команда вызывается без параметров.

docker compose exec userside backup

Подробней про резервное копирование и восстановление читайте в соответствующем разделе.

migrations

Команда вызывает запуск миграций базы данных. Эта команда выполняется автоматически при запуске контейнера, если обнаруживается необходимость в выполнении миграций. Ручной запуск этой команды может потребоваться при попытке перехода с относительно старой версии userside (например, 3.12-3.14), если в процессе миграции при запуске контейнера были обнаружены проблемы и затем устранены вручную в базе данных. В нормальном состоянии системы эта команда не требует ручного запуска. Вызывается без параметров следующим образом:

docker compose exec userside migrations

redis-cli

Команда вызывает консольный клиент redis-cli, который уже настроен для подключения к базе данных Redis userside. При выполнении команды будет открыта консоль redis-клиента, в которую вы можете вводить команды Redis. Выход Ctrl + D. Пример вызова команды:

docker compose exec userside redis-cli

Подробней о redis-cli читайте в официальной документации.