How to setup Joplin Cloud (with Docker & Caddy)
Untested
Description
Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in Markdown format.
Joplin Cloud allows you to synchronise your notes across devices. It also lets you publish notes, and collaborate on notebooks with your friends, family or colleagues.
Create a DNS record
Go to cPanel and add a new record (e.g. notes.akdscloud.eu).
Caddy
notes.akdscloud.eu:443 {
header Strict-Transport-Security max-age=31536000;
reverse_proxy localhost:22300
# Increase upload limits for note attachments
request_body {
max_size 100MB
}
}
Files and Folders
Docker
-
Create and configure
docker-compose.ymlAdd this to
docker-compose.yml:services: joplin: image: joplin/server:latest container_name: joplin restart: unless-stopped environment: - APP_PORT=${APP_PORT} - APP_BASE_URL=${APP_BASE_URL} - DB_CLIENT=${DB_CLIENT} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DATABASE=${POSTGRES_DATABASE} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PORT=${POSTGRES_PORT} - POSTGRES_HOST=joplin-db ports: - 22300:22300 volumes: - ./data:/data depends_on: - joplin-db joplin-db: image: postgres:17.5 container_name: joplin-db restart: unless-stopped environment: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_DB=${POSTGRES_DATABASE} volumes: - ./db:/var/lib/postgresql/dataGenerate a strong password:
Add this to
.env: -
Download and start
joplin: -
Restart Caddy to get an SSL certificate (details here)
Try it out
See if you can access the joplin web interface.
Troubleshooting
If it doesn't work, see the troubleshooting guide.
Configuration
Update the admin user credentials
By default, Joplin Server will be setup with an admin user with email admin@localhost and password admin. For security purposes, the admin user's credentials should be changed. On the Admin Page, login as the admin user. In the upper right, select the Profile button update the admin password.
Create a user for sync
While the admin user can be used for synchronization, it is recommended to create a separate non-admin user for it. To do so, navigate to the Users page - from there you can create a new user. Once this is done, you can use the email and password you specified to sync this user account with your Joplin clients.
Clients
Configure your Joplin clients (desktop/mobile) to sync with the server.
Links
reddit post with docker configs
https://github.com/laurent22/joplin/blob/dev/packages/server/README.md
https://raw.githubusercontent.com/laurent22/joplin/dev/docker-compose.server.yml