From dd8c9ee54d89a0a0bb45eeb62928e4785c248852 Mon Sep 17 00:00:00 2001
From: John BigoudOps <101472804+BigoudOps@users.noreply.github.com>
Date: Tue, 2 Jan 2024 06:12:09 +0100
Subject: [PATCH] Joplin (#478)
---
docs/AppList.md | 3 +-
docs/DocumentList.md | 4 +--
images/joplin.png | Bin 0 -> 4043 bytes
stack/joplin-server.yml | 32 ++++++++++++++++++
template/apps/joplin-server.json | 54 +++++++++++++++++++++++++++++++
template/portainer-v2-amd64.json | 52 +++++++++++++++++++++++++++++
template/portainer-v2-arm64.json | 52 +++++++++++++++++++++++++++++
7 files changed, 194 insertions(+), 3 deletions(-)
create mode 100644 images/joplin.png
create mode 100644 stack/joplin-server.yml
create mode 100644 template/apps/joplin-server.json
diff --git a/docs/AppList.md b/docs/AppList.md
index 66857fe8..2048191c 100644
--- a/docs/AppList.md
+++ b/docs/AppList.md
@@ -4,7 +4,7 @@ List of all apps included in this project with info related to it.
|**Arm32:** |**Arm64:**|**Amd64:**|**Total:**|
|:-------------------|:--------:|:--------:|:--------:|
-| 106 apps | 225 apps | 227 apps | 230 apps |
+| 106 apps | 226 apps | 228 apps | 231 apps |
---
@@ -102,6 +102,7 @@ List of all apps included in this project with info related to it.
|[Jellyfin](https://jellyfin.org/)|:x:|:heavy_check_mark:|:heavy_check_mark:|Container| [![](../build/images/blue_doc_icon.png)](https://docs.linuxserver.io/images/docker-jellyfin) | | | |
|[Jellyseerr](https://github.com/Fallenbagel/jellyseerr)|:x:|:heavy_check_mark:|:heavy_check_mark:|Container| [![](../build/images/blue_doc_icon.png)](https://hub.docker.com/r/fallenbagel/jellyseerr) | | | |
|[Jellyfin-Accounts](https://jfa-go.com/)|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|Container| [![](../build/images/blue_doc_icon.png)](https://wiki.jfa-go.com/) | | | |
+|[Joplin server](https://hub.docker.com/r/etechonomy/joplin-server)|:x:|:heavy_check_mark:|:heavy_check_mark:|Stack| [![](../build/images/blue_doc_icon.png)](https://github.com/etechonomy/joplin-server) | | | |
|[Kasm](https://www.kasmweb.com/)|:x:|:heavy_check_mark:|:heavy_check_mark:|Container| [![](../build/images/blue_doc_icon.png)](https://github.com/linuxserver/docker-kasm) | | | |
|[Kasm with renderD128 support](https://www.kasmweb.com/)|:x:|:heavy_check_mark:|:heavy_check_mark:|Container| [![](../build/images/blue_doc_icon.png)](https://github.com/linuxserver/docker-kasm) | | | |
|[Kavita](https://www.kavitareader.com/#home)|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|Container| [![](../build/images/blue_doc_icon.png)](https://wiki.kavitareader.com/en/install/docker-install) | | | |
diff --git a/docs/DocumentList.md b/docs/DocumentList.md
index b3e90f48..cb2de1dc 100644
--- a/docs/DocumentList.md
+++ b/docs/DocumentList.md
@@ -8,9 +8,9 @@ List of all Documents used within this project with related Apps and Videos.
| File Name | Description | Related Apps | YouTube |
| --------- | ----------- | ------------ |:-------:|
|[macvlan_setup.md](../docs/macvlan_setup.md)|Attach a container directly to local network (macvlan)|||
-|[nginx_proxy_manager.md](../docs/nginx_proxy_manager.md)|Install and setup instructions for Nginx Proxy Manager (NPM)|Nginx Proxy Manager v2 with Mysql and Goaccess Charts [DEPRECATED]
Nginx Proxy Manager v2 with Sqlite and Goaccess Charts
Nginx Proxy Manager v2 with Sqllite
Nginx Proxy Manager v3 [DEVEL] NOT READY FOR USE
Nginx Proxy Manager v2 with Mysql [DEPRECATED]|[![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=plastic&logo=youtube&logoColor=white)]("https://www.youtube.com/watch?v=yl2Laxbqvo8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=10")|
+|[nginx_proxy_manager.md](../docs/nginx_proxy_manager.md)|Install and setup instructions for Nginx Proxy Manager (NPM)|Nginx Proxy Manager v2 with Sqllite
Nginx Proxy Manager v2 with Sqlite and Goaccess Charts
Nginx Proxy Manager v2 with Mysql [DEPRECATED]
Nginx Proxy Manager v2 with Mysql and Goaccess Charts [DEPRECATED]
Nginx Proxy Manager v3 [DEVEL] NOT READY FOR USE|[![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=plastic&logo=youtube&logoColor=white)]("https://www.youtube.com/watch?v=yl2Laxbqvo8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=10")|
|[photoprism.md](../docs/photoprism.md)|Install and Setup Instructions for PhotoPrism Stack|PhotoPrism||
-|[pi-hole.md](../docs/pi-hole.md)|Install and Setup Pi-Hole for Network-Wide Ad Block|Pi-Hole
Pi-Hole-Unbound
Pi-Hole DoH/DoT||
+|[pi-hole.md](../docs/pi-hole.md)|Install and Setup Pi-Hole for Network-Wide Ad Block|Pi-Hole
Pi-Hole DoH/DoT
Pi-Hole-Unbound||
|[rpi_docker_monitor.md](../docs/rpi_docker_monitor.md)|Install and setup instructions for the RPI Docker Monitor|Raspberry Pi Docker Monitor|[![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=plastic&logo=youtube&logoColor=white)]("https://www.youtube.com/watch?v=IoD3vFuep64&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=8")|
|[searxng.md](../docs/searxng.md)|Install and Setup Instructions for SearXNG Meta Search|SearXNG||
|[throttled.md](../docs/throttled.md)|Install and Setup Instructions for the Throttled Script|||
diff --git a/images/joplin.png b/images/joplin.png
new file mode 100644
index 0000000000000000000000000000000000000000..da72613fd7d7b5637e2ef63a5ab5d9b06f2ca05f
GIT binary patch
literal 4043
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
literal 0
HcmV?d00001
diff --git a/stack/joplin-server.yml b/stack/joplin-server.yml
new file mode 100644
index 00000000..d39b2973
--- /dev/null
+++ b/stack/joplin-server.yml
@@ -0,0 +1,32 @@
+version: "3.7"
+services:
+ joplin:
+ image: etechonomy/joplin-server:latest
+ container_name: joplin-server
+ environment:
+ - APP_BASE_URL=${URL}
+ - APP_PORT=${__PORT__}
+ - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
+ - POSTGRES_DATABASE=${POSTGRES_DATABASE}
+ - POSTGRES_USER=${POSTGRES_USER}
+ - POSTGRES_PORT=5432
+ - POSTGRES_HOST=joplin-db
+ - DB_CLIENT=pg
+
+ restart: unless-stopped
+ ports:
+ - 22300:22300
+ joplin-db:
+ image: postgres:15
+ container_name: joplin-db
+ restart: unless-stopped
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
+ ports:
+ - 5432:5432
+ volumes:
+ - /foo/bar/joplin-data:/var/lib/postgresql/data
+ environment:
+ POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
+ POSTGRES_USER: ${POSTGRES_USER}
+ POSTGRES_DB: ${POSTGRES_DB}
diff --git a/template/apps/joplin-server.json b/template/apps/joplin-server.json
new file mode 100644
index 00000000..a814e18f
--- /dev/null
+++ b/template/apps/joplin-server.json
@@ -0,0 +1,54 @@
+{
+ "categories": [
+ "Backup",
+ "CMD",
+ "Web",
+ "Tools"
+ ],
+ "description": "Joplin Server is a web app that allows you to sync and share notes with Joplin, a popular note-taking app.",
+ "env": [
+ {
+ "default":"http://localhost:22300",
+ "label":"URL",
+ "name" : "URL"
+ },
+ {
+ "default":"22300",
+ "label":"APP_PORT",
+ "name":"__PORT__"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_USER",
+ "name": "POSTGRES_USER"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_DB",
+ "name": "POSTGRES_DB"
+ },
+ {
+ "default":"joplin",
+ "label":"POSTGRES_DATABASE",
+ "name": "POSTGRES_DATABASE"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_PASSWORD",
+ "name": "POSTGRES_PASSWORD"
+ }
+ ],
+ "logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/joplin.png",
+ "name": "joplin-server",
+ "officialDoc": "https://github.com/etechonomy/joplin-server",
+ "platform": "linux",
+ "repository": {
+ "stackfile_arm64": "stack/joplin-server.yml",
+ "stackfile_amd64": "stack/joplin-server.yml",
+ "url": "https://github.com/pi-hosted/pi-hosted/master/"
+ },
+ "restart_policy": "unless-stopped",
+ "title": "Joplin server",
+ "type": 3,
+ "webpage": "https://hub.docker.com/r/etechonomy/joplin-server"
+}
diff --git a/template/portainer-v2-amd64.json b/template/portainer-v2-amd64.json
index a336937d..d4ac92a9 100644
--- a/template/portainer-v2-amd64.json
+++ b/template/portainer-v2-amd64.json
@@ -3831,6 +3831,58 @@
],
"note": "Template created by Pi-Hosted Series
Check our Github page: https://github.com/pi-hosted/pi-hosted
Official Webpage: https://github.com/Fallenbagel/jellyseerr
Official Docker Documentation: https://hub.docker.com/r/fallenbagel/jellyseerr
"
},
+ {
+ "categories": [
+ "Backup",
+ "CMD",
+ "Web",
+ "Tools"
+ ],
+ "description": "Joplin Server is a web app that allows you to sync and share notes with Joplin, a popular note-taking app.",
+ "env": [
+ {
+ "default": "http://localhost:22300",
+ "label": "URL",
+ "name": "URL"
+ },
+ {
+ "default": "22300",
+ "label": "APP_PORT",
+ "name": "__PORT__"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_USER",
+ "name": "POSTGRES_USER"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_DB",
+ "name": "POSTGRES_DB"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_DATABASE",
+ "name": "POSTGRES_DATABASE"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_PASSWORD",
+ "name": "POSTGRES_PASSWORD"
+ }
+ ],
+ "logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/joplin.png",
+ "name": "joplin-server",
+ "platform": "linux",
+ "repository": {
+ "stackfile": "stack/joplin-server.yml",
+ "url": "https://github.com/pi-hosted/pi-hosted/master/"
+ },
+ "restart_policy": "unless-stopped",
+ "title": "Joplin server",
+ "type": 3,
+ "note": "Template created by Pi-Hosted Series
Check our Github page: https://github.com/pi-hosted/pi-hosted
Official Webpage: https://hub.docker.com/r/etechonomy/joplin-server
Official Docker Documentation: https://github.com/etechonomy/joplin-server
"
+ },
{
"categories": [
"Utilities",
diff --git a/template/portainer-v2-arm64.json b/template/portainer-v2-arm64.json
index a9b77bdf..742ec67b 100644
--- a/template/portainer-v2-arm64.json
+++ b/template/portainer-v2-arm64.json
@@ -3732,6 +3732,58 @@
],
"note": "Template created by Pi-Hosted Series
Check our Github page: https://github.com/pi-hosted/pi-hosted
Official Webpage: https://github.com/Fallenbagel/jellyseerr
Official Docker Documentation: https://hub.docker.com/r/fallenbagel/jellyseerr
"
},
+ {
+ "categories": [
+ "Backup",
+ "CMD",
+ "Web",
+ "Tools"
+ ],
+ "description": "Joplin Server is a web app that allows you to sync and share notes with Joplin, a popular note-taking app.",
+ "env": [
+ {
+ "default": "http://localhost:22300",
+ "label": "URL",
+ "name": "URL"
+ },
+ {
+ "default": "22300",
+ "label": "APP_PORT",
+ "name": "__PORT__"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_USER",
+ "name": "POSTGRES_USER"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_DB",
+ "name": "POSTGRES_DB"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_DATABASE",
+ "name": "POSTGRES_DATABASE"
+ },
+ {
+ "default": "joplin",
+ "label": "POSTGRES_PASSWORD",
+ "name": "POSTGRES_PASSWORD"
+ }
+ ],
+ "logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/joplin.png",
+ "name": "joplin-server",
+ "platform": "linux",
+ "repository": {
+ "stackfile": "stack/joplin-server.yml",
+ "url": "https://github.com/pi-hosted/pi-hosted/master/"
+ },
+ "restart_policy": "unless-stopped",
+ "title": "Joplin server",
+ "type": 3,
+ "note": "Template created by Pi-Hosted Series
Check our Github page: https://github.com/pi-hosted/pi-hosted
Official Webpage: https://hub.docker.com/r/etechonomy/joplin-server
Official Docker Documentation: https://github.com/etechonomy/joplin-server
"
+ },
{
"categories": [
"Utilities",