# This is a sample docker-compose file that can be used to run Joplin Server # along with a PostgreSQL server. # # Update the following fields in the stanza below: # # POSTGRES_USER # POSTGRES_PASSWORD # APP_BASE_URL # # APP_BASE_URL: This is the base public URL where the service will be running. # - If Joplin Server needs to be accessible over the internet, configure APP_BASE_URL as follows: https://example.com/joplin. # - If Joplin Server does not need to be accessible over the internet, set the APP_BASE_URL to your server's hostname. # For Example: http://[hostname]:22300. The base URL can include the port. # APP_PORT: The local port on which the Docker container will listen. # - This would typically be mapped to port to 443 (TLS) with a reverse proxy. # - If Joplin Server does not need to be accessible over the internet, the port can be mapped to 22300. # https://github.com/laurent22/joplin/blob/dev/packages/server/README.md#configure-docker-for-joplin-server services: db: image: postgres:16 volumes: - /volume2/docker/joplin-postgres:/var/lib/postgresql/data ports: # use different port to avoid conflict with synology internal postgres db - "5433:5432" restart: unless-stopped environment: - POSTGRES_PASSWORD=joplinpass123 - POSTGRES_USER=joplin - POSTGRES_DB=joplin networks: - joplin-network app: image: joplin/server:3.3.3-beta depends_on: - db ports: - "22300:22300" restart: unless-stopped environment: - APP_PORT=22300 - APP_BASE_URL=https://joplin.swaghausen.de - DB_CLIENT=pg - POSTGRES_PASSWORD=joplinpass123 - POSTGRES_DATABASE=joplin - POSTGRES_USER=joplin - POSTGRES_PORT=5432 - POSTGRES_HOST=db networks: - joplin-network networks: joplin-network: driver: bridge