diff options
| author | 2026-02-02 00:35:54 +0300 | |
|---|---|---|
| committer | 2026-02-02 00:35:54 +0300 | |
| commit | bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9 (patch) | |
| tree | 27fff9c802dcdd22960bb2e776e58278000d0364 /content/posts/2024-12-17-infra/index.md | |
| parent | Поправил шаблон (diff) | |
| download | blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.gz blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.bz2 blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.xz blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.zip | |
Большая чистка блога
Diffstat (limited to 'content/posts/2024-12-17-infra/index.md')
| -rw-r--r-- | content/posts/2024-12-17-infra/index.md | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/content/posts/2024-12-17-infra/index.md b/content/posts/2024-12-17-infra/index.md new file mode 100644 index 0000000..64b702c --- /dev/null +++ b/content/posts/2024-12-17-infra/index.md @@ -0,0 +1,119 @@ +--- +categories: + - Мета +date: "2024-12-17T21:07:53+03:00" +description: "" +draft: true +image: infra_cover.webp +location: Казань +tags: + - блог + - IT +title: Инфраструктура блога +--- + +Сегодня я хочу рассказать как устроен этот блог и вообще моя инфраструктура. + +## Сервер + +Во-первых, недавно я почти полностью переехал с арендуемого сервера, на свой +собственный, сервер, который просто стоит у меня в комнате. + +Именно он вынесен в заголовочное изображение и целиком помещается, даже не на +ладони, а просто на кончиках пальцев! + +Конкретно, железо: + +- **OrangePi 3B 8Gb** — выбран в первую очередь за свою дешевизну и, самое + главное, M.2 разъём +- **NVME SSD 1Tb** — собственно, жесткий диск моего микросервера +- **Корпус с активным охлаждением** — не самое необходимое, но хотелось, чтобы + выглядело красиво + +<!-- more --> + +## Программное обеспечение + +По сути, на первом уровне, установлены armbian +(https://www.armbian.com/orangepi3b/), веб—сервер Caddy +(https://caddyserver.com/), да Docker. Всё остальное уже внутри Docker'а. + +## Caddy + +Caddy у меня работает в основном как reverse-proxy для Docker'а. Без лишних +слов, вот конфиг: + +``` +{ + log { + output file /var/log/caddy/access.log + level debug + } + email i@neonxp.ru +} +neonxp.ru:80 { + redir https://neonxp.ru +} +neonxp.ru:443 { + tls i@neonxp.ru + root * /var/www/neonxp.ru + encode gzip + rewrite /feed/ /posts/index.xml + file_server +} +comments.neonxp.ru { + reverse_proxy localhost:8008 + tls i@neonxp.ru +} +``` + +Из него я убрал всё, что не относится к непосредственно блогу. + +Сам блог у меня собирается с помощью Hugo и загружается в `/var/www/neonxp.ru` с +помощью rsync[^4], а оттуда уже раздается с помощью Caddy. + +[^4]: https://git.neonxp.ru/blog.git/tree/Makefile#n11 + +## Docker + +А вот и мой compose в котором разворачивается остальная инфраструктура для блога + +```yaml +services: + remark42: + image: umputun/remark42:latest + restart: unless-stopped + container_name: "remark42" + ports: + - 8008:8080 + env_file: remark42.env + volumes: + - remark42:/srv/var + posse: + image: registry.neonxp.ru/posse + restart: unless-stopped + container_name: posse + env_file: posse.env + volumes: + - ./seq.txt:/store/seq.txt +volumes: + remark42: +``` + +Как понятно из этого docker-compose.yml — дополнительно поднимаются два +контейнера: + +- remark42 — система комментариев +- posse — моя программка, которая чекает RSS блога и репостит его в Telegram + +## Остальное + +Конечно же, на этой железке крутится не только блог, но и несколько других +сервисов для личного использования + +- Nextcloud — личное облако +- Vaultwarden — хранилище паролей +- SOPDS — личная библиотека Либрусека +- Git хостинг и Container registry — для разработки и хранения кода + +Но об этом я расскажу в другой раз 😉 |
