4.0 KiB
Executable File
4.0 KiB
Executable File
Deployment
0. Ansible full-stack вариант (рекомендуется)
cd <PROJECT_ROOT>/ansible
ansible-playbook -i inventory.ini provision_proxmox_ct_and_deploy_aw.yml
Этот playbook создаёт CT в Proxmox и полностью разворачивает ActivityWatch внутри контейнера.
Массовый вариант по матрице CT:
cd <PROJECT_ROOT>/ansible
ansible-playbook -i inventory.ini provision_proxmox_ct_matrix_and_deploy_aw.yml
1. Подготовить env-файлы
На рабочей машине оператора:
cp proxmox/ct-vars.example.env <PRIVATE_CONFIG_DIR>/activitywatch-ct.env
cp aw-server/aw-server.env.example <PRIVATE_CONFIG_DIR>/activitywatch-aw.env
Заполнить оба файла реальными значениями вне git.
2. Создать CT на Proxmox
На узле Proxmox:
cd /path/to/ActivityWatch-Russian
./proxmox/create-ct.sh <PRIVATE_CONFIG_DIR>/activitywatch-ct.env
Скрипт:
- валидирует обязательные переменные;
- создаёт Debian 12 CT;
- запускает контейнер;
- выполняет минимальный bootstrap пакетов;
- готовит
<CT_BOOTSTRAP_DIR>для дальнейшей загрузки артефактов.
3. Загрузить артефакты в CT
На узле Proxmox:
./proxmox/push-aw-artifacts.sh <PRIVATE_CONFIG_DIR>/activitywatch-ct.env
pct push <CT_ID> <PRIVATE_CONFIG_DIR>/activitywatch-aw.env /etc/activitywatch/aw-server.env
В CT будут загружены:
install_aw_server.shapply_webui_ru_patch.shactivitywatch-server.serviceaw-ru-patch.jsaw-sw-cleanup.js
4. Установить ActivityWatch Server
Внутри CT:
pct enter <CT_ID>
bash <CT_BOOTSTRAP_DIR>/install_aw_server.sh
Скрипт установки:
- ставит
curl,unzip,jq,ca-certificates; - создаёт пользователя
activitywatch; - скачивает release
aw-server-rust; - раскладывает бинарник по версиям;
- создаёт активный symlink;
- копирует systemd unit;
- включает и запускает сервис.
5. Применить RU patch для Web UI
Внутри CT:
bash <CT_BOOTSTRAP_DIR>/apply_webui_ru_patch.sh
systemctl restart activitywatch-server.service
Патч:
- копирует
aw-ru-patch.jsиaw-sw-cleanup.js; - делает backup
index.html; - добавляет include в
index.html; - заменяет
service-worker.jscleanup-версией для сброса старого cache; - включает DLP Web UI override: верхнее меню
DLP, центрDLP review и правила, bucketsaw-dlp-review_<HOST>иaw-dlp-rules_<HOST>.
6. Проверить сервис
systemctl status activitywatch-server.service --no-pager
curl -fsS http://127.0.0.1:5600/api/0/info
ss -ltnp | grep 5600
grep -n 'aw-ru-patch\|aw-sw-cleanup' /opt/activitywatch/webui-ru/index.html
Ожидаемо:
- сервис
active (running); - API отвечает;
- порт слушается;
- в
index.htmlесть оба include.
7. После публикации
Проверить извне:
- открывается
/; - API доступен по ожидаемому URL;
- после hard refresh видна русификация;
- в верхнем меню доступен
DLPи он открывает#/buckets/aw-dlp-endpoint-signals_<HOST>; - на DLP bucket-странице доступны секции
DLP review и правила,DLP Rules,DLP Review; - reverse proxy не кэширует старую статику.
8. Что зафиксировать после ввода
- дата ввода;
- узел Proxmox;
CT_ID;- IP/FQDN;
- версия
aw-server-rust; - место хранения backup;
- фактическая схема публикации.