# crushdb systemd unit # # Installieren (als root): # cp deploy/crushdb.service /etc/systemd/system/ # systemctl daemon-reload # systemctl enable --now crushdb # # Die App lauscht auf http://127.0.0.1:8085 (siehe Environment unten) # hinter einem vertrauenswürdigen Reverse Proxy (nginx/caddy), der # TLS terminiert. [Unit] Description=crushdb - encrypted record database (Flask) After=network.target [Service] Type=simple # Pfade anpassen, wo dieses Repo liegt: User=jonas Group=jonas WorkingDirectory=/srv/crushdb ExecStart=/srv/crushdb/venv/bin/python /srv/crushdb/run.py Environment=HOST=127.0.0.1 Environment=PORT=8085 # Nur der SQLite-Ordner darf beschrieben werden; sonst ist das FS read-only. ReadWritePaths=/srv/crushdb/instance # Hardening: nur das nötigste erlauben NoNewPrivileges=yes PrivateTmp=yes ProtectSystem=strict ProtectHome=yes ProtectKernelTunables=yes ProtectControlGroups=yes RestrictSUIDSGID=yes CapabilityBoundingSet= RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target