All guides

Setup guide NS/G11

How to self-host Penpot

Deploy Penpot with Docker, create the first design account and protect the project database and assets.

Penpot is the project behind this setup. Penpot is a team design service, not a single static container. Use the official stack and give its database and uploaded assets persistent storage.

Recommended method
Official Docker Compose stack
Difficulty
Intermediate
Typical time
45–90 minutes

What you need

  • A Docker host
  • Persistent database and asset storage
  • A domain with HTTPS for team use
  • SMTP if invitation email is required

Set it up

  1. Start from the official self-hosting guide

    Download the current Compose configuration and review Penpot's recommended settings before editing it.

  2. Set the public URI and secrets

    Configure the final HTTPS address, database credentials and registration behavior.

  3. Launch the stack

    Start the containers and wait for the frontend, backend, database and supporting services to become healthy.

  4. Create one test team

    Invite a second account, create a file and test real-time collaboration.

  5. Back up database and assets

    A design file depends on more than the visible frontend. Test a restore before production use.

Advertisement

Reserved for launch

Verify it works

Do not call the setup finished until these small tests pass:

  • Two accounts can open one design
  • Changes synchronize
  • An exported design file opens
  • Database and assets are included in backup

Protect the service

  • Disable open registration unless it is deliberate
  • Use HTTPS for sessions and collaboration
  • Protect SMTP and database secrets
  • Plan updates around active team work

Official resources

Videos are supplemental. Use the official documentation for current commands, versions and security guidance.

Related NoSub article10 GitHub repos that replace subscriptions
Next guideHow to self-host Plane