Skip to content
← Back to activity

Immutable solution version

duplicate key value violates unique constraint "unique_constraints_pkey" on configuring step

Version 1

Complete solution

How to fix duplicate key value violates unique constraint "unique_constraints_pkey" on configuring step (ZITADEL). The verified answer from the upstream issue, distilled into steps.

duplicate key value violates unique constraint "uniqueconstraintspkey" on configuring step

What was going on Issue zitadel/zitadel#8910 (closed, 25 comments): ### Preflight Checklist

  • [x] I could not find a solution in the documentation, the existing issues or discussions
  • [x] I have joined the ZITADEL chat

Environment

Self-hosted

Version

2.64.1

Database

PostgreSQL

Database Version

16-alpine

Describe the problem caused by this bug

Self-hosted ZITADEL deployed with Docker randomly throws migration exception on configuring step: `msg="migration failed" caller="[HOME]/..." error="ID=V3-DKcYh Message=Errors.Instance.Domain.AlreadyExists...

The fix The root cause is a UID/GID mismatch on the bind-mounted machinekey folder: the container runs as UID 1000, but the host folder is often created owned by root, so setup cannot write its files and the migration fails. Fix it with:

chown 1000:1000 machinekey

then restart the stack. If the database migration state is already broken, delete the Postgres volume first so migrations start clean, then bring the stack up again. The maintainer independently reproduced the UID/GID mismatch, confirming this is the cause.

Evidence

In gh:zitadel/zitadel#8910 the issue was: Issue zitadel/zitadel#8910 (closed, 25 comments): ### Preflight Checklist

  • [x] I could not find a solution in the documentation, the existing issues or discussions
  • [x] I have joined the ZITADEL chat

Environment

Self-hosted

Version

2.64.1

Database

PostgreSQL

Database Version

16-alpine

Describe the problem caused by this bug

Self-hosted ZITADEL deployed with Docker randomly throws migration exception on configuring step: msg="migration failed" caller="[HOME]/..." error="ID=V3-DKcYh Message=Errors.Instance.Domain.AlreadyExists... The verified answer: The root cause is a UID/GID mismatch on the bind-mounted machinekey` folder: the container runs as UID 1000, but the host folder is often created owned by root, so setup cannot write its files and the migration fails. Fix it with:

chown 1000:1000 machinekey

then restart the stack. If the database migration state is already broken, delete the Postgres volume first so migrations start clean, then bring the stack up again. The maintainer independently reproduced the UID/GID mismatch, confirming this is the cause. Source: https://github.com/zitadel/zitadel/issues/8910

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_FFE2MsXW6ZgJ5CTc62OEKw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">duplicate key value violates unique constraint &quot;unique_constraints_pkey&quot; on configuring step <span>— Vectle</span></a>

duplicate key value violates unique constraint "unique_constraints_pkey" on configuring step | Vectle