mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-07-21 13:42:54 +00:00
[Community Containers] Adding joplin-server (#7983)
* added joplin-server Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * update to container sidecar added depends Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Use latest Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Typo Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Freeze postgres Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Add secret for Joplin DB Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Freeze PGDATA location Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Fix port publishing Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * fix typo Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * fix typo : swap user/db Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Update community-containers/joplin-server/joplin-server.json Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Update community-containers/joplin-server/joplin-server.json Co-authored-by: Simon L. <szaimen@e.mail.de> Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * Update caddy docs to mention subdomain Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> * some adjustments to the readme Signed-off-by: Simon L. <szaimen@e.mail.de> --------- Signed-off-by: lonode <32384862+lonode@users.noreply.github.com> Signed-off-by: Simon L. <szaimen@e.mail.de> Co-authored-by: Simon L. <szaimen@e.mail.de>
This commit is contained in:
@@ -9,6 +9,8 @@ It also covers [seerr](https://github.com/nextcloud/all-in-one/tree/main/communi
|
||||
It also covers [nextcloud-exporter](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter) by listening on `metrics.$NC_DOMAIN`, if installed.
|
||||
It also covers [LocalAI](https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai) by listening on `ai.$NC_DOMAIN`, if installed.
|
||||
It also covers [azuracast](https://github.com/nextcloud/all-in-one/tree/main/community-containers/azuracast) by listening on `radio.$NC_DOMAIN`, if installed.
|
||||
It also covers [joplin-server](https://github.com/nextcloud/all-in-one/tree/main/community-containers/joplin-server) by listening on `joplin.$NC_DOMAIN`, if installed.
|
||||
|
||||
|
||||
### Notes
|
||||
- This container is incompatible with the [npmplus](https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus) community container. So make sure that you do not enable both at the same time!
|
||||
@@ -25,6 +27,7 @@ It also covers [azuracast](https://github.com/nextcloud/all-in-one/tree/main/com
|
||||
- If you want to use this with [nextcloud-exporter](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter), make sure that you point `metrics.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nextcloud-exporter.
|
||||
- If you want to use this with [local AI](https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai), make sure that you point `ai.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for local AI.
|
||||
- If you want to use this with [azuracast](https://github.com/nextcloud/all-in-one/tree/main/community-containers/azuracast), make sure that you point `radio.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for azuracast.
|
||||
- If you want to use this with [Joplin Server](https://github.com/nextcloud/all-in-one/tree/main/community-containers/joplin-server), make sure that you point `joplin.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for local AI.
|
||||
- After the container was started the first time, you should see a new `nextcloud-aio-caddy` folder and inside there an `allowed-countries.txt` file when you open the files app with the default `admin` user. In there you can adjust the allowed country codes for caddy by adding them to the first line, e.g. `IT FR` would allow access from italy and france. Private ip-ranges are always allowed. Additionally, in order to activate this config, you need to get an account at https://dev.maxmind.com/geoip/geolite2-free-geolocation-data and download the `GeoLite2-Country.mmdb` and upload it with this exact name into the `nextcloud-aio-caddy` folder. Afterwards restart all containers from the AIO interface and your new config should be active!
|
||||
- You can add your own Caddy configurations in the folder `nextcloud-aio-caddy/caddy-imports` in the files app of the default `admin` user. You need to create that folder manually. These will be imported on container startup.
|
||||
- You can alternatively add your own Caddy configurations in `/data/caddy-imports/` inside the Caddy container (`sudo docker exec -it nextcloud-aio-caddy bash`). These will be imported on container startup. **Please note:** If you do not have CLI access to the server use the previous option or run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"aio_services_v1": [
|
||||
{
|
||||
"container_name": "nextcloud-aio-joplin-server",
|
||||
"image_tag": "latest",
|
||||
"display_name": "Joplin Server",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/joplin-server",
|
||||
"image": "joplin/server",
|
||||
"depends_on": [
|
||||
"nextcloud-aio-joplin-database"
|
||||
],
|
||||
"internal_port": "22300",
|
||||
"ports": [
|
||||
{
|
||||
"ip_binding": "%APACHE_IP_BINDING%",
|
||||
"port_number": "22300",
|
||||
"protocol": "tcp"
|
||||
}
|
||||
],
|
||||
"environment": [
|
||||
"DB_CLIENT=pg",
|
||||
"APP_BASE_URL=https://joplin.%NC_DOMAIN%",
|
||||
"POSTGRES_PASSWORD=%JOPLIN_DB_PASSWORD%",
|
||||
"POSTGRES_DATABASE=joplin",
|
||||
"POSTGRES_USER=joplin",
|
||||
"POSTGRES_PORT=5432",
|
||||
"POSTGRES_HOST=nextcloud-aio-joplin-database"
|
||||
],
|
||||
"secrets": [
|
||||
"JOPLIN_DB_PASSWORD"
|
||||
]
|
||||
},
|
||||
{
|
||||
"container_name": "nextcloud-aio-joplin-database",
|
||||
"image_tag": "18",
|
||||
"display_name": "Joplin Database (PostgreSQL)",
|
||||
"image": "postgres",
|
||||
"internal_port": "5432",
|
||||
"environment": [
|
||||
"POSTGRES_PASSWORD=%JOPLIN_DB_PASSWORD%",
|
||||
"POSTGRES_DB=joplin",
|
||||
"POSTGRES_USER=joplin",
|
||||
"PGDATA=/var/lib/postgresql/data"
|
||||
],
|
||||
"secrets": [
|
||||
"JOPLIN_DB_PASSWORD"
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"source": "nextcloud_aio_joplin_data",
|
||||
"destination": "/var/lib/postgresql/data",
|
||||
"writeable": true
|
||||
}
|
||||
],
|
||||
"backup_volumes": [
|
||||
"nextcloud_aio_joplin_data"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
# Joplin Server
|
||||
|
||||
This container allow you to deploy a [Joplin Server](https://joplinapp.org/help/dev/spec/architecture#joplin-server). Deploy automatically a postgreSQL instance as a sidecar.
|
||||
|
||||
|
||||
|
||||
### Why
|
||||
|
||||
Joplin Server gives you faster and better sync (less sync error) than with WebDAV. Also automatic clean-up and ability to share your notes.
|
||||
|
||||
Also, deploying Joplin Server through nextcloud rather than beside it allow for automatic note backup by borg and that's wonderful.
|
||||
|
||||
|
||||
### Notes
|
||||
- Exposed Port 22300
|
||||
- Default creds : admin@localhost / admin
|
||||
- In order to access your Joplin outside the local network, you have to set up your own reverse proxy. You can use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `joplin.$NC_DOMAIN` to redirect to your Joplin Server.
|
||||
- The postgreSQL is not exposed and is only used through the docker network.
|
||||
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
|
||||
|
||||
### Repository
|
||||
https://hub.docker.com/r/joplin/server
|
||||
|
||||
### Maintainer
|
||||
https://github.com/lonode
|
||||
|
||||
Reference in New Issue
Block a user