#домашний_сервер
В итоге я провёл небольшую ревизию и теперь работа с сервером выглядит вот так:
На сервере и на рабочих устройствах поднят Yggdrasil, адреса рабочих станций разрешены в ip6tables.
В проектах лежит .envrc примерно с таким содержимым
#!/usr/bin/env bash
PATH_add ./bin/
В ./bin лежит файл скрипт docker
#!/usr/bin/env bash
/usr/bin/docker --context=SERVER-YGG $@
Контекст SERVER-YGG определён как
docker context create \
--docker host="ssh://$SERVER-USER$@[$SERVER-IP]:$SSH-PORT" \
--description="My awesome homeserver" \
$SERVER-ygg
Деплой теперь делаю через docker compose up -d. Таким макаром я могу подключиться к серверу откуда угодно, а самому серверу не нужно иметь статический IP.
1. Yggdrasil https://yggdrasil-network.github.io/
2. Docker contexts docs.docker.com/engine/…contexts
3. Direnv https://direnv.net/