Skip to content

Instantly share code, notes, and snippets.

@ivan-hilckov
Created February 11, 2026 15:41
Show Gist options
  • Select an option

  • Save ivan-hilckov/0b351043d81719cab1dfc2c54531d1dc to your computer and use it in GitHub Desktop.

Select an option

Save ivan-hilckov/0b351043d81719cab1dfc2c54531d1dc to your computer and use it in GitHub Desktop.
Домашний сервер на Mac mini: план

Домашний сервер на Mac mini: план развертывания

Машина

  • Mac mini (macOS, Apple Silicon)
  • Роль: домашний сервер (файлы, DNS, Docker, проекты)
  • Docker Desktop: установлен
  • Tailscale: установлен (exit node не нужна — есть другой комп)

Задачи

1. SSH-доступ из локальной сети

  • Включить Remote Login в System Settings → General → Sharing
  • Настроить авторизацию по ключам (отключить вход по паролю)
  • Добавить публичные ключи с Arch и других машин в ~/.ssh/authorized_keys
  • Проверить подключение с Arch: ssh bzzz@<mac-mini-ip>

2. Локальный DNS (dnsmasq)

  • Установить dnsmasq (brew install dnsmasq)
  • Настроить зону .home → IP Mac mini
  • Настроить wildcard: *.home → IP Mac mini (чтобы любой project.home резолвился)
  • Запустить как сервис (brew services start dnsmasq)
  • На клиентских машинах вручную прописать DNS = IP Mac mini
  • Проверить: nslookup myproject.home → IP Mac mini

3. Reverse Proxy (Traefik)

  • Запустить Traefik в Docker с автообнаружением контейнеров
  • Настроить роутинг по Host: project.home → нужный контейнер
  • Слушать на портах 80/443
  • Dashboard Traefik доступен по traefik.home
  • Проверить: http://hello.home → тестовый nginx-контейнер

4. Файловый сервер (Samba)

  • Создать /Users/bzzz/shared
  • Установить Samba (brew install samba)
  • Настроить smb.conf — расшарить /Users/bzzz/shared с правами RW
  • Запустить как сервис
  • Проверить доступ с Linux: smb://<mac-mini-ip>/shared
  • Проверить доступ с Windows: \\<mac-mini-ip>\shared

Порядок выполнения

1. SSH → 2. DNS → 3. Reverse Proxy → 4. Samba

Домены

  • Формат: project.home
  • Wildcard *.home → Mac mini IP
  • Примеры: hello.home, poker.home, traefik.home
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment