-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5a7593f
commit 3fe7ec3
Showing
2 changed files
with
140 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
#+hugo_base_dir: ~/development/web/jslmorrison.github.io | ||
#+hugo_section: posts | ||
#+options: author:nil | ||
|
||
* Synchronizing Joplin notes between devices | ||
:PROPERTIES: | ||
:EXPORT_FILE_NAME: joplin-server | ||
:EXPORT_DATE: 2024-11-16 | ||
:END: | ||
|
||
After doing a bit of research on several of the note taking apps available, I decided on [[https://joplinapp.org/][Joplin]] to be the next one I intend to use for several reasons. | ||
|
||
#+begin_quote | ||
Joplin is an excellent open source note taking application with plenty of features. You can take notes, make to-do list and sync your notes across devices by linking it with cloud services. The synchronization is protected with end to end encryption. | ||
#+end_quote | ||
|
||
#+hugo: more | ||
|
||
Having the ability to sync notes between devices is one of the main reasons I wanted to learn more about taking notes using Joplin, which can use more than one sync target, that being either a Joplin server, WebDAV server or Nextcloud instance. | ||
|
||
I decided to go with Joplin server installed on a machine in my internal network. These are the steps required to get that up and running, assuming dedicated LXC container already exists and has [[https://www.docker.com/][Docker]] installed: | ||
|
||
- Create a =compose.yaml= file with the following default content: | ||
#+begin_src yaml :no-expand | ||
services: | ||
db: | ||
image: postgres:16 | ||
volumes: | ||
- ./data/postgres:/var/lib/postgresql/data | ||
ports: | ||
- "5432:5432" | ||
restart: always | ||
environment: | ||
- POSTGRES_PASSWORD=strong-password | ||
- POSTGRES_USER=joplin-user | ||
- POSTGRES_DB=joplindb | ||
app: | ||
image: joplin/server:latest | ||
container_name: joplin-server | ||
depends_on: | ||
- db | ||
ports: | ||
- "8080:8080" | ||
restart: always | ||
environment: | ||
- APP_PORT=8080 | ||
- APP_BASE_URL=https://joplin.example.com | ||
- DB_CLIENT=pg | ||
- POSTGRES_PASSWORD=strong-password | ||
- POSTGRES_DATABASE=joplindb | ||
- POSTGRES_USER=joplin-user | ||
- POSTGRES_PORT=5432 | ||
- POSTGRES_HOST=db | ||
#+end_src | ||
|
||
Modify the database credentials and base url to suit your own setup. | ||
|
||
- Start the container services: | ||
#+begin_src bash :no-expand :noeval | ||
docker compose up -d | ||
#+end_src | ||
|
||
- Login to the web UI via browser on the url defined in =APP_BASE_URL=. The default username and password are =admin@example.com= and =admin= respectively. | ||
At this point you can and should change the default credentials to something more secure. | ||
|
||
** Syncing between devices | ||
In order to sync notes between devices, go to =Tools > Options > Synchronisation= from within the Joplin app on each device and enter the appropriate Joplin server url and user credentials. | ||
|
||
More details on the synchronization process can be found in the [[https://joplinapp.org/help/dev/spec/sync][official docs here]]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
+++ | ||
title = "Synchronizing Joplin notes between devices" | ||
date = 2024-11-16 | ||
draft = false | ||
+++ | ||
|
||
After doing a bit of research on several of the note taking apps available, I decided on [Joplin](https://joplinapp.org/) to be the next one I intend to use for several reasons. | ||
|
||
> Joplin is an excellent open source note taking application with plenty of features. You can take notes, make to-do list and sync your notes across devices by linking it with cloud services. The synchronization is protected with end to end encryption. | ||
<!--more--> | ||
|
||
Having the ability to sync notes between devices is one of the main reasons I wanted to learn more about taking notes using Joplin, which can use more than one sync target, that being either a Joplin server, WebDAV server or Nextcloud instance. | ||
|
||
I decided to go with Joplin server installed on a machine in my internal network. These are the steps required to get that up and running, assuming dedicated LXC container already exists and has [Docker](https://www.docker.com/) installed: | ||
|
||
- Create a `compose.yaml` file with the following default content: | ||
|
||
<!--listend--> | ||
|
||
```yaml | ||
services: | ||
db: | ||
image: postgres:16 | ||
volumes: | ||
- ./data/postgres:/var/lib/postgresql/data | ||
ports: | ||
- "5432:5432" | ||
restart: always | ||
environment: | ||
- POSTGRES_PASSWORD=strong-password | ||
- POSTGRES_USER=joplin-user | ||
- POSTGRES_DB=joplindb | ||
app: | ||
image: joplin/server:latest | ||
container_name: joplin-server | ||
depends_on: | ||
- db | ||
ports: | ||
- "8080:8080" | ||
restart: always | ||
environment: | ||
- APP_PORT=8080 | ||
- APP_BASE_URL=https://joplin.example.com | ||
- DB_CLIENT=pg | ||
- POSTGRES_PASSWORD=strong-password | ||
- POSTGRES_DATABASE=joplindb | ||
- POSTGRES_USER=joplin-user | ||
- POSTGRES_PORT=5432 | ||
- POSTGRES_HOST=db | ||
``` | ||
Modify the database credentials and base url to suit your own setup. | ||
- Start the container services: | ||
<!--listend--> | ||
```bash | ||
docker compose up -d | ||
``` | ||
|
||
- Login to the web UI via browser on the url defined in `APP_BASE_URL`. The default username and password are `admin@example.com` and `admin` respectively. | ||
At this point you can and should change the default credentials to something more secure. | ||
|
||
|
||
## Syncing between devices {#syncing-between-devices} | ||
|
||
In order to sync notes between devices, go to `Tools > Options > Synchronisation` from within the Joplin app on each device and enter the appropriate Joplin server url and user credentials. | ||
|
||
More details on the synchronization process can be found in the [official docs here](https://joplinapp.org/help/dev/spec/sync). |