NU31 hosting docker infra

Лог того як я піднімав цю інфраструктуру

Привіт, тут короткий опис того, як зараз працює інфраструктура NU31. Цей пост створений з метою, щоб люди могли розібрати, що і до чого, на випадок моєї недоступності або ж на випадок, якщо я зійду з розуму, обіжуся, то що. Коротше, якщо не відповідаю вам в Discord, а вам треба щось зробити, надіюся тут ви знайдете відповіді на свої питання :)

Основні штуки

Я взяв на основу інфраструктури свій репозиторій з інфою для пет-проєктів. В нашій організації на GitHub це тут є вже задані зміни. (Settings -> Secret and varibles -> Actions)

Secrets

- PASSWORD — це загальний пароль до всього, що є в інтернетах, від NU31, так, Артеме, я знаю, що він складний, але він один на все і дає супердоступ до багатьох речей. Скажи дякую, що я не зробив окремий пароль на кожний сервіс чи додаток. - ROOT_SSH_PUBLIC_KEY / ROOT_SSH_PRIVATE_KEY — це пара SSH-ключів. Не знаєте, що таке SSH-ключі? Почитайте.

Variables

- HOST — це IP-адреса або host нашої VPS. Зараз це VM на моєму сервері, але, враховуючи, що я зараз недоступний, вам треба десь намутити сервак з Ubuntu. - USERNAME - основний username для всього нашого онлайн-добра.

Історичний лог підняття

- Додати всі ці зміні в організацію на github, подивитися на них можна тут

- Запустив github Action з назвою Setup VPS - подивитися можна тут

- Зробив key file для mongo, команда є в ReadMe.md, його додав в зміну MONGO_RS_KEYFILE_CONTENT

- Додав всі зміни по типу S3_*** це виключно для backup, зараз все складаться в bucket на cloudflare R2, в цілому рекомендую

- Зробив deploy всього, що є, додав A-записи в DNS на Cloudflare.

- Зараз працює сторінка: https://maintenance.nu31.space/. Це просто заглушка, щоб перевірити, що Caddy як reverse proxy працює. Також працює https://compass.nu31.space/ якщо в нас проблеми з basic auth, скоріш за все там треба очистити кеші chrome, самий простий спосіб це зробити це перейти в chrome://restart

- Додав Grafana, доступний тут: https://grafana.nu31.space. Замітив проблему з тим, що Caddy HTTP Challenge не проходить, якщо на Cloudflare зробити як проксі, а не просто через DNS. Зараз виключив проксі всюди. Потім треба буде придумати якесь краще рішення. Зробив доступ до Grafana для усіх, хто є в нашій GitHub-організації. Просто скористайтеся авторизацією через GitHub. Рега по login-паролю доступна тільки для root-користувача.

- Переніс сайт https://nu31.space/ на новий сервер. Все в цілому пройшло супер, окрім того, що не зразу знайшов connection до бази даних.

- Переніс сайт до https://prismo.nu31.space/ все завелося зразу, єдине що треба робити restart caddy щоб воно зробили запит за сертифікатами на let's encrypt