---
title: "Document Engine: Signing service not available"
canonical_url: "https://www.nutrient.io/guides/document-engine/knowledge-base/signing-service-not-available/"
md_url: "https://www.nutrient.io/guides/document-engine/knowledge-base/signing-service-not-available.md"
last_updated: "2026-05-14T21:57:26.840Z"
description: "Resolve the `500 - Signing service not available` error by ensuring your signing service runs alongside Nutrient using the correct Docker Compose setup."
---

# Signing service not available

Question:

I'm trying to setup a signing service to use with digital signatures. I'm receiving a `500 - Signing service not available` error. My `SIGNING_SERVICE_URL` is pointed at `http://localhost:6000/sign` and I can confirm that the signing service is up and running. What should I do?

Answer:

If you're developing your own signing service or running [our signing service reference implementation](https://github.com/PSPDFKit/pspdfkit-web-signing-service-example), you need to make sure that you can run the signing service as a sibling container to Document Engine in the same network.

The simplest way to have things working together is to use a specific directory structure and a unified `docker-compose.yml` file, so that your application and the signing service sit side by side with the `docker-compose.yml` definition.

```.
├── docker-compose.yml
├── my-app
└── signing-service

```

The Docker Compose file should have a structure with all 3 services:

```yml

services:
  document_engine:...
    environment:
      SIGNING_SERVICE_URL: http://signing_service:6000/sign
    depends_on:
      - signing_service
  signing_service:
    build:./signing-service...
  my_app:
    build:./my-app...
    depends_on:
      - document_engine

```

Finally, when specifying the `SIGNING_SERVICE_URL` in your Document Engine configuration, the URL host has to point to a location reachable by the Document Engine container.

For this reason, using a URL pointing to `localhost` cannot work: the Document Engine container resolves `localhost` to itself, not to the host machine running the signing service. Instead, the `SIGNING_SERVICE_URL` should point at the `signing_service` container.
---

## Related pages

- [Monitoring Document Engine](/guides/document-engine/knowledge-base/monitoring.md)
- [hash_mismatch error](/guides/document-engine/knowledge-base/hash-mismatch-error.md)
- [How to fix 'Unknown CA' SSL errors in document uploads](/guides/document-engine/knowledge-base/remote-url-certificates.md)
- [Remote document storage](/guides/document-engine/knowledge-base/remote-document-storage.md)
- [How to convert an XLSM file to PDF using Document Engine](/guides/document-engine/knowledge-base/xlsm-to-pdf-conversion.md)
- [Fix PDF download issues with NGINX reverse proxy](/guides/document-engine/knowledge-base/unable-to-download-pdf-with-nginx-reverse-proxy.md)

