version: "3.7" services: joplin: container_name: joplin image: florider89/joplin-server:2.10.11 restart: unless-stopped depends_on: - db-joplin ports: - ${APP_PORT}:22300 dns: - ${DNS_IP} environment: - APP_PORT=22300 - APP_BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}/ - DB_CLIENT=pg - POSTGRES_PASSWORD=${JOPLIN_DB_PASSWORD} - POSTGRES_USER=tipi - POSTGRES_DATABASE=joplin - POSTGRES_PORT=5432 - POSTGRES_HOST=db-joplin - MAX_TIME_DRIFT=0 networks: - tipi_main_network labels: traefik.enable: ${APP_EXPOSED} traefik.http.routers.joplin.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.joplin.entrypoints: websecure traefik.http.routers.joplin.service: joplin traefik.http.routers.joplin.tls.certresolver: myresolver traefik.http.services.joplin.loadbalancer.server.port: 22300 traefik.http.services.joplin.loadbalancer.passhostheader: true traefik.http.middlewares.joplin-sslheader.headers.customrequestheaders.X-Forwarded-Proto: http traefik.http.routers.joplin-sslheader.middlewares: joplin-sslheader@docker db-joplin: container_name: db-joplin image: postgres:14.2 volumes: - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data restart: unless-stopped environment: - POSTGRES_PASSWORD=${JOPLIN_DB_PASSWORD} - POSTGRES_USER=tipi - POSTGRES_DB=joplin networks: - tipi_main_network