Как внести изменения в контейнер VaultWarden, чтобы отключить административную панель сайта и внести дополнительные коррективы?

Я поднял контейнер из образа vaultwarden с указанием портов через -p и томов через -v. Контейнер запустился и работает, но мне нужно настроить SMTP. Я включил админку с помощью переменной окружения -e, но теперь она мне не нужна, и я попытался её отключить, но это не удалось. Я начал искать конфигурационный файл с необходимыми значениями и нашёл его в /data/config.json, отредактировал его и перезапустил контейнер, но изменений не произошло. Далее я проверил путь -volumes, указанный при запуске контейнера, и обнаружил /vw-data/config.json. Я отредактировал его, но изменений по-прежнему не произошло. Куда мне ещё обратиться за помощью? 

Кроме того, я хотел бы уточнить: если мне нужно будет снова запустить команду docker run с необходимыми параметрами, как это сделать? Контейнер уже существует, и если я его удалю, то потеряю всю записанную информацию и создам чистый контейнер. Как правильно поступить в этой ситуации?
  • 12 ноября 2024 г. 8:03
Ответы на вопрос 1
Чтобы внести изменения в контейнер VaultWarden и отключить административную панель, вы можете выполнить следующие шаги:

### Отключение административной панели

1. **Изменение переменных окружения**:
   Если вы хотите отключить административную панель, вам нужно удалить переменную окружения, которая ее включает, и перезапустить контейнер. Обычно это переменная `ADMIN_TOKEN`. Если вы хотите её отключить, можете просто не передавать ее при запуске контейнера. Для этого выполните следующие шаги:

2. **Редактирование конфигурации**:
   Если вы уже редактировали файл `config.json`, и изменения не применились, убедитесь, что это тот файл, который используется вашим контейнером. Проверьте, что ваш Docker том правильно смонтирован. Если смонтированный том у вас `/vw-data`, убедитесь, что вы редактируете именно `config.json` в этом каталоге.

3. **Перезапуск контейнера**:
   Если изменения в конфигурационном файле не применились, попробуйте перезапустить контейнер:

   ```bash
   docker restart <имя_контейнера>
   ```

### Как повторно запустить контейнер с новыми параметрами

Если вам нужно повторно запустить команду `docker run` с новыми параметрами, для этого лучше создать новый контейнер на основе существующих данных, чтобы не потерять их. Вот шаги:

1. **Остановка и удаление текущего контейнера**:
   Остановите текущий контейнер и удалите его:

   ```bash
   docker stop <имя_контейнера>
   docker rm <имя_контейнера>
   ```

2. **Запуск нового контейнера**:
   Запустите новый контейнер с необходимыми параметрами, убедившись, что вы используете тот же volume, чтобы не потерять данные:

   ```bash
   docker run -d \
       --name vaultwarden \
       -e WEBSOCKET_ENABLED=true \
       -e ADMIN_TOKEN=<ваш_новый_токен> \ # или не указывайте, если вы хотите отключить админку
       -v /ваш/путь/к/vw-data:/data \
       -p 80:80 \
       vaultwarden/server:latest
   ```

   Замените `<ваш_новый_токен>` на ваш новый токен, если вы хотите снова включить админку или просто не указывайте, если хотите её отключить.

### Итог

- Убедитесь, что изменения, которые вы вносите в конфигурационный файл, действительно применяются.
- Если вам нужно вносить изменения в параметры запуска контейнера, остановите и удалите существующий контейнер, затем создайте новый с нужными параметрами, используя те же данные из volume.

Если у вас есть дополнительные вопросы или сложности, не стесняйтесь спросить!
Похожие вопросы