Joplin Server with docker-compose

Operating system

Linux

Joplin version

2.13.2

What issue do you have?

Hello!
I'am trying to install a joplin server on debian 13 with docker-compose.
I am failing with the docker-compose.yml file.
I tried to fill in useful paths and so on but in the end server does not work.
I need more up to date infos regarding that stuff maybe an actual example.
All the howtos I did find seem to be too old or are for people who are much more familiar with that than I am!
Thank you for your help!

Could you share your latest docker-compose.yml file content maybe? Of course hide any sensitive info.

Here is mine for example. Sorry for the missing indentation. I am on MacOS and use a local postgre database outside of docker. 100.XX.1.1 is my Mac Tailscale IP.

name: joplin-server
services:
joplin-server:
container_name: joplin-server
image: joplin/server:3.4.1
restart: unless-stopped
ports:
- "22300:22300"
environment:
- APP_PORT=22300
- APP_BASE_URL=http://100.XX.1.1:22300
- DB_CLIENT=pg
- POSTGRES_PASSWORD=XXXXX
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_PORT=5435
- POSTGRES_HOST=127.0.0.1

server does not work.

Any specific error?

What happens when you open 100.XX.1.1:22300 in your browser? You should see this:

First of all thank you!

I managed to get a server running using a how to which also looks a little bit older!

In that howto there is a point which says “check that your .env file is correct” I have no idea about that.

So I didn’t create it.

Anyway the server is running and I could log in with the default credentials.

Of course my first step is changing the admin credentials.

But it seems that doesn’t work anymore without email correctly set up.

But how do i work this!!!

I t seems it has to be set in the .env file but this is still a mytery to me.

Where in the world is a actual howto to get joplinserver working?

Sorry I am not familiar with docker nor with joplin!

Can you help me?

Thank you!

Official instructions: https://hub.docker.com/r/joplin/server

Anyway the server is running and I could log in with the default credentials.

Ok good.

Of course my first step is changing the admin credentials.

I am able to change a user password in admin > users > click on user > fill new password

Sorry I am not familiar with docker nor with joplin!

Running a Joplin Server is pretty advanced. I would recommend you postpone this task for now and first get familiar with Joplin. Use Joplin Cloud for now to sync, it is actually a Joplin Server managed for you.

Thank you!

But what about the .env file and setting up email?

Just to make my question more clean.

I know how to setup mail Accounts.

But I don‘t know where to put in joplinserver with docker Compose?

In the mysterious .env file or in docker-compose.yml or elsewhere?

.env-sample / .env file is explained in the official instructions I gave you

why do you want to setup email? I never did

But I don‘t know where to put in joplinserver with docker Compose?

I don't understand what you mean.

Have you prior experience with docker / docker-compose? Maybe follow a tutorial independently of joplin-server, then come back later to it.

Or just use Joplin Cloud for now? Why not? Make your life easy.

An ".env" file is essentially just the equivalent of an environment section in a docker-compose.yml file. Rather than stuff everything into the the docker-compose file you can put all the environment variables in a separate file called ".env" and just reference that from the docker-compose.yml file. When you read “check that your .env file is correct” it is basically just telling you to ensure that your environment variables, wherever you put them, are correct.

I would suggest that as you are experimenting with this you initially put everything in the docker-compose.yml file.

As the email environment variables apply to the Joplin server app they go in the environment section that covers the Joplin server (that is assuming that your docker-compose file also sets up a postgres database which has its own environment variables).

The email environment variables are as below (edit the values as needed):

      - MAILER_ENABLED=1
      - MAILER_HOST=smtp.example.com
      - MAILER_PORT=465
      - MAILER_SECURITY=tls
      - MAILER_AUTH_USER=my_mail_account@example.com
      - MAILER_AUTH_PASSWORD=my_mail_account_password
      - MAILER_NOREPLY_NAME=JoplinServer
      - MAILER_NOREPLY_EMAIL=noreply@example.com

MAILER_SECURITY can be tls, starttls or none

Last time I had occasion to use it you did not need to have email working to change passwords or create accounts. If you currently want to see the emails, even though they cannot be sent yet, you can view them in the Admin section under "email".

1 Like

Thank you!!!

That clears up things for me!

.env and docker-compose.yml

both can be used for configuration of the server.

The initial username of the admin user (in the howto I was using) is “admin@localhost” a mailadress so I thought by mistake email configuration is necessary to use joplin.

After all getting a self hosted joplin server requires a little knowledge of docker.

The “official?” joplinserver with docker howto at github leaves many questions open.

A few more examples and more detailed instructions would help al lot.

One more big thank you to the people of this forum!

I set up a Joplin server on my Synology NAS by following a tutorial on Marius Hosting. It might fill in a few details for you. Although the instruction refer to a NAS, docker is docker.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.