# Preparation ## Цель Подготовить чистое окружение для повторяемого развёртывания отдельного `ActivityWatch Server` в LXC-контейнере на Proxmox без зависимости от старой инсталляции. ## Что определить заранее ### Инфраструктурные параметры - имя узла Proxmox; - `CT_ID`; - `CT_HOSTNAME`; - `CT_BRIDGE`; - `CT_VLAN`, если нужен; - статический IP/маска/шлюз; - список DNS; - storage для `rootfs`; - размер диска; - лимиты CPU/RAM/SWAP; - timezone; - внутренний или внешний FQDN для публикации. ### Доступы Хранить вне репозитория: - SSH/API-доступ к Proxmox; - пароль или ключ для CT; - TLS-сертификаты reverse proxy; - токены внешнего мониторинга или backup target. ## Рекомендуемая базовая схема - Proxmox VE 8/9 - Debian 12 LXC - `unprivileged=1` - `nesting=1,keyctl=1` - внутренний listen ActivityWatch: `0.0.0.0:5600` - внешняя публикация только через VPN или reverse proxy ## Проверки на узле Proxmox ```sh pveversion pveam update pveam available | grep debian-12 pvesm status pct list ``` Проверить: - есть место под CT и backup; - `CT_ID` не занят; - выбранный bridge/VLAN реально маршрутизируется; - Debian template доступен; - есть маршрут до будущего адреса контейнера. ## Что подготовить до деплоя - заполненный `private-config/deploy.env` (единый файл для CT + AW server); - согласованный URL релиза `aw-server-rust`; - решение по публикации: VPN или reverse proxy; - решение по backup: `vzdump`, snapshot, rsync, NAS или object storage. ## Единый файл секретов Файл `private-config/deploy.env` автоматически подхватывается: - `proxmox/create-ct.sh` - `proxmox/push-aw-artifacts.sh` В нём хранятся: - `CT_*` параметры контейнера; - `AW_SERVER_*` параметры сервера. ## Базовые каталоги внутри CT - `/opt/activitywatch/bin` - `/opt/activitywatch/releases` - `/opt/activitywatch/webui-ru` - `/etc/activitywatch` - `/var/lib/activitywatch` - `/var/log/activitywatch` ## Security-заметки - не публиковать `5600/tcp` напрямую в интернет; - не хранить реальные значения в `.example` файлах; - перед вводом в эксплуатацию зафиксировать firewall, DNS и publish path в `docs/operations.md`.