Skip to main content

docker-compose

services:
    db:
        image: postgres:16
        container_name: joplin-db
        volumes:
            - ./data:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        restart: unless-stopped
        environment:
            - POSTGRES_PASSWORD=<your database password>
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplindb
    app:
        image: joplin/server:latest
        container_name: joplin
        depends_on:
            - db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - APP_BASE_URL=<your localhost ipaddress:port number>
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=<your database password> #same as above
            - POSTGRES_DATABASE=joplindb #same as above
            - POSTGRES_USER=joplin #same as above
            - POSTGRES_PORT=5432 #same port on left-hand side of colon as db service above
            - POSTGRES_HOST=db #same as first service name above