Invalid path format

Linux
Joplin version
3.0.1

Hi all and a happy new year
I have followed this guide (Guide for Joplin-Server on Raspberry Pi) to install Joplin Server on my RPI IV and I have this issue:

Invalid path format: 192.168.0.235:22300/login
Go to login page

this is my config file:

myself@framboise:~ $ cat docker-compose.yml
version: '3'
services:
    db:
        restart: unless-stopped
        image: postgres:latest
        ports:
            - "5432:5432"
        volumes:
            - /data/joplin-data:/var/lib/postgresql/data
        environment:
            - POSTGRES_PASSWORD=CHANGEME
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
    app:
        environment:
            - APP_BASE_URL=http://192.168.0.235:22300
            - APP_PORT=22300
            - POSTGRES_PASSWORD=CHANGEME
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_PORT=5432
            - POSTGRES_HOST=db
            - DB_CLIENT=pg
        restart: unless-stopped
        image: etechonomy/joplin-server:latest
        ports:
            - "22300:22300"
        depends_on:

as I am a newbie I don’t know how to fix this.
Need help.
Thanks,
Philippe

I just read short over the guide.
It shoud be http://192.168.0.235:22300/joplin in your APP_BASE_URL.

If it doesn't work I look later further in to it. :v:

Hello
the previous URL I had was:
http://192.168.0.235:22300/192.168.0.235:22300/login

So I have changed as you suggested it but nope:

This site is inaccessible
192.168.0.235 does not allow connection.

Path not found: joplin
Go to login page
Joplin Server v3.0.1, copyright © 2021-2025 JOPLIN.

Going to login page () gives:

Path not found: joplin/login
I can access to the login page manually by typing
http://192.168.0.235:22300/login
and it gave:


and there, I’m stuck. :frowning_with_open_mouth:

services:
    db:
        restart: unless-stopped
        image: postgres:latest
        ports:
            - "5432:5432"
        volumes:
            - /data/joplin-data:/var/lib/postgresql/data
        environment:
            - POSTGRES_PASSWORD=CHANGEME
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
    app:
        environment:
            - APP_BASE_URL=http://192.168.0.235/joplin
            - APP_PORT=22300
            - POSTGRES_PASSWORD=CHANGEME
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_PORT=5432
            - POSTGRES_HOST=db
            - DB_CLIENT=pg
        restart: unless-stopped
        image: etechonomy/joplin-server:latest
        ports:
            - "22300:22300"
        depends_on:
            - db

I reviewed the tutorial again. Its goal is to set up a reverse proxy afterward to externally encrypt the connection to the client (https://). Do you plan to do that as well?

The easy way (only internal in your Home-Network):
Behind APP_BASE_URL=, you need to specify the address where the website should be accessible in the end. If you only want to use the server within your home network and don't plan to set up a proxy server for forwarding, using the IP and port should work.

APP_BASE_URL=http://192.168.0.235:22300

In that case, you also need to use http://192.168.0.235:22300 as the URL in your browser. There won’t be any additional suffix after the URL.

This would be the simplest method.

In my use-case I would like to run Joplin-Server exclusively locally, i.e. without being accessible from Internet. No Apache. No 192.168.0.235/joplin. Just 192.168.0.235:22300.

using the IP and port should work.

APP_BASE_URL=http://192.168.0.235:22300

In that case, you also need to use http://192.168.0.235:22300 as the URL in your browser. There won’t be any additional suffix after the URL.

It should work, you’re right. But it does not. And that’s the issue.

just made a new install and the URL provided is still http://192.168.0.235:22300/192.168.0.235:22300/login
Then accessing to http://192.168.0.235:22300/login
with admin@localhost and pass admin fails again;
the URL http://192.168.0.235:22300/192.168.0.235:22300/login replies:

Invalid path format: 192.168.0.235:22300/login

I dont understand where the curios URL comes from. That http://192.168.0.235:22300/192.168.0.235:22300/login doesn't work is normal. It is not a valid URL. But I've no Idea where it comes from.

Maybe you have to leave the field APP_BASE_URL blank. It looks like the webpage pasted this part in front of your URL and this is in this case not correct. You can try

APP_BASE_URL=

But I'm not sure if this will work. I think we need help from someone else. Sorry @Rare .

I’ve re-installed it this morning from A to Z with the same settings and finally it works!
Don’t know what happened… maybe a typo somewhere.
Anyway thanks a lot for the support.
Now I’m going to see how it works with the web clipper.

1 Like

Ah one thing, I've forgot @Rare :
If you make changes to the compose file it's an good idea to use:

docker-compose up -d --force-recreate

So the changed compose file is forced to be used.
Maybe this was a part of the Problem.

Hi, I've just tried it out on three different installations and couldn't get the issue even with the exact compose file you posted. So yeah, may well be a typo somewhere.

Please mark your answer as the solution.

Best regards and sorry for the late reply!

Thanks for the trick Mr MoriarT3a.

I should have done it already :roll_eyes:
sorry

Having trouble, too. When I get down to running:
docker compose up -d
I get:
yaml: unmarshal errors:
line 24: mapping key "restart" already defined at line 4
line 25: mapping key "image" already defined at line 5
line 26: mapping key "ports" already defined at line 6
line 15: mapping key "environment" already defined at line 10

As others are not reporting this problem, where can I look to see what I've done wrong?

I'm struggling a bit because I already have apache2 installed on my pi5 and I don't know how to vary the instructions for apache. So I installed nginx and made it listen on 8999 instead of 80 and need to direct it to a new directory /var/www/html/joplin once I've overcome the compose issue. Could this give a clue to the compose problem?

From the error message, I would think you have a failure in your docker-compose.yaml. Four mapping keys are double given. Maybe there is somethong with the indentation wron between the database container and the app container.

Please post your docker-compose.yaml and then I can have a look. But think about of pasting your passwords. just leave this blank or write something else.
And importand: Post is as a code block, so I can check the indentation.

Thanks. I copied it from here:

where there is no indentation, so it seems that may be the problem. (Alternatively, the problem may be that I'm a complete noob in yaml)

I took a stab at what I thought the indentation might have to be and it composed nicely, so good call, and thanks again.

1 Like