Joplin-Server - Docker-Compose File

Joplin ist eine kostenlose Open-Source-Software zur Organisation von Notizen, die für die Betriebssysteme macOS, Linux, Microsoft Windows, iOS und Android zur Verfügung steht.

Joplin-Server - Docker-Compose File

Zum Synchronisieren der Joplin-Notizen kann man die Joplin-Cloud benutzen und mit einem kleinen monatlichen Beitrag die Entwicklung von Joplin unterstützen. Wenn du etwas Geld erübrigen kannst und du dich nicht selbst um einen Server kümmern möchtest, dann ist das die perfekte Wahl.

Wenn du genug Know-how mitbringst, dann kannst du die Notizen auch mit einem selbst gehosteten "Joplin Server" zwischen den Geräten synchronisieren. Dafür habe ich ein Docker-Compose-File erstellt. Das File habe ich natürlich an MEINE Bedürfnisse angepasst. Es soll vor allem Ideen liefern und nicht eins zu eins übernommen werden. Hier ist das von mir verwendete Docker-Compose-File:

docker_compose.yaml:

networks:

  # Dieses Netz muss mit `docker network create --internal proxynet` erstellt werden.
  proxynet:
    external: true


services:


  postgres:

    image: postgres:15-alpine

    logging:
      driver: journald
      options:
        tag: "{{.Name}} "

    restart: unless-stopped

    environment:
      POSTGRES_USER: "joplin"
      POSTGRES_PASSWORD: "xxxxx"
      POSTGRES_DB: "joplin"

    volumes:
      - "../../docker_data/joplin/postgres/data:/var/lib/postgresql/data"


  joplin:

    image: joplin/server

    logging:
      driver: journald
      options:
        tag: "{{.Name}} "

    restart: unless-stopped

    depends_on:
      - postgres

    environment:
      APP_BASE_URL: "https://joplin.xxxx.xx"
      APP_PORT: "22300"

      DB_CLIENT: "pg"
      POSTGRES_PASSWORD: "xxxxx"
      POSTGRES_DATABASE: "joplin"
      POSTGRES_USER: "joplin"
      POSTGRES_PORT: "5432"
      POSTGRES_HOST: "postgres"

      MAILER_ENABLED: "true"
      MAILER_HOST: "smtp.sendgrid.net"
      MAILER_PORT: "587"
      MAILER_SECURITY: "starttls"
      MAILER_AUTH_USER: "apikey"
      MAILER_AUTH_PASSWORD: "xxxxx"
      MAILER_NOREPLY_NAME: "Joplin-Server"
      MAILER_NOREPLY_EMAIL: "xxxxx@xxxxx.at"

    networks:
      default:
        aliases:
          - joplin
      proxynet:
        aliases:
          - joplin

Natürlich musst du es an deine persönliche Docker-Umgebung anpassen. Besonders interessant dabei ist, dass ich zum Senden von E-Mails Sendgrid eingebunden habe. Die Daten werden alle in einem PostgreSQL-Server gespeichert – auch die Binärdaten. Somit wird für den Joplin-Server-Dienst kein "Volume" benötigt.

Wenn du wissen möchtest, wie ein Server für Docker-Compose vorbereitet werden kann, dann empfehle ich dir die "Cloud-Server-Serie" https://gp-softwaretechnik.at/cloud-server-serie/ in der alles dazu in Videos erklärt wird.

Hier sind noch zwei URLs zu diesem Thema, die dir beim Erstellen des Docker-Compose-Files helfen werden: