From bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9 Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Mon, 2 Feb 2026 00:35:54 +0300 Subject: =?UTF-8?q?=D0=91=D0=BE=D0=BB=D1=8C=D1=88=D0=B0=D1=8F=20=D1=87?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20=D0=B1=D0=BB=D0=BE=D0=B3=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/posts/2024-12-17-infra.md | 120 -------------------------------------- 1 file changed, 120 deletions(-) delete mode 100644 content/posts/2024-12-17-infra.md (limited to 'content/posts/2024-12-17-infra.md') diff --git a/content/posts/2024-12-17-infra.md b/content/posts/2024-12-17-infra.md deleted file mode 100644 index 8998c27..0000000 --- a/content/posts/2024-12-17-infra.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -categories: -- Мета -date: '2024-12-17T21:07:53+03:00' -description: '' -draft: true -image: files/2024-12-17-infra_cover.webp -location: Казань -tags: -- блог -- IT -title: Инфраструктура блога ---- - -Сегодня я хочу рассказать как устроен этот блог и вообще моя инфраструктура. - -## Сервер - -Во-первых, недавно я почти полностью переехал с арендуемого сервера, на свой -собственный, сервер, который просто стоит у меня в комнате. - -Именно он вынесен в заголовочное изображение и целиком помещается, даже не на -ладони, а просто на кончиках пальцев! - -Конкретно, железо: - -* **OrangePi 3B 8Gb** — выбран в первую очередь за свою дешевизну и, самое - главное, M.2 разъём -* **NVME SSD 1Tb** — собственно, жесткий диск моего микросервера -* **Корпус с активным охлаждением** — не самое необходимое, но хотелось, чтобы - выглядело красиво - - - -## Программное обеспечение - -По сути, на первом уровне, установлены 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 — для разработки и хранения кода - -Но об этом я расскажу в другой раз 😉 -- cgit v1.2.3