@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=Daily dilib database backup
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 02:15:00
|
||||
RandomizedDelaySec=600
|
||||
Persistent=true
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user