Files
AWatch-rus/docs/wiki/Server-Setup.md
T
igor04091968andDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> eb83a8b08f docs(wiki): add GitHub wiki pages for documentation
- Home page with navigation and quick start
- Architecture overview with layers and data flows
- Components documentation for all system parts
- Interactive map guide with usage instructions
- DLP Endpoint Monitoring detailed guide
- Browser Domains Monitoring guide
- WebUI Russian Patches documentation
- Windows Installation guide
- Server Setup guide
- Monitoring Setup with Prometheus/Grafana

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-05 01:56:30 +03:00

5.0 KiB

Настройка сервера

Настройка Linux сервера для ActivityWatch-Russian.

Требования

  • Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+)
  • Python 3.8+
  • PostgreSQL 12+
  • 4GB+ RAM
  • 50GB+ disk space

Установка через Ansible

cd ansible
ansible-playbook server-setup.yml

Ручная установка

1. Установка ActivityWatch Server

# Скачайте binaries
wget https://github.com/ActivityWatch/activitywatch/releases/download/v0.13.1/activitywatch-v0.13.1-linux-x86_64.zip

# Распакуйте
unzip activitywatch-v0.13.1-linux-x86_64.zip
cd activitywatch-v0.13.1-linux-x86_64

# Запустите сервер
./aw-server

2. Установка PostgreSQL

# Ubuntu/Debian
sudo apt update
sudo apt install postgresql postgresql-contrib

# CentOS/RHEL
sudo yum install postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Создайте базу данных
sudo -u postgres psql
CREATE DATABASE activitywatch;
CREATE USER aw WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE activitywatch TO aw;
\q

3. Применение RU патчей

# Скопируйте патчи
cp aw-server/aw-ru-patch.js /path/to/aw-server/
cp aw-server/aw-sw-cleanup.js /path/to/aw-server/

# Примените патчи
cd /path/to/aw-server/
node aw-ru-patch.js

4. Настройка systemd service

sudo nano /etc/systemd/system/aw-server.service
[Unit]
Description=ActivityWatch Server
After=network.target

[Service]
Type=simple
User=aw
WorkingDirectory=/opt/activitywatch
ExecStart=/opt/activitywatch/aw-server
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
sudo systemctl enable aw-server
sudo systemctl start aw-server

Конфигурация

ActivityWatch Config

# /opt/activitywatch/server-config.toml
[server]
host = "0.0.0.0"
port = 5600

[logging]
level = "INFO"
file = "/var/log/activitywatch/aw-server.log"

PostgreSQL Config

# /etc/postgresql/12/main/postgresql.conf
listen_addresses = '*'
max_connections = 100
shared_buffers = 256MB

Установка Python зависимостей

# Создайте virtual environment
python3 -m venv /opt/aw-venv
source /opt/aw-venv/bin/activate

# Установите зависимости
pip install psycopg2-binary requests prometheus_client

Настройка скриптов агрегации

# Скопируйте скрипты
cp scripts/aggregate_dlp_events.py /opt/activitywatch/

# Настройте cron job
crontab -e
*/5 * * * * /opt/aw-venv/bin/python /opt/activitywatch/aggregate_dlp_events.py

Firewall

# Ubuntu/Debian (ufw)
sudo ufw allow 5600/tcp
sudo ufw allow 5432/tcp
sudo ufw enable

# CentOS/RHEL (firewalld)
sudo firewall-cmd --permanent --add-port=5600/tcp
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

Проверка

# Проверка ActivityWatch Server
curl http://localhost:5600/api/0/buckets

# Проверка PostgreSQL
sudo -u postgres psql -c "SELECT version();"

# Проверка логов
sudo journalctl -u aw-server -f

Мониторинг

# Проверка статуса
sudo systemctl status aw-server

# Проверка ресурсов
htop

# Проверка диска
df -h

# Проверка PostgreSQL
sudo -u postgres psql -c "SELECT pg_stat_database.datname, pg_stat_database.numbackends FROM pg_stat_database;"

Backup

# Backup PostgreSQL
sudo -u postgres pg_dump activitywatch > backup_$(date +%Y%m%d).sql

# Backup ActivityWatch data
sudo tar -czf aw-backup_$(date +%Y%m%d).tar.gz /opt/activitywatch/data

# Restore
sudo -u postgres psql activitywatch < backup_20240101.sql

Обновление

# Остановите сервер
sudo systemctl stop aw-server

# Backup
sudo cp -r /opt/activitywatch /opt/activitywatch.backup

# Обновите binaries
wget https://github.com/ActivityWatch/activitywatch/releases/download/v0.14.0/activitywatch-v0.14.0-linux-x86_64.zip
unzip activitywatch-v0.14.0-linux-x86_64.zip -d /opt/activitywatch/

# Запустите сервер
sudo systemctl start aw-server

Устранение проблем

Server не запускается

# Проверьте логи
sudo journalctl -u aw-server -n 50

# Проверьте порт
sudo netstat -tlnp | grep 5600

# Проверьте права
sudo ls -la /opt/activitywatch

PostgreSQL connection refused

# Проверьте статус
sudo systemctl status postgresql

# Проверьте конфиг
sudo cat /etc/postgresql/12/main/postgresql.conf | grep listen_addresses

# Проверьте firewall
sudo ufw status

Подробнее