Joplin Server: Use different port

Operating system

Linux

Joplin version

3.0.1

Sync target

Joplin Server

What issue do you have?

I'm pretty new to Joplin Server and would like to run it on a different port in my local network. I. e. 9017 instead of the default 22300. Is this possible?

I'm using Joplin Server 3.0.1. My attempt was to simply change the port in the configuration, but then I can't access the login page anymore (with port 22300 configured, it works):

$ docker container ls -n 1
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS         PORTS                                                 NAMES
b6c0e70733fe   joplin/server:latest   "tini -- yarn start-…"   3 minutes ago    Up 3 minutes   0.0.0.0:9017->22300/tcp, :::9017->22300/tcp           joplin-app-1

$ curl <IP>:9017
curl: (7) Failed to connect to <IP> port 9017 after 50 ms: Verbindungsaufbau abgelehnt

The complete compose.yml is:

version: '3'

services:
    db:
        image: postgres:16
        volumes:
            - ./data/postgres:/var/lib/postgresql/data
        ports:
            - "3003:3003"
        restart: unless-stopped
        environment:
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
        # custom postgres port
        # https://discourse.joplinapp.org/t/joplin-server-with-custom-database-port/18916/2
        command: -p 3003
    app:
        image: joplin/server:latest
        depends_on:
            - db
        ports:
            - "9017:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=9017
            - APP_BASE_URL=http://<IP>:9017
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_PORT=3003
            - POSTGRES_HOST=db