services: broker: container_name: "paperless_ngx-broker-${CONTEXT}" networks: paperless_ngx-default: extends: file: "${COMPOSE_COMMON_SETTINGS}" service: 'common-settings' volumes: - "/opt/docker-data/paperless_ngx-${CONTEXT}/broker/data:/data" db: image: "docker.io/library/postgres:${PGSQL_VERSION}" container_name: "paperless_ngx-db-${CONTEXT}" networks: paperless_ngx-default: extends: file: "${COMPOSE_COMMON_SETTINGS}" service: 'common-settings' volumes: - "/opt/docker-data/paperless_ngx-${CONTEXT}/db/data:/var/lib/postgresql/data" gotenberg: container_name: "paperless_ngx-gotenberg-${CONTEXT}" networks: paperless_ngx-default: extends: file: "${COMPOSE_COMMON_SETTINGS}" service: 'common-settings' tika: container_name: "paperless_ngx-tika-${CONTEXT}" networks: paperless_ngx-default: extends: file: "${COMPOSE_COMMON_SETTINGS}" service: 'common-settings' webserver: image: "ghcr.io/paperless-ngx/paperless-ngx:${PAPERLESS_NGX_VERSION}" container_name: "paperless_ngx-webserver-${CONTEXT}" networks: paperless_ngx-default: ports: !override - "${WEBSERVER_VIP}:${WEBSERVER_PORT}:8000" extends: file: "${COMPOSE_COMMON_SETTINGS}" service: 'common-settings' volumes: - "/opt/docker-data/paperless_ngx-${CONTEXT}/webserver/data:/usr/src/paperless/data" - "/opt/docker-data/paperless_ngx-${CONTEXT}/webserver/media:/usr/src/paperless/media" - "/opt/docker-data/paperless_ngx-${CONTEXT}/webserver/export:/usr/src/paperless/export" - "/opt/docker-data/paperless_ngx-${CONTEXT}/webserver/consume:/usr/src/paperless/consume" environment: PAPERLESS_OCR_LANGUAGE: "${PAPERLESS_OCR_LANGUAGE}" PAPERLESS_OCR_LANGUAGES: "${PAPERLESS_OCR_LANGUAGES}" PAPERLESS_SECRET_KEY: "${PAPERLESS_SECRET_KEY}" PAPERLESS_TIME_ZONE: "${PAPERLESS_TIME_ZONE}" PAPERLESS_URL: "${PAPERLESS_URL}" PAPERLESS_EMAIL_HOST: "${PAPERLESS_EMAIL_HOST}" PAPERLESS_EMAIL_HOST_PASSWORD: "${PAPERLESS_EMAIL_HOST_PASSWORD}" PAPERLESS_EMAIL_HOST_USER: "${PAPERLESS_EMAIL_HOST_USER}" PAPERLESS_EMAIL_PORT: "${PAPERLESS_EMAIL_PORT}" PAPERLESS_EMAIL_USE_SSL: "${PAPERLESS_EMAIL_USE_SSL}" PAPERLESS_OCR_CLEAN: "${PAPERLESS_OCR_CLEAN}" volumes: !reset [] networks: !override paperless_ngx-default: name: paperless_ngx-${CONTEXT} driver: bridge driver_opts: com.docker.network.enable_ipv6: "false" ipam: driver: default config: - subnet: ${SUBNET}