adri vor 3 Wochen
Commit
9681fe74c1
4 geänderte Dateien mit 97 neuen und 0 gelöschten Zeilen
  1. 1 0
      .gitignore
  2. 28 0
      Dockerfile
  3. 52 0
      compose.yml
  4. 16 0
      env.example

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+.env

+ 28 - 0
Dockerfile

@@ -0,0 +1,28 @@
+FROM node:24-trixie-slim
+
+RUN apt update && \
+  apt -y install git pkg-config bat python3.13 python3-setuptools python3-wheel jq && \
+  npm install -g http-server electron && \
+  corepack enable && \
+  rm -rf /var/apt/lists
+
+WORKDIR /build
+
+RUN git clone https://github.com/laurent22/joplin.git
+
+WORKDIR /build/joplin
+
+RUN yarn install --inline-builds --json | jq -r '"\(.indent) | \(.type) | \(.data)"'
+
+WORKDIR /build/joplin/packages/app-mobile && \
+  yarn web && \
+  mv web/dist /app && \
+  chown -R www-data:www-data /app
+
+USER www-data
+
+WORKDIR /app
+
+EXPOSE 8080
+
+CMD ["http-server", "-p", "8080"]

+ 52 - 0
compose.yml

@@ -0,0 +1,52 @@
+services:
+  joplin_db:
+    container_name: joplin_db
+    image: postgres:16
+    volumes:
+      - /home/notes/data/postgres:/var/lib/postgresql/data
+    restart: unless-stopped
+    environment:
+      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
+      - POSTGRES_USER=${POSTGRES_USER}
+      - POSTGRES_DB=${POSTGRES_DATABASE}
+
+  joplin_app:
+    container_name: joplin_app
+    image: joplin/server:latest
+    depends_on:
+      - joplin_db
+    ports:
+      - "22300:22300"
+    restart: unless-stopped
+    environment:
+      - APP_PORT=22300
+      - APP_BASE_URL=${APP_BASE_URL}
+      - DB_CLIENT=pg
+      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
+      - POSTGRES_DATABASE=${POSTGRES_DATABASE}
+      - POSTGRES_USER=${POSTGRES_USER}
+      - POSTGRES_PORT=5432
+      - POSTGRES_HOST=joplin_db
+      - APP_NAME=${APP_NAME}
+      - COOKIES_SECURE=${COOKIES_SECURE}
+      - MAILER_ENABLED=true
+      - MAILER_HOST=${MAILER_HOST}
+      - MAILER_AUTH_USER=${MAILER_AUTH_USER}
+      - MAILER_AUTH_PASSWORD=${MAILER_AUTH_PASSWORD}
+      - MAILER_NOREPLY_NAME=${MAILER_NOREPLY_NAME}
+      - MAILER_NOREPLY_EMAIL=${MAILER_NOREPLY_EMAIL}
+      - SUPPORT_EMAIL=${SUPPORT_EMAIL}
+      - SUPPORT_NAME=${SUPPORT_NAME}
+  
+  joplin_web:
+    container_name: joplin_web
+    build:
+      context: .
+      dockerfile: Dockerfile
+    # depends_on:
+    #   - joplin_app
+    restart: unless-stopped
+    ports:
+      - "8880:8080"
+    
+    

+ 16 - 0
env.example

@@ -0,0 +1,16 @@
+APP_NAME="dgtlu notes"
+APP_BASE_URL=https://notes.mydomain.com
+APP_PORT=22300
+# USER_CONTENT_BASE_URL=https://notes.mydomain.com
+COOKIES_SECURE=false
+DB_CLIENT=pg
+POSTGRES_PASSWORD=secret
+POSTGRES_DATABASE=joplin
+POSTGRES_USER=joplin
+MAILER_HOST=mail.mydomain.com
+MAILER_AUTH_USER=apps@mydomain.com
+MAILER_AUTH_PASSWORD=secret
+MAILER_NOREPLY_NAME=noreply
+MAILER_NOREPLY_EMAIL=noreply@mydomain.com
+SUPPORT_EMAIL=apps@mydomain.com
+SUPPORT_NAME="Joplin Support"