Installation (Self-hosted)
Notory läuft als Container-Stack. Empfohlen: PostgreSQL oder MariaDB. SQLite dient nur zum Testen ohne separate Datenbank.
Voraussetzungen
- Docker + Docker Compose
- Eine Datenbank: PostgreSQL 16+ oder MariaDB 11.x
- Optional: Reverse-Proxy (nginx/Traefik) mit TLS
1. Umgebungsvariablen (.env)
# Datenbank (eine Zeile wählen)
DATABASE_URL=postgresql://inv:secret@db:5432/notory
# DATABASE_URL=mariadb://inv:secret@db:3306/notory
# Sicherheit
SECRET_KEY=bitte-langen-zufallswert-setzen
# Lizenz (optional - ohne Key läuft Community, max. 30 Assets)
LICENSE_KEY=
# Öffentlicher Verifizierungsschlüssel ist im Produkt gebündelt;
# alternativ eigener Pfad/Inhalt:
# LICENSE_PUBLIC_KEY_PATH=/keys/license_public.pem
2. docker-compose.yml
services:
db:
image: postgres:16
environment:
POSTGRES_USER: inv
POSTGRES_PASSWORD: secret
POSTGRES_DB: notory
volumes: [ "dbdata:/var/lib/postgresql/data" ]
backend:
image: notory/backend:latest
env_file: .env
depends_on: [ db ]
web:
image: notory/web:latest
ports: [ "8080:80" ] # nginx reverse proxy
depends_on: [ backend ]
volumes:
dbdata:
MariaDB statt PostgreSQL: den db-Dienst auf mariadb:11 umstellen und die DATABASE_URL entsprechend setzen.
3. Starten & Migrationen
docker compose up -d
# Datenbank-Schema anlegen/aktualisieren:
docker compose exec backend alembic upgrade head
Anschließend ist die Oberfläche unter http://SERVER:8080 erreichbar. Legen Sie beim ersten Aufruf den ersten Mandanten und Admin an.
4. TLS / Reverse-Proxy
Für Produktion einen Reverse-Proxy mit Zertifikat vorschalten (Let's Encrypt). Leiten Sie HTTPS auf den web-Dienst (Port 8080).
5. Lizenz einspielen
Tragen Sie den LICENSE_KEY in die .env ein und starten Sie den backend-Dienst neu. Status prüfen unter Admin → Lizenz. Siehe Lizenzierung.
Hinweis: Image-Namen/Tags sind Platzhalter - die konkreten Bezugsquellen erhalten Sie mit Ihrer Bestellung. Fragen?