Neues Dokument erstellen

Der Titel Ihres Dokuments (wird als H1 angezeigt)
URL-freundlicher Name (keine Leerzeichen, Bindestriche verwenden)
Pfad, unter dem das Dokument erstellt werden soll (optional, verwenden Sie Schrägstriche, um Unterverzeichnisse zu erstellen)

Dokument verschieben/umbenennen

Aktueller Speicherort des Dokuments
Neuer Pfad für das Dokument (einschließlich des Slugs)
Dies ändert nur den Pfad des Dokuments und nicht den Titel des Dokuments (H1-Überschrift).

Dokument löschen

Sind Sie sicher, dass Sie dieses Dokument löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.

Warnung: Wenn dies ein Ordner ist, wird der gesamte Inhalt einschließlich Unterordner und Dokumente gelöscht.

Message

Message content goes here.

Confirm Action

Are you sure?

Anhänge

Erlaubte Dateitypen: jpg, jpeg, png, gif, svg, webp, txt, log, csv, sfd, zip, pdf, docx, xlsx, pptx, mp4 (Max: 10MB)

Dokumentdateien

Angehängte Dateien werden geladen...

Dokumentverlauf

Frühere Versionen

Loading versions...

Vorschau

Wählen Sie eine Version zur Vorschau

Wiki-Einstellungen

Sprache für die Benutzeroberfläche
Bestimmt, welche Protokollmeldungen in die Konsole geschrieben werden (debug, info, warn, error)
Anzahl der zu speichernden Versionen pro Dokument. Auf 0 setzen, um die Versionierung zu deaktivieren.
Maximal erlaubte Dateigröße für Uploads in MB.

Benutzerverwaltung

Neuen Benutzer hinzufügen

Leer lassen, um das aktuelle Passwort beizubehalten
Benutzer in diesen Gruppen können auf eingeschränkte Bereiche zugreifen.

Definieren Sie pfadbasierte Zugriffsregeln für Bereiche Ihres Wikis. Regeln werden in der Reihenfolge ausgewertet. Die erste Übereinstimmung gewinnt.

Aktive Regeln

Markdown-Dateien aus einem ZIP-Archiv importieren. Dateien werden verarbeitet und in der entsprechenden Dokumentstruktur gespeichert. Die Verzeichnisstruktur in der ZIP-Datei (Kategorie/Unterkategorie) wird im Wiki beibehalten.

Laden Sie ein ZIP-Archiv hoch, das Markdown-Dateien (.md) zum Importieren enthält.

Erstellen und verwalten Sie Backups Ihrer Wiki-Daten. Backups umfassen alle Dokumente, Bilder und Konfigurationsdateien.

Verfügbare Backups

Lade Backups...

Zugriffsregel hinzufügen/bearbeiten

Ausgewählt: /

Spalte hinzufügen

Firefly III

Firefly III ist eine selbst gehostete Finanzverwaltung (Budgets, Konten, Transaktionen, Berichte) mit Weboberfläche, PostgreSQL/MySQL-Backend und optionalem Datenimport-Tool.


Voraussetzungen

Keine.

Tip

Optional

Wenn Firefly III auch von außerhalb des Heimnetzes erreichbar sein soll, werden zusätzlich folgende Komponenten benötigt:

  • eine Domain, die auf den Router zeigt
  • Portweiterleitungen für 80 und 443 vom Router zum Nginx Proxy Manager (NPM)
  • eine Subdomain
  • ein entsprechender Proxy-Host im Nginx Proxy Manager, der auf den Docker-Container weiterleitet

Verzeichnisse anlegen

Proxmox-VM

mkdir /syno/firefly
mkdir /syno/firefly/upload
mkdir /syno/firefly/config
mkdir /syno/firefly/db
mkdir /syno/firefly/importer

Synology

Im Docker-Ordner folgende Verzeichnisstruktur anlegen:

firefly
firefly/upload
firefly/config
firefly/db
firefly/importer

Compose-Stack

version: '3.8'

