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
Start from the official self-hosting guide
Download the current Compose configuration and review Penpot's recommended settings before editing it.
Set the public URI and secrets
Configure the final HTTPS address, database credentials and registration behavior.
Launch the stack
Start the containers and wait for the frontend, backend, database and supporting services to become healthy.
Create one test team
Invite a second account, create a file and test real-time collaboration.
Back up database and assets
A design file depends on more than the visible frontend. Test a restore before production use.
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.