init
PostgreSQL integration / tests (push) Has been cancelled

This commit is contained in:
ms
2026-11-09 13:15:48 +01:00
parent 4fb7613689
commit 2c1c48df0c
78 changed files with 2707 additions and 176 deletions
+22
View File
@@ -0,0 +1,22 @@
[Unit]
Description=dilib host agent and optional Celery collector
After=network-online.target
Wants=network-online.target
[Service]
User=dilib-agent
Group=dilib-agent
WorkingDirectory=/opt/dilib-dashboard
EnvironmentFile=/etc/dilib-agent/agent.env
Environment=PYTHONUNBUFFERED=1
ExecStart=/opt/dilib-dashboard/.venv-agent/bin/python -m agent.main
Restart=on-failure
RestartSec=5
TimeoutStopSec=90
UMask=0077
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/dilib-agent
[Install]
WantedBy=multi-user.target
+25
View File
@@ -0,0 +1,25 @@
[Unit]
Description=dilib Operations api
After=network-online.target postgresql.service redis-server.service
Wants=network-online.target
[Service]
Type=simple
User=dilib
Group=dilib
WorkingDirectory=/opt/dilib-dashboard
EnvironmentFile=/etc/dilib-dashboard/dashboard.env
Environment=PYTHONUNBUFFERED=1
Environment=NICEGUI_STORAGE_PATH=/var/lib/dilib-dashboard/nicegui
Environment=MPLCONFIGDIR=/var/lib/dilib-dashboard/matplotlib
ExecStart=/opt/dilib-dashboard/.venv/bin/gunicorn config.wsgi:application --bind 127.0.0.1:8000 --workers 3 --timeout 90 --access-logfile -
Restart=on-failure
RestartSec=5
TimeoutStopSec=60
UMask=0077
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/dilib-dashboard
[Install]
WantedBy=multi-user.target
+11
View File
@@ -0,0 +1,11 @@
[Unit]
Description=dilib PostgreSQL local backup
After=postgresql.service
[Service]
Type=oneshot
User=postgres
Group=postgres
ExecStart=/bin/bash /opt/dilib-dashboard/scripts/backup.sh /var/lib/postgresql/dilib-backups
UMask=0077
NoNewPrivileges=true
PrivateTmp=true
+8
View File
@@ -0,0 +1,8 @@
[Unit]
Description=Daily dilib database backup
[Timer]
OnCalendar=*-*-* 02:15:00
RandomizedDelaySec=600
Persistent=true
[Install]
WantedBy=timers.target
+25
View File
@@ -0,0 +1,25 @@
[Unit]
Description=dilib Operations beat
After=network-online.target postgresql.service redis-server.service
Wants=network-online.target
[Service]
Type=simple
User=dilib
Group=dilib
WorkingDirectory=/opt/dilib-dashboard
EnvironmentFile=/etc/dilib-dashboard/dashboard.env
Environment=PYTHONUNBUFFERED=1
Environment=NICEGUI_STORAGE_PATH=/var/lib/dilib-dashboard/nicegui
Environment=MPLCONFIGDIR=/var/lib/dilib-dashboard/matplotlib
ExecStart=/opt/dilib-dashboard/.venv/bin/celery -A config beat --loglevel=INFO --schedule /var/lib/dilib-dashboard/celerybeat-schedule
Restart=on-failure
RestartSec=5
TimeoutStopSec=60
UMask=0077
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/dilib-dashboard
[Install]
WantedBy=multi-user.target
+20
View File
@@ -0,0 +1,20 @@
[Unit]
Description=Flower with persistent local state
After=network-online.target
[Service]
User=dilib-agent
Group=dilib-agent
WorkingDirectory=/opt/dilib-dashboard
EnvironmentFile=/etc/dilib-agent/flower.env
ExecStart=/opt/dilib-dashboard/.venv-agent/bin/celery --broker=${FLOWER_BROKER_URL} flower --conf=/opt/dilib-dashboard/deploy/flowerconfig.py
Restart=on-failure
RestartSec=5
TimeoutStopSec=60
UMask=0077
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/dilib-flower
[Install]
WantedBy=multi-user.target
+25
View File
@@ -0,0 +1,25 @@
[Unit]
Description=dilib Operations ui
After=network-online.target dilib-api.service
Wants=network-online.target
[Service]
Type=simple
User=dilib
Group=dilib
WorkingDirectory=/opt/dilib-dashboard
EnvironmentFile=/etc/dilib-dashboard/dashboard.env
Environment=PYTHONUNBUFFERED=1
Environment=NICEGUI_STORAGE_PATH=/var/lib/dilib-dashboard/nicegui
Environment=MPLCONFIGDIR=/var/lib/dilib-dashboard/matplotlib
ExecStart=/opt/dilib-dashboard/.venv/bin/python -m frontend.main
Restart=on-failure
RestartSec=5
TimeoutStopSec=60
UMask=0077
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/dilib-dashboard
[Install]
WantedBy=multi-user.target
+25
View File
@@ -0,0 +1,25 @@
[Unit]
Description=dilib Operations worker
After=network-online.target postgresql.service redis-server.service
Wants=network-online.target
[Service]
Type=simple
User=dilib
Group=dilib
WorkingDirectory=/opt/dilib-dashboard
EnvironmentFile=/etc/dilib-dashboard/dashboard.env
Environment=PYTHONUNBUFFERED=1
Environment=NICEGUI_STORAGE_PATH=/var/lib/dilib-dashboard/nicegui
Environment=MPLCONFIGDIR=/var/lib/dilib-dashboard/matplotlib
ExecStart=/opt/dilib-dashboard/.venv/bin/celery -A config worker --loglevel=INFO --concurrency=2
Restart=on-failure
RestartSec=5
TimeoutStopSec=60
UMask=0077
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/dilib-dashboard
[Install]
WantedBy=multi-user.target