services: app: image: joplin/server:latest container_name: joplin-server restart: unless-stopped env_file: - /opt/homelab/config/joplin/.env ports: - "127.0.0.1:22300:22300" depends_on: db: condition: service_healthy networks: - joplin_net - npm_default db: image: postgres:18 container_name: joplin-db restart: unless-stopped env_file: - /opt/homelab/config/joplin/.env volumes: - postgres_data:/var/lib/postgresql networks: - joplin_net healthcheck: test: ["CMD-SHELL", "pg_isready -U joplin -d joplin"] interval: 10s timeout: 5s retries: 5 volumes: postgres_data: external: true name: joplin_postgres_data networks: joplin_net: driver: bridge name: joplin-net npm_default: external: true name: npm_default