Справочник

Шпаргалка: команды и паттерны

Вещи, которые повторяются буквально в каждой статье сайта — вместо того чтобы искать их заново в конкретном гайде. Обновляется по мере появления новых статей.

VPS: SSH и файрвол

Самое частое из серии «VPS с нуля» — подробности в статьях про Termius и SSH-ключи и брандмауэр UFW.

powershell · windows
ssh-keygen -t ed25519 -C "home-pc"                     # новый ключ
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh user@IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
ssh -L 8080:127.0.0.1:8080 user@IP                     # туннель к локальной панели сервера
ssh-keygen -R IP                                       # забыть старый отпечаток сервера
ssh · user@vps
sudo sshd -t && sudo systemctl reload ssh              # проверить и применить конфиг sshd
sudo sshd -T | grep -i passwordauth                    # итоговое значение после всех include
sudo grep Accepted /var/log/auth.log | tail            # кто и как входил

sudo ufw default deny incoming && sudo ufw default allow outgoing
sudo ufw limit 22/tcp                                  # SSH с rate-limit — ДО enable
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw status numbered                               # правила с номерами
sudo ufw delete N                                      # удалить правило
sudo ss -tulnp                                         # кто слушает порты
ФайлЗачем
~/.ssh/authorized_keysпубличные ключи, которым разрешён вход (права 600, каталог 700)
/etc/ssh/sshd_config.d/00-*.confсвои настройки sshd — читаются первыми и побеждают cloud-init
/etc/default/ufwIPV6=yes, политика форвардинга
/etc/ufw/before.rulesNAT/MASQUERADE для VPN-клиентов

Структура каталогов на NAS

Паттерн, который используется во всех статьях сайта без исключений — один каталог на сервис в /volume1/docker/, с чётким разделением конфигурации, данных и (при необходимости) бэкапов внутри:

структура каталогов
/volume1/docker/<имя-сервиса>/
├── data/           # то, что действительно нужно бэкапить
├── config/         # конфигурация приложения
└── backups/        # локальные архивы (опционально)

Подробнее — в разделах подготовки каталогов в статьях про Vaultwarden, Nextcloud и Immich.

Основные команды Docker Compose

ssh · admin@nas
docker compose up -d              # запустить стек в фоне
docker compose down               # остановить и удалить контейнеры (тома остаются)
docker compose logs -f <service>  # логи конкретного сервиса в реальном времени
docker compose pull <service>     # подтянуть новый образ
docker compose exec <service> sh  # зайти внутрь контейнера
docker exec -it <container> bash  # то же самое, но по имени контейнера напрямую

Снимок состояния стека без веб-интерфейса

ssh · admin@nas
docker stats --no-stream --format \
  "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

Подробный разбор мониторинга и Dozzle — в статье про сетевой high-load.

Сетевые режимы: когда какой

РежимКогда использоватьПример из статей
bridge (по умолчанию)простой сервис, один порт наружубольшинство контейнеров сайта
macvlanнужен собственный IP в локальной сетиhigh-load, AdGuard Home
hostнужно автообнаружение устройств (mDNS/SSDP) или доступ к сетевому стеку хостаHome Assistant, fail2ban

Частые переменные окружения

ПеременнаяСмысл
TZчасовой пояс контейнера, влияет на метки времени в логах и расписаниях
PUID / PGIDпод каким системным пользователем/группой контейнер пишет файлы на том
LOG_LEVELуровень детализации логов — полезно временно повышать при отладке

Скелет бэкап-скрипта

Один и тот же каркас — снять дамп/архив, положить с меткой времени, вычистить старое — повторяется в статьях про Vaultwarden, Nextcloud, Home Assistant и Immich:

backup-skeleton.sh
#!/bin/bash
STAMP=$(date +%Y%m%d-%H%M)
DEST=/volume1/docker/<сервис>/backups
mkdir -p "$DEST"

# 1. снять дамп базы (если есть) или архив конфигурации
# 2. сохранить с меткой времени в $DEST
# 3. вычистить архивы старше 14 дней:
find "$DEST" -name "*-2*.gz" -mtime +14 -delete

Полную стратегию вокруг этих скриптов — уровни копий, шифрование, тестирование восстановления — смотрите в статье про правило 3-2-1.

Базовый чек-лист безопасности

Полные версии — в статьях про харденинг DSM и fail2ban.

Эта страница не заменяет сами статьи — она для того, чтобы не листать заново развёрнутый гайд ради одной команды, которую вы уже видели раньше.