Перейти к содержанию

Решение известных проблем

На сервере закончилось место

Проявлять себя может по-разному, но, скорее всего, худшим образом — ни один из сервисов не доступен.

Самое быстрое, что может помочь — это коннект по SSH к сервису и выполнение команд:

  • cd /var/www/infra && sudo make clean — корректная очистка зависимых файлов встроенных сервисов;
  • docker system prune -a -f — очистка неиспользуемых образов Docker;
  • sudo journalctl --vacuum-time=3d — очистка системного журнала.

Эти команды должны быть использованы в crontab, потому их можно посмотреть по команде crontab -l.

Используемое место можно посмотреть с помощью du -ah, по конкретным каталогам, например, с помощью du -sh /var/www/infra/graphite/data/.

О растущих в размерах каталогах можно судить по .gitignore, в котором игнорируются каталоги:

  • graphite/data
  • loki/data
  • promtail/positions
  • portainer/data
  • postgres/data (если используется встроенный PostgreSQL)
  • registry/data
  • registry/auth

По этим каталогам есть вспомогательная команда make disk-usage.

Также, могут расти логи /var/log/traefik* для которых настроен logrotate (через make logrotate).

Один из внешних сервисов не запускается

Чаще всего это связано с отсутствующим параметром в ./configs/.env (а иногда и с его отсутствием).

Логи сервиса можно посмотреть с помощью ./logs.sh gateway-server.

Также, логи как сервиса, так и задачи его запуска доступны в Portainer.

После перезапуска внешнего сервиса не работают запросы к API

Возможно, поможет также перезапуск сервиса gateway-server.

Почему это может происходить — в workspace-frontend используется конфигурация nginx, которая запросы к /api/* перенаправляет к http://gateway-server:8000.

Здесь примечательно то, что gateway-server — это внутренний псевдоним адреса сервиса в сервисной сети Docker-а.

И такой адрес в некоторых случаях перезапуска контейнеров может перестать резолвиться.

Traefik выдаёт ошибкуpermissions 777 for acme.json are too open, please use 600

Если запуск происходит в Windows WSL, то можно попробовать поменять конфигурацию WSL:

[automount]
enabled = true
root    = /mnt/
options = "metadata,umask=22,fmask=11"

Это должно позволить менять права на файлы.

Источник