Всё больше склоняюсь к тому, что в 2025 хочу завести свои собственные семейный почтовый и личный сервер под федиверс + статик-блог. Даже смирился с тем, что это будет VPS, так как не хочу палить свой домашний IP / хоть немного приоткрывать огненную стену к внешнему миру.
Уровень сложности по предварительной (без ресёрча) сложности:
1. Статика. 2/5, самое сложное это будет перевод CI с github на домашний forgejo. При этом надо будет миррорить всё на старый github pages. В теории всё должно работать быстро, думаю сделать какой-то билд-контейнер и собирать по SSH. Докер вроде больше подходит, но пердолиться с запуском Docker внутри LXC лень.
2. Федиверс 4/5. Здесь всё чуточку сложнее. Не хочу в мир светить веб-мордой, но как понимаю, апиха должна торчать в мир. И с натяжкой выходит, что всё что происходит в федиверсе является размещёнными мной для неограниченного круга лиц информационными материалами в сети Интернет. А значит это дерьмо надо модерировать, но это пахнет сизифовыми конюшнями. Надо бы почитать подробнее о том, как там протокол устроен, может быть есть режим - "отдавать в мир по апи только то, что было порождено моим сервером, а лопльному пользователю всё, в том числе и кэш", но скорее всего это будет означать сломанные комментарии. UGC та ещё погань, поэтому у меня в статик блоге вообще нет комментариев. Вроде есть всякие модные решения для singleuser instance, посмотрю на них, конечно, но как пользователь я ПРИВЫК к UI mastodon. Frendica боль, Hubzilla боль. Ещё одно требование: понятные мне архитектура и язык реализации. Мне ж это дерьмо сопровождать. Не хочу как айронбаг патчить свою френдику, хочу просто закончить этот квест за 144 часа.
3. Почтовик. 5/5, зато как приятно будет давать адресок живым людям. Из ожидаемого пердолинга 50% входящий спам (отброс, вывоз нагрузки итд), 40% исходящий спам (прекращение попадания в него, все эти ваши DKIM, CRF, DMARC, в названии которых я ошибся с 80% вероятностью), 10% безопасность (я ж параноик, ПО взломано сразу в репозитории, сервера компрометированв ещё до установки); в целом отправку можно ограничить домом и это закроет большУю часть проблем с надёжностью аутентификации. Из технологий даже хз - вроде веб-интерфейс особо не нужен, что с компа, что с телефона пользуюсь клиентами, то есть шаманить с индексацией и полнотекстом не надо. С гугла вот слезть наверное не получится на 100%, но и не надо, пусть будет почтой для спама.
cauf 🇷🇺
в ответ на Ambassador Tablicek • • •Ambassador Tablicek
в ответ на cauf 🇷🇺 • • •ну фиг знает, мне и bash хватает 😀
В идеале ровно одну команду-точку входа запускать, а из чего там клей без логики - YAML, python - без разницы.
ХаББыватель
в ответ на Ambassador Tablicek • — (Тюмень) •Ambassador Tablicek нравится это.
Михаил
в ответ на Ambassador Tablicek • • •@Ambassador Tablicek К forgejo можно прикрутить раннеры, и они будут собирать всё автоматически и ещё ставить зелёную галочку, если всё прошло гладко.
У него есть свои раннеры трёх типов: для хоста - это что-то вроде ssh, но там будут доступны ещё переменные id коммита и тп, lxc - создаёт контейнер и собирает в нём, docker - собственно, собирает в докере.
Основное уже есть, велосипед делать не надо, надо освоить и пользоваться.
Гитхабовский workflow он тоже видит и понимает, но для него надо, видимо, настроить раннеры. Я сам обошёлся у себя дома только хостовыми раннерами, мне хватило, сильно глубоко не вникал во всё остальное.
Михаил
в ответ на Ambassador Tablicek • • •@Ambassador Tablicek Я у себя тоже с этого начал. А после прикрутил ещё раннер, откуда вызываю все те же команды.
И теперь, когда я делаю коммит в мастер-ветку документации, оно само создаёт чистую директорию, клонирует туда проект, выбирает мой коммит, пересобирает новые исходники сфинксом и копирует результат в нужную директорию, где я эти доки в браузере смотрю. А после раннер ещё и сам чистит диск, удаляя теперь уже ненужные файлы. А от меня кроме коммита/пуша ничего больше не требуется.