---
title: "Signer on Docker - Using a stack with GrantID"
description: "How to run GrantID inside the same Docker stack as Signer, using signer-grantid-stack.yml instead of the standard stack that needs an external GrantID."
canonical: "https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/docker/docker-swarm/internal-grantid"
locale: "en"
product: "Signer"
last_updated: "2026-07-14"
---

# Signer on Docker - Using a stack with GrantID

The [standard Signer stack](https://cdn.lacunasoftware.com/signer/docker/signer-stack.yml) depends on an external [GrantID](https://docs.lacunasoftware.com/en-us/articles/grant-id) service,
which provides OpenID Connect services for user login and registration.

If you wish to run GrantID internally on the same stack as Signer, instead of the standard *signer-stack.yml* file use the file
[signer-grantid-stack.yml](https://cdn.lacunasoftware.com/signer/docker/signer-grantid-stack.yml)

Download the compose file and the configuration file templates:

```sh
curl -O https://cdn.lacunasoftware.com/signer/docker/signer-grantid-stack.yml
curl -O https://cdn.lacunasoftware.com/signer/docker/signer.json
curl -O https://cdn.lacunasoftware.com/signer/docker/signer-proxy.conf
curl -O https://cdn.lacunasoftware.com/grantid/docker/grantid.json
curl -O https://cdn.lacunasoftware.com/grantid/docker/grantid-proxy.conf
```

Edit the stack file:

```sh
nano signer-grantid-stack.yml
```

Under **services** &gt; **nginx** &gt; **networks** &gt; **default** &gt; **aliases**, add your
[base domain, login domain and API domain for GrantID](https://docs.lacunasoftware.com/en-us/articles/grant-id/on-premises#planning).

Then, follow setup instructions for both [Signer](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/docker) and [GrantID](https://docs.lacunasoftware.com/en-us/articles/grant-id/on-premises/docker), skipping
the initial download steps since we've already downloaded the appropriate files.

> **Note**
>
> Remember to replace occurrences of `signer-stack.yml` and `grantid-stack.yml` on commands in both setup instructions with `signer-grantid-stack.yml`

## See also

* [Installing Signer on Docker](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/docker/docker-swarm)
* [Enabling SSL on Docker](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/docker/docker-swarm/enable-ssl)
* [Using an external database on Docker](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/docker/docker-swarm/external-db)
* [Checking the system logs on Docker](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/docker/docker-swarm/check-logs)
* [Persistent data (backup considerations)](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/docker/docker-swarm/persistent-data)
