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

Сервер сайта

Материал из Вики IT-отдела
Ответственный: Nepike · Последняя проверка: 27 сентября 2026

Сервер сайта — арендованный виртуальный сервер (VPS), на котором работают Студсайт и эта вики.

Коротко

Адрес inbicst.ru, IP 91.218.246.80
Хостинг HostKey, панель управления — invapi.hostkey.ru. Сервер оформлен на личный аккаунт главы отдела (Nepike).
Регион Россия
Оплата 2 856 ₽ в год, платит студсовет. Следующий платёж — 29 октября 2026.
Система Ubuntu 24.04 LTS
Ресурсы 2 ядра, 1,8 ГБ оперативной памяти (+ 2 ГБ swap), диск 58 ГБ

Доступ

Вход по SSH:

ssh <пользователь>@inbicst.ru

Аккаунты на сервере создаёт глава отдела — когда появляется задача, связанная с сервером, и человек готов за неё взяться. Для управления контейнерами пользователя добавляют в группу docker; команды через sudo требуют пароль пользователя.

Что на нём работает

Что Где Зачем
nginx на самом сервере (не в Docker), конфиги в /etc/nginx/sites-available/ Принимает все HTTP(S)-запросы и раздаёт их по сайтам: сам отвечает за HTTPS и проксирует запросы в контейнеры.
Студсайт Docker Compose, проект knt в /srv/knt, порт 127.0.0.1:8001 knt-mipt.ru и старые адреса inbicst.ru, fnbic.ru, new.knt-mipt.ru; files.inbicst.ru.
Вики Docker Compose, проект itwiki в /srv/knt-wiki, порт 127.0.0.1:8080 wiki.inbicst.ru. Конфигурация — в репозитории github.com/Nepike/knt-wiki, там же в README — как обновлять, делать бэкап и восстанавливаться.
certbot на самом сервере Бесплатные HTTPS-сертификаты Let's Encrypt; продлевает их сам по таймеру certbot.timer.
ufw на самом сервере Фаервол: снаружи открыты только SSH (22), HTTP (80) и HTTPS (443). Всё остальное слушает только внутри сервера.
logrotate на самом сервере Ротация логов, чтобы они не съели диск.

Контейнеры слушают только 127.0.0.1: снаружи до них не достучаться, к ним ходит только nginx.

Сертификаты

Сертификаты выпускает certbot через плагин nginx и продлевает сам. Если нужно посмотреть или проверить:

sudo certbot certificates                 # какие есть и до какого числа действуют
sudo certbot renew --dry-run              # пробное продление, ничего не меняет

Как добавить новый сайт

  1. Добавить в Cloudflare DNS-запись, указывающую на 91.218.246.80 (как — см. Домены и DNS#Добавить поддомен).
  2. Поднять сервис так, чтобы он слушал только 127.0.0.1:<свободный порт>.
  3. Создать конфиг в /etc/nginx/sites-available/, включить его ссылкой в sites-enabled/, проверить и перезагрузить nginx:
    sudo nginx -t && sudo systemctl reload nginx
  4. Выпустить сертификат: sudo certbot --nginx -d новый.домен

Порт наружу в ufw открывать не нужно: сайт всё равно идёт через nginx на 443.

Память

Памяти на сервере мало, и это главное ограничение. Больше всего занимает студсайт (около 800 МБ), вики урезана примерно до 150 МБ, swap используется постоянно. Прежде чем запускать на сервере что-то новое, посмотрите, сколько свободно:

free -h
docker stats --no-stream

Чего пока нет

TODO: Регулярных бэкапов базы и файлов студсайта нет — сайт активно разрабатывается, пока не успели настроить
TODO: Мониторинга нет: если сайт или сервер упадёт, автоматически об этом никто не узнает