services:
  app:
    image: fireflyiii/core:latest
    hostname: firefly-app
    container_name: firefly_iii_app
    restart: always
    ports:
      - 2222:8080
    volumes:
      # Für die Proxmox-VM verwenden
      - /syno/firefly/upload:/var/www/html/storage/upload
      - /syno/firefly/config:/var/www/html/storage/app/config
      - /syno/firefly/db:/var/lib/mysql

      # Für die Synology verwenden
      # Volume-Nummer ggf. anpassen
      - /volume2/docker/firefly/upload:/var/www/html/storage/upload
      - /volume2/docker/firefly/config:/var/www/html/storage/app/config
      - /volume2/docker/firefly/db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/v1/about"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 60s
    environment:
      - APP_KEY=<app-key>
      - APP_URL=http://192.168.111.35:2222
      - DB_HOST=db
      - DB_PORT=3306
      - DB_CONNECTION=mysql
      - DB_DATABASE=<db-name>
      - DB_USERNAME=<db-user>
      - DB_PASSWORD=<db-passwort>
      - TZ=Europe/Berlin
      - STATIC_CRON_TOKEN=<static-cron-token>
    networks:
      - firefly_net
    depends_on:
      - db

  db:
    image: mariadb:lts
    hostname: firefly-db
    container_name: firefly_iii_db
    restart: always
    environment:
      - MYSQL_DATABASE=<db-name>
      - MYSQL_USER=<db-user>
      - MYSQL_PASSWORD=<db-passwort>
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
    volumes:
      # Für die Proxmox-VM verwenden
      - /syno/firefly/db:/var/lib/mysql

      # Für die Synology verwenden
      # Volume-Nummer ggf. anpassen
      - /volume2/docker/firefly/db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - firefly_net

  cron:
    image: alpine:latest
    restart: always
    container_name: firefly_iii_cron
    command: >
      sh -c "
        apk add --no-cache tzdata curl crond &&
        cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime &&
        echo 'Europe/Berlin' > /etc/timezone &&
        echo '0 3 * * * curl -X POST http://app:8080/api/v1/cron/$${STATIC_CRON_TOKEN}' |
        crontab - &&
        crond -f -L /dev/stdout"
    environment:
      - STATIC_CRON_TOKEN=<static-cron-token>
    networks:
      - firefly_net
    depends_on:
      - app

  data-importer:
    image: fireflyiii/data-importer:latest
    container_name: firefly_iii_importer
    ports:
      - 2221:8080
    volumes:
      # Für die Proxmox-VM verwenden
      - /syno/firefly/importer:/data

      # Für die Synology verwenden
      # Volume-Nummer ggf. anpassen
      - /volume2/docker/firefly/importer:/data
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    environment:
      - FIREFLY_III_URL=http://192.168.X.Y:2222
      - FIREFLY_III_ACCESS_TOKEN=<firefly-access-token>
    restart: always

networks:
  firefly_net:
    driver: bridge

Note

Im offiziellen docker-compose.yml des Projekts (firefly-iii/docker) ist kein Healthcheck enthalten. Der Healthcheck für db (healthcheck.sh --connect --innodb_initialized) ist offiziell im MariaDB-Docker-Hub-Image dokumentiert. Die Healthchecks für app und data-importer (wget auf /api/v1/about bzw. /health) wurden selbst erstellt. cron erhält bewusst keinen Healthcheck, da es sich um einen reinen Cron-Runner ohne HTTP-Endpunkt handelt.

Warning

APP_KEY, Datenbank-User/Datenbankname/Datenbank-Passwort, STATIC_CRON_TOKEN und FIREFLY_III_ACCESS_TOKEN sind im obigen Stack durch Platzhalter ersetzt — siehe Notizen.


Web-Zugriff


Volumes

Oberfläche Service Host-Pfad Container-Pfad Zweck
Proxmox-VM app /syno/firefly/upload /var/www/html/storage/upload Datei-Uploads
Proxmox-VM app /syno/firefly/config /var/www/html/storage/app/config Firefly-III-Konfiguration
Proxmox-VM app /syno/firefly/db /var/lib/mysql Zugriff auf die MariaDB-Datenbankdateien
Proxmox-VM db /syno/firefly/db /var/lib/mysql MariaDB-Datenbankdateien
Proxmox-VM data-importer /syno/firefly/importer /data Konfiguration/Zustand des Data-Importers
Synology app /volume2/docker/firefly/upload /var/www/html/storage/upload Datei-Uploads
Synology app /volume2/docker/firefly/config /var/www/html/storage/app/config Firefly-III-Konfiguration
Synology app /volume2/docker/firefly/db /var/lib/mysql Zugriff auf die MariaDB-Datenbankdateien
Synology db /volume2/docker/firefly/db /var/lib/mysql MariaDB-Datenbankdateien
Synology data-importer /volume2/docker/firefly/importer /data Konfiguration/Zustand des Data-Importers

Umgebung

app

Variable Wert Bedeutung
APP_KEY (siehe Notizen) Verschlüsselungsschlüssel der Anwendung (32 Byte, base64)
APP_URL http://192.168.111.35:2222 Basis-URL, unter der Firefly III erreichbar ist
DB_HOST db Hostname der Datenbank (Container-Name)
DB_PORT 3306 Datenbank-Port
DB_CONNECTION mysql Datenbank-Treiber
DB_DATABASE (siehe Notizen) Datenbankname
DB_USERNAME (siehe Notizen) Datenbank-Benutzer
DB_PASSWORD (siehe Notizen) Datenbank-Passwort
TZ Europe/Berlin Zeitzone
STATIC_CRON_TOKEN (siehe Notizen) Token zur Authentifizierung des Cron-Aufrufs (32 Zeichen)

db

Variable Wert Bedeutung
MYSQL_DATABASE (siehe Notizen) Zu erstellende Datenbank
MYSQL_USER (siehe Notizen) Zu erstellender Datenbank-Benutzer
MYSQL_PASSWORD (siehe Notizen) Passwort des Datenbank-Benutzers
MYSQL_RANDOM_ROOT_PASSWORD yes Erzeugt ein zufälliges Root-Passwort (nicht abrufbar)

cron

Variable Wert Bedeutung
STATIC_CRON_TOKEN (siehe Notizen) Token zur Authentifizierung des Cron-Aufrufs (muss mit app übereinstimmen)

data-importer

Variable Wert Bedeutung
FIREFLY_III_URL http://192.168.X.Y:2222 Adresse der Firefly-III-Instanz
FIREFLY_III_ACCESS_TOKEN (siehe Notizen) Personal Access Token für den API-Zugriff auf Firefly III

Netzwerk: eigenes Bridge-Netzwerk firefly_net (app, db, cron)
Neustart-Verhalten: always (alle Services)


Suchergebnisse