Сервер сайта
Сервер сайта — арендованный виртуальный сервер (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 # пробное продление, ничего не меняет
Как добавить новый сайт
- Добавить в Cloudflare DNS-запись, указывающую на
91.218.246.80(как — см. Домены и DNS#Добавить поддомен). - Поднять сервис так, чтобы он слушал только
127.0.0.1:<свободный порт>. - Создать конфиг в
/etc/nginx/sites-available/, включить его ссылкой вsites-enabled/, проверить и перезагрузить nginx:sudo nginx -t && sudo systemctl reload nginx
- Выпустить сертификат:
sudo certbot --nginx -d новый.домен
Порт наружу в ufw открывать не нужно: сайт всё равно идёт через nginx на 443.
Память
Памяти на сервере мало, и это главное ограничение. Больше всего занимает студсайт (около 800 МБ), вики урезана примерно до 150 МБ, swap используется постоянно. Прежде чем запускать на сервере что-то новое, посмотрите, сколько свободно:
free -h
docker stats --no-stream