Back to Templates
Penpot logo

Penpot

v2.3.2

Penpot is the web-based open-source design tool that bridges the gap between designers and developers.

Deploy on Dokploy

Deploy Penpot on Dokploy

  1. Install Dokploy on your server if you haven't already.
  2. In your Dokploy panel, open a project and click Create Service → Template.
  3. Search for Penpot and click Create — Dokploy configures domains, environment variables, and volumes for you.

Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:

base64
ewogICJjb21wb3NlIjogIiMjIENvbW1vbiBmbGFnczpcbiMgZGVtby11c2Vyc1xuIyBlbWFpbC12ZXJpZmljYXRpb25cbiMgbG9nLWVtYWlsc1xuIyBsb2ctaW52aXRhdGlvbi10b2tlbnNcbiMgbG9naW4td2l0aC1naXRodWJcbiMgbG9naW4td2l0aC1naXRsYWJcbiMgbG9naW4td2l0aC1nb29nbGVcbiMgbG9naW4td2l0aC1sZGFwXG4jIGxvZ2luLXdpdGgtb2lkY1xuIyBsb2dpbi13aXRoLXBhc3N3b3JkXG4jIHByZXBsLXNlcnZlclxuIyByZWdpc3RyYXRpb25cbiMgc2VjdXJlLXNlc3Npb24tY29va2llc1xuIyBzbXRwXG4jIHNtdHAtZGVidWdcbiMgdGVsZW1ldHJ5XG4jIHdlYmhvb2tzXG4jI1xuIyMgWW91IGNhbiByZWFkIG1vcmUgYWJvdXQgYWxsIGF2YWlsYWJsZSBmbGFncyBhbmQgb3RoZXJcbiMjIGVudmlyb25tZW50IHZhcmlhYmxlcyBoZXJlOlxuIyMgaHR0cHM6Ly9oZWxwLnBlbnBvdC5hcHAvdGVjaG5pY2FsLWd1aWRlL2NvbmZpZ3VyYXRpb24vI2FkdmFuY2VkLWNvbmZpZ3VyYXRpb25cbiNcbiMgV0FSTklORzogaWYgeW91J3JlIGV4cG9zaW5nIFBlbnBvdCB0byB0aGUgaW50ZXJuZXQsIHlvdSBzaG91bGQgcmVtb3ZlIHRoZSBmbGFnc1xuIyAnZGlzYWJsZS1zZWN1cmUtc2Vzc2lvbi1jb29raWVzJyBhbmQgJ2Rpc2FibGUtZW1haWwtdmVyaWZpY2F0aW9uJ1xuXG52b2x1bWVzOlxuICBwZW5wb3RfcG9zdGdyZXNfdjE1OlxuICBwZW5wb3RfYXNzZXRzOlxuICBwZW5wb3RfdHJhZWZpazpcbiAgIyBwZW5wb3RfbWluaW86XG5cbnNlcnZpY2VzOlxuXG4gIHBlbnBvdC1mcm9udGVuZDpcbiAgICBpbWFnZTogXCJwZW5wb3RhcHAvZnJvbnRlbmQ6Mi42LjFcIlxuICAgIHJlc3RhcnQ6IGFsd2F5c1xuICAgIGV4cG9zZTpcbiAgICAgIC0gODA4MFxuICAgICAgLSA5MDAxXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcGVucG90X2Fzc2V0czovb3B0L2RhdGEvYXNzZXRzXG5cbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSBwZW5wb3QtYmFja2VuZFxuICAgICAgLSBwZW5wb3QtZXhwb3J0ZXJcblxuXG5cbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIFBFTlBPVF9GTEFHUzogZGlzYWJsZS1lbWFpbC12ZXJpZmljYXRpb24gZW5hYmxlLXNtdHAgZW5hYmxlLXByZXBsLXNlcnZlciBkaXNhYmxlLXNlY3VyZS1zZXNzaW9uLWNvb2tpZXNcblxuICBwZW5wb3QtYmFja2VuZDpcbiAgICBpbWFnZTogXCJwZW5wb3RhcHAvYmFja2VuZDoyLjYuMVwiXG4gICAgcmVzdGFydDogYWx3YXlzXG5cbiAgICB2b2x1bWVzOlxuICAgICAgLSBwZW5wb3RfYXNzZXRzOi9vcHQvZGF0YS9hc3NldHNcblxuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHBlbnBvdC1wb3N0Z3Jlc1xuICAgICAgLSBwZW5wb3QtcmVkaXNcblxuXG5cbiAgICAjIyBDb25maWd1cmF0aW9uIGVudnJvbm1lbnQgdmFyaWFibGVzIGZvciB0aGUgYmFja2VuZFxuICAgICMjIGNvbnRhaW5lci5cblxuICAgIGVudmlyb25tZW50OlxuICAgICAgUEVOUE9UX1BVQkxJQ19VUkk6IGh0dHA6Ly8ke0RPTUFJTl9OQU1FfVxuICAgICAgUEVOUE9UX0ZMQUdTOiBkaXNhYmxlLWVtYWlsLXZlcmlmaWNhdGlvbiBlbmFibGUtc210cCBlbmFibGUtcHJlcGwtc2VydmVyIGRpc2FibGUtc2VjdXJlLXNlc3Npb24tY29va2llc1xuXG4gICAgICAjIyBQZW5wb3QgU0VDUkVUIEtFWS4gSXQgc2VydmVzIGFzIGEgbWFzdGVyIGtleSBmcm9tIHdoaWNoIG90aGVyIGtleXMgZm9yIHN1YnN5c3RlbXNcbiAgICAgICMjIChlZyBodHRwIHNlc3Npb25zLCBvciBpbnZpdGF0aW9ucykgYXJlIGRlcml2ZWQuXG4gICAgICAjI1xuICAgICAgIyMgSWYgeW91IGxlYXZlIGl0IGNvbW1lbnRlZCwgYWxsIGNyZWF0ZWQgc2Vzc2lvbnMgYW5kIGludml0YXRpb25zIHdpbGxcbiAgICAgICMjIGJlY29tZSBpbnZhbGlkIG9uIGNvbnRhaW5lciByZXN0YXJ0LlxuICAgICAgIyNcbiAgICAgICMjIElmIHlvdSBnb2luZyB0byB1bmNvbW1lbnQgdGhpcywgd2UgcmVjb21tZW5kIHRvIHVzZSBhIHRydWxseSByYW5kb21seSBnZW5lcmF0ZWRcbiAgICAgICMjIDUxMiBiaXRzIGJhc2U2NCBlbmNvZGVkIHN0cmluZyBoZXJlLiAgWW91IGNhbiBnZW5lcmF0ZSBvbmUgd2l0aDpcbiAgICAgICMjXG4gICAgICAjIyBweXRob24zIC1jIFwiaW1wb3J0IHNlY3JldHM7IHByaW50KHNlY3JldHMudG9rZW5fdXJsc2FmZSg2NCkpXCJcblxuICAgICAgIyBQRU5QT1RfU0VDUkVUX0tFWTogbXktaW5zZWN1cmUta2V5XG5cbiAgICAgICMjIFRoZSBQUkVQTCBob3N0LiBNYWlubHkgdXNlZCBmb3IgZXh0ZXJuYWwgcHJvZ3JhbWF0aWMgYWNjZXNzIHRvIHBlbnBvdCBiYWNrZW5kXG4gICAgICAjIyAoZXhhbXBsZTogYWRtaW4pLiBCeSBkZWZhdWx0IGl0IHdpbGwgbGlzdGVuIG9uIGBsb2NhbGhvc3RgIGJ1dCBpZiB5b3UgYXJlIGdvaW5nIHRvIHVzZVxuICAgICAgIyMgdGhlIGBhZG1pbmAsIHlvdSB3aWxsIG5lZWQgdG8gdW5jb21tZW50IHRoaXMgYW5kIHNldCB0aGUgaG9zdCB0byBgMC4wLjAuMGAuXG5cbiAgICAgICMgUEVOUE9UX1BSRVBMX0hPU1Q6IDAuMC4wLjBcblxuICAgICAgIyMgRGF0YWJhc2UgY29ubmVjdGlvbiBwYXJhbWV0ZXJzLiBEb24ndCB0b3VjaCB0aGVtIHVubGVzcyB5b3UgYXJlIHVzaW5nIGN1c3RvbVxuICAgICAgIyMgcG9zdGdyZXNxbCBjb25uZWN0aW9uIHBhcmFtZXRlcnMuXG5cbiAgICAgIFBFTlBPVF9EQVRBQkFTRV9VUkk6IHBvc3RncmVzcWw6Ly9wZW5wb3QtcG9zdGdyZXMvcGVucG90XG4gICAgICBQRU5QT1RfREFUQUJBU0VfVVNFUk5BTUU6IHBlbnBvdFxuICAgICAgUEVOUE9UX0RBVEFCQVNFX1BBU1NXT1JEOiBwZW5wb3RcblxuICAgICAgIyMgUmVkaXMgaXMgdXNlZCBmb3IgdGhlIHdlYnNvY2tldHMgbm90aWZpY2F0aW9ucy4gRG9uJ3QgdG91Y2ggdW5sZXNzIHRoZSByZWRpc1xuICAgICAgIyMgY29udGFpbmVyIGhhcyBkaWZmZXJlbnQgcGFyYW1ldGVycyBvciBkaWZmZXJlbnQgbmFtZS5cblxuICAgICAgUEVOUE9UX1JFRElTX1VSSTogcmVkaXM6Ly9wZW5wb3QtcmVkaXMvMFxuXG4gICAgICAjIyBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIGFzc2V0cyBzdG9yYWdlOiB1c2luZyBmaWxlc3lzdGVtIGJhc2VkIHdpdGggYWxsIGZpbGVzXG4gICAgICAjIyBzdG9yZWQgaW4gYSBkb2NrZXIgdm9sdW1lLlxuXG4gICAgICBQRU5QT1RfQVNTRVRTX1NUT1JBR0VfQkFDS0VORDogYXNzZXRzLWZzXG4gICAgICBQRU5QT1RfU1RPUkFHRV9BU1NFVFNfRlNfRElSRUNUT1JZOiAvb3B0L2RhdGEvYXNzZXRzXG5cbiAgICAgICMjIEFsc28gY2FuIGJlIGNvbmZpZ3VyZWQgdG8gdG8gdXNlIGEgUzMgY29tcGF0aWJsZSBzdG9yYWdlXG4gICAgICAjIyBzZXJ2aWNlIGxpa2UgTWluaUlPLiBMb29rIGJlbG93IGZvciBtaW5pbyBzZXJ2aWNlIHNldHVwLlxuXG4gICAgICAjIEFXU19BQ0NFU1NfS0VZX0lEOiA8S0VZX0lEPlxuICAgICAgIyBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6IDxBQ0NFU1NfS0VZPlxuICAgICAgIyBQRU5QT1RfQVNTRVRTX1NUT1JBR0VfQkFDS0VORDogYXNzZXRzLXMzXG4gICAgICAjIFBFTlBPVF9TVE9SQUdFX0FTU0VUU19TM19FTkRQT0lOVDogaHR0cDovL3BlbnBvdC1taW5pbzo5MDAwXG4gICAgICAjIFBFTlBPVF9TVE9SQUdFX0FTU0VUU19TM19CVUNLRVQ6IDxCVUtFVF9OQU1FPlxuXG4gICAgICAjIyBUZWxlbWV0cnkuIFdoZW4gZW5hYmxlZCwgYSBwZXJpb2RpY2FsIHByb2Nlc3Mgd2lsbCBzZW5kIGFub255bW91cyBkYXRhIGFib3V0IHRoaXNcbiAgICAgICMjIGluc3RhbmNlLiBUZWxlbWV0cnkgZGF0YSB3aWxsIGVuYWJsZSB1cyB0byBsZWFybiBob3cgdGhlIGFwcGxpY2F0aW9uIGlzIHVzZWQsXG4gICAgICAjIyBiYXNlZCBvbiByZWFsIHNjZW5hcmlvcy4gSWYgeW91IHdhbnQgdG8gaGVscCB1cywgcGxlYXNlIGxlYXZlIGl0IGVuYWJsZWQuIFlvdSBjYW5cbiAgICAgICMjIGF1ZGl0IHdoYXQgZGF0YSB3ZSBzZW5kIHdpdGggdGhlIGNvZGUgYXZhaWxhYmxlIG9uIGdpdGh1Yi5cblxuICAgICAgUEVOUE9UX1RFTEVNRVRSWV9FTkFCTEVEOiB0cnVlXG5cbiAgICAgICMjIEV4YW1wbGUgU01UUC9FbWFpbCBjb25maWd1cmF0aW9uLiBCeSBkZWZhdWx0LCBlbWFpbHMgYXJlIHNlbnQgdG8gdGhlIG1haWxjYXRjaFxuICAgICAgIyMgc2VydmljZSwgYnV0IGZvciBwcm9kdWN0aW9uIHVzYWdlIGl0IGlzIHJlY29tbWVuZGVkIHRvIHNldHVwIGEgcmVhbCBTTVRQXG4gICAgICAjIyBwcm92aWRlci4gRW1haWxzIGFyZSB1c2VkIHRvIGNvbmZpcm0gdXNlciByZWdpc3RyYXRpb25zICYgaW52aXRhdGlvbnMuIExvb2sgYmVsb3dcbiAgICAgICMjIGhvdyB0aGUgbWFpbGNhdGNoIHNlcnZpY2UgaXMgY29uZmlndXJlZC5cblxuICAgICAgUEVOUE9UX1NNVFBfREVGQVVMVF9GUk9NOiBuby1yZXBseUBleGFtcGxlLmNvbVxuICAgICAgUEVOUE9UX1NNVFBfREVGQVVMVF9SRVBMWV9UTzogbm8tcmVwbHlAZXhhbXBsZS5jb21cbiAgICAgIFBFTlBPVF9TTVRQX0hPU1Q6IHBlbnBvdC1tYWlsY2F0Y2hcbiAgICAgIFBFTlBPVF9TTVRQX1BPUlQ6IDEwMjVcbiAgICAgIFBFTlBPVF9TTVRQX1VTRVJOQU1FOlxuICAgICAgUEVOUE9UX1NNVFBfUEFTU1dPUkQ6XG4gICAgICBQRU5QT1RfU01UUF9UTFM6IGZhbHNlXG4gICAgICBQRU5QT1RfU01UUF9TU0w6IGZhbHNlXG5cbiAgcGVucG90LWV4cG9ydGVyOlxuICAgIGltYWdlOiBcInBlbnBvdGFwcC9leHBvcnRlcjoyLjYuMVwiXG4gICAgcmVzdGFydDogYWx3YXlzXG5cblxuICAgIGVudmlyb25tZW50OlxuICAgICAgIyBEb24ndCB0b3VjaCBpdDsgdGhpcyB1c2VzIGFuIGludGVybmFsIGRvY2tlciBuZXR3b3JrIHRvXG4gICAgICAjIGNvbW11bmljYXRlIHdpdGggdGhlIGZyb250ZW5kLlxuICAgICAgUEVOUE9UX1BVQkxJQ19VUkk6IGh0dHA6Ly9wZW5wb3QtZnJvbnRlbmRcblxuICAgICAgIyMgUmVkaXMgaXMgdXNlZCBmb3IgdGhlIHdlYnNvY2tldHMgbm90aWZpY2F0aW9ucy5cbiAgICAgIFBFTlBPVF9SRURJU19VUkk6IHJlZGlzOi8vcGVucG90LXJlZGlzLzBcblxuICBwZW5wb3QtcG9zdGdyZXM6XG4gICAgaW1hZ2U6IFwicG9zdGdyZXM6MTVcIlxuICAgIHJlc3RhcnQ6IGFsd2F5c1xuICAgIHN0b3Bfc2lnbmFsOiBTSUdJTlRcblxuICAgIHZvbHVtZXM6XG4gICAgICAtIHBlbnBvdF9wb3N0Z3Jlc192MTU6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhXG5cblxuXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIFBPU1RHUkVTX0lOSVREQl9BUkdTPS0tZGF0YS1jaGVja3N1bXNcbiAgICAgIC0gUE9TVEdSRVNfREI9cGVucG90XG4gICAgICAtIFBPU1RHUkVTX1VTRVI9cGVucG90XG4gICAgICAtIFBPU1RHUkVTX1BBU1NXT1JEPXBlbnBvdFxuXG4gIHBlbnBvdC1yZWRpczpcbiAgICBpbWFnZTogcmVkaXM6Ny4yXG4gICAgcmVzdGFydDogYWx3YXlzXG5cblxuICAjIyBBIG1haWxjYXRjaCBzZXJ2aWNlLCB1c2VkIGFzIHRlbXBvcmFsIFNNVFAgc2VydmVyLiBZb3UgY2FuIGFjY2VzcyB2aWEgSFRUUCB0byB0aGVcbiAgIyMgcG9ydCAxMDgwIGZvciByZWFkIGFsbCBlbWFpbHMgdGhlIHBlbnBvdCBwbGF0Zm9ybSBoYXMgc2VudC4gU2hvdWxkIGJlIG9ubHkgdXNlZCBhcyBhXG4gICMjIHRlbXBvcmFsIHNvbHV0aW9uIHdoaWxlIG5vIHJlYWwgU01UUCBwcm92aWRlciBpcyBjb25maWd1cmVkLlxuXG4gIHBlbnBvdC1tYWlsY2F0Y2g6XG4gICAgaW1hZ2U6IHNqMjYvbWFpbGNhdGNoZXI6bGF0ZXN0XG4gICAgcmVzdGFydDogYWx3YXlzXG4gICAgZXhwb3NlOlxuICAgICAgLSAnMTAyNSdcbiAgICAgIC0gJzEwODAnIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcblxuW2NvbmZpZ11cbm1vdW50cyA9IFtdXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcInBlbnBvdC1mcm9udGVuZFwiXG5wb3J0ID0gODA4MFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuXG5bY29uZmlnLmVudl1cbkRPTUFJTl9OQU1FID0gXCIke21haW5fZG9tYWlufVwiIgp9

Configuration

The exact Docker Compose and template configuration this template deploys.

Related Templates

Self-host Penpot in minutes

Dokploy is a free, open source deployment platform. Deploy Penpot and 517+ other templates on your own infrastructure with a single click.