Back to Templates
Puppetflow with Postgres logo

Puppetflow with Postgres

vv2026.11.7

A self-hosted browser automation platform for building, running, and monitoring JavaScript workflows powered by Puppeteer and PostgreSQL.

Deploy on Dokploy

Deploy Puppetflow with Postgres 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 Puppetflow with Postgres 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
ewogICJjb21wb3NlIjogIiMgZG9rcGxveTogYWxsb3ctY29udGFpbmVyLW5hbWVzXG54LXB1cHBldGZsb3ctZW52aXJvbm1lbnQ6ICZwdXBwZXRmbG93LWVudmlyb25tZW50XG4gIEFQUF9FTlY6IHByb2R1Y3Rpb25cbiAgTE9HX1NUQUNLOiBzaW5nbGUsc3RkZXJyXG4gIExBTkc6ICR7TEFOR31cbiAgTEFOR1VBR0U6ICR7TEFOR1VBR0V9XG4gIENPTk5FQ1RJT05fVElNRU9VVF9NUzogJHtDT05ORUNUSU9OX1RJTUVPVVRfTVN9XG4gIEFQUF9VUkw6ICR7QVBQX1VSTH1cbiAgQVBQX0tFWTogJHtBUFBfS0VZfVxuICBBUFBfUVVFVUVTX0NPVU5URVI6IFwiMlwiXG4gIERCX0NPTk5FQ1RJT046IHBnc3FsXG4gIERCX0hPU1Q6IHBvc3RncmVzXG4gIERCX1BPUlQ6IFwiNTQzMlwiXG4gIERCX0RBVEFCQVNFOiAke1BPU1RHUkVTX0RCfVxuICBEQl9VU0VSTkFNRTogJHtQT1NUR1JFU19VU0VSfVxuICBEQl9QQVNTV09SRDogJHtQT1NUR1JFU19QQVNTV09SRH1cbiAgUkVESVNfSE9TVDogcmVkaXNcbiAgUkVESVNfUE9SVDogXCI2Mzc5XCJcbiAgUElOT0tJT19IT1NUOiBwaW5va2lvXG4gIFBJTk9LSU9fUE9SVDogXCIzMDAwXCJcbiAgUElOT0tJT19UT0tFTjogJHtQSU5PS0lPX1RPS0VOfVxuICBSVU5ORVJfQVBJX0lOVEVSTkFMX1VSTDogaHR0cDovL3B1cHBldGZsb3c6ODAwMC9hcGkvaW50ZXJuYWwvcnVubmVyXG4gIEJST1dTRVJfU1RSRUFNX0lOVEVSTkFMX1VSTDogaHR0cDovL3N0cmVhbS1zZXJ2ZXI6NjA4MFxuICBCUk9XU0VSX1NUUkVBTV9QVUJMSUNfVVJMOiAke0JST1dTRVJfU1RSRUFNX1BVQkxJQ19VUkx9XG4gIEJST1dTRVJfU1RSRUFNX0FMTE9XRURfT1JJR0lOUzogJHtBUFBfVVJMfVxuICBCUk9XU0VSX1NUUkVBTV9TRUNSRVQ6ICR7QlJPV1NFUl9TVFJFQU1fU0VDUkVUfVxuXG5zZXJ2aWNlczpcbiAgcHVwcGV0ZmxvdzpcbiAgICBpbWFnZTogZ2hjci5pby9wdXBwZXRmbG93L3B1cHBldGZsb3c6djIwMjYuMTEuN1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZXhwb3NlOlxuICAgICAgLSA4MDAwXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcHVwcGV0Zmxvdy1mcmFtZXdvcms6L2FwcC9zdG9yYWdlXG4gICAgICAtIHB1cHBldGZsb3ctZXhlY3V0aW9uOi9hcHAvZGF0YS9leGVjdXRpb25cbiAgICAgIC0gcHVwcGV0Zmxvdy11cGxvYWRzOi9hcHAvZGF0YS9zdG9yYWdlXG4gICAgZW52aXJvbm1lbnQ6ICpwdXBwZXRmbG93LWVudmlyb25tZW50XG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTURcIiwgXCJjdXJsXCIsIFwiLWZzU1wiLCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC91cFwiXVxuICAgICAgaW50ZXJ2YWw6IDMwc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDNcbiAgICAgIHN0YXJ0X3BlcmlvZDogMTVzXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIG1pZ3JhdGU6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XG4gICAgICBwaW5va2lvOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZFxuICAgICAgc3RyZWFtLXNlcnZlcjpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX3N0YXJ0ZWRcblxuICBtaWdyYXRlOlxuICAgIGltYWdlOiBnaGNyLmlvL3B1cHBldGZsb3cvcHVwcGV0Zmxvdzp2MjAyNi4xMS43XG4gICAgY29tbWFuZDogW1wicGhwXCIsIFwiYXJ0aXNhblwiLCBcIm1pZ3JhdGVcIiwgXCItLWZvcmNlXCJdXG4gICAgcmVzdGFydDogXCJub1wiXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcHVwcGV0Zmxvdy1mcmFtZXdvcms6L2FwcC9zdG9yYWdlXG4gICAgZW52aXJvbm1lbnQ6ICpwdXBwZXRmbG93LWVudmlyb25tZW50XG4gICAgZGVwZW5kc19vbjpcbiAgICAgIGluaXQtdm9sdW1lczpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcbiAgICAgIHBvc3RncmVzOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuXG4gIHF1ZXVlLTE6XG4gICAgaW1hZ2U6IGdoY3IuaW8vcHVwcGV0Zmxvdy9wdXBwZXRmbG93OnYyMDI2LjExLjdcbiAgICBjb21tYW5kOiBbXCJwaHBcIiwgXCJhcnRpc2FuXCIsIFwicXVldWU6d29ya1wiLCBcIi0tcXVldWU9MVwiLCBcIi0tdHJpZXM9MVwiLCBcIi0tdGltZW91dD02MzBcIiwgXCItLXNsZWVwPTNcIiwgXCItLW1heC1qb2JzPTUwMFwiLCBcIi0tbWF4LXRpbWU9MzYwMFwiXVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcHVwcGV0Zmxvdy1mcmFtZXdvcms6L2FwcC9zdG9yYWdlXG4gICAgICAtIHB1cHBldGZsb3ctZXhlY3V0aW9uOi9hcHAvZGF0YS9leGVjdXRpb25cbiAgICAgIC0gcHVwcGV0Zmxvdy11cGxvYWRzOi9hcHAvZGF0YS9zdG9yYWdlXG4gICAgZW52aXJvbm1lbnQ6ICpwdXBwZXRmbG93LWVudmlyb25tZW50XG4gICAgZGVwZW5kc19vbjpcbiAgICAgIG1pZ3JhdGU6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XG4gICAgICBzdHJlYW0tc2VydmVyOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZFxuXG4gIHF1ZXVlLTI6XG4gICAgaW1hZ2U6IGdoY3IuaW8vcHVwcGV0Zmxvdy9wdXBwZXRmbG93OnYyMDI2LjExLjdcbiAgICBjb21tYW5kOiBbXCJwaHBcIiwgXCJhcnRpc2FuXCIsIFwicXVldWU6d29ya1wiLCBcIi0tcXVldWU9MlwiLCBcIi0tdHJpZXM9MVwiLCBcIi0tdGltZW91dD02MzBcIiwgXCItLXNsZWVwPTNcIiwgXCItLW1heC1qb2JzPTUwMFwiLCBcIi0tbWF4LXRpbWU9MzYwMFwiXVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcHVwcGV0Zmxvdy1mcmFtZXdvcms6L2FwcC9zdG9yYWdlXG4gICAgICAtIHB1cHBldGZsb3ctZXhlY3V0aW9uOi9hcHAvZGF0YS9leGVjdXRpb25cbiAgICAgIC0gcHVwcGV0Zmxvdy11cGxvYWRzOi9hcHAvZGF0YS9zdG9yYWdlXG4gICAgZW52aXJvbm1lbnQ6ICpwdXBwZXRmbG93LWVudmlyb25tZW50XG4gICAgZGVwZW5kc19vbjpcbiAgICAgIG1pZ3JhdGU6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XG4gICAgICBzdHJlYW0tc2VydmVyOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZFxuXG4gIHNjaGVkdWxlcjpcbiAgICBpbWFnZTogZ2hjci5pby9wdXBwZXRmbG93L3B1cHBldGZsb3c6djIwMjYuMTEuN1xuICAgIGNvbW1hbmQ6IFtcInBocFwiLCBcImFydGlzYW5cIiwgXCJzY2hlZHVsZTp3b3JrXCJdXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICB2b2x1bWVzOlxuICAgICAgLSBwdXBwZXRmbG93LWZyYW1ld29yazovYXBwL3N0b3JhZ2VcbiAgICAgIC0gcHVwcGV0Zmxvdy1leGVjdXRpb246L2FwcC9kYXRhL2V4ZWN1dGlvblxuICAgICAgLSBwdXBwZXRmbG93LXVwbG9hZHM6L2FwcC9kYXRhL3N0b3JhZ2VcbiAgICBlbnZpcm9ubWVudDogKnB1cHBldGZsb3ctZW52aXJvbm1lbnRcbiAgICBkZXBlbmRzX29uOlxuICAgICAgbWlncmF0ZTpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcblxuICBzdHJlYW0tc2VydmVyOlxuICAgIGltYWdlOiBnaGNyLmlvL3B1cHBldGZsb3cvcHVwcGV0Zmxvdy1zdHJlYW0tc2VydmVyOnYyMDI2LjExLjdcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIHN0b3BfZ3JhY2VfcGVyaW9kOiAzMHNcbiAgICBleHBvc2U6XG4gICAgICAtIDYwODBcbiAgICBlbnZpcm9ubWVudDogKnB1cHBldGZsb3ctZW52aXJvbm1lbnRcbiAgICBkZXBlbmRzX29uOlxuICAgICAgcmVkaXM6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG5cbiAgaW5pdC12b2x1bWVzOlxuICAgIGltYWdlOiBidXN5Ym94OjEuMzcuMFxuICAgIGNvbW1hbmQ6IFtcInNoXCIsIFwiLWNcIiwgXCJjaG93biAtUiAzMzozMyAvZnJhbWV3b3JrIC9leGVjdXRpb24gL3VwbG9hZHMgL2Jyb3dzZXJzXCJdXG4gICAgcmVzdGFydDogXCJub1wiXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcHVwcGV0Zmxvdy1mcmFtZXdvcms6L2ZyYW1ld29ya1xuICAgICAgLSBwdXBwZXRmbG93LWV4ZWN1dGlvbjovZXhlY3V0aW9uXG4gICAgICAtIHB1cHBldGZsb3ctdXBsb2FkczovdXBsb2Fkc1xuICAgICAgLSBwaW5va2lvLWRvd25sb2FkczovYnJvd3NlcnNcblxuICBwaW5va2lvOlxuICAgIGltYWdlOiBnaGNyLmlvL3B1cHBldGZsb3cvcGlub2tpbzp2MjAyNi4xMS4xXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICB1c2VyOiBcIjMzOjMzXCJcbiAgICBzaG1fc2l6ZTogXCIxZ2JcIlxuICAgIHZvbHVtZXM6XG4gICAgICAtIHB1cHBldGZsb3ctZXhlY3V0aW9uOi9hcHAvZGF0YS9leGVjdXRpb25cbiAgICAgIC0gcGlub2tpby1kb3dubG9hZHM6L29wdC9icm93c2Vyc1xuICAgIGVudmlyb25tZW50OlxuICAgICAgVE9LRU46ICR7UElOT0tJT19UT0tFTn1cbiAgICAgIEhPTUU6IC90bXBcbiAgICAgIFhER19DT05GSUdfSE9NRTogL3RtcC8uY29uZmlnXG4gICAgICBYREdfQ0FDSEVfSE9NRTogL3RtcC8uY2FjaGVcbiAgICAgIExBTkc6ICR7TEFOR31cbiAgICAgIExBTkdVQUdFOiAke0xBTkdVQUdFfVxuICAgIGRlcGVuZHNfb246XG4gICAgICBpbml0LXZvbHVtZXM6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XG5cbiAgcG9zdGdyZXM6XG4gICAgaW1hZ2U6IHBvc3RncmVzOjE3LWFscGluZVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcHVwcGV0Zmxvdy1kYjovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGFcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIFBPU1RHUkVTX0RCOiAke1BPU1RHUkVTX0RCfVxuICAgICAgUE9TVEdSRVNfVVNFUjogJHtQT1NUR1JFU19VU0VSfVxuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICR7UE9TVEdSRVNfUEFTU1dPUkR9XG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTUQtU0hFTExcIiwgXCJwZ19pc3JlYWR5IC1VIFxcXCIkJHtQT1NUR1JFU19VU0VSfVxcXCIgLWQgXFxcIiQke1BPU1RHUkVTX0RCfVxcXCJcIl1cbiAgICAgIGludGVydmFsOiA1c1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDVcblxuICByZWRpczpcbiAgICBpbWFnZTogcmVkaXM6OC4yLjEtYWxwaW5lXG4gICAgY29tbWFuZDogW1wicmVkaXMtc2VydmVyXCIsIFwiLS1zYXZlXCIsIFwiXCIsIFwiLS1hcHBlbmRvbmx5XCIsIFwibm9cIl1cbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogW1wiQ01EXCIsIFwicmVkaXMtY2xpXCIsIFwicGluZ1wiXVxuICAgICAgaW50ZXJ2YWw6IDVzXG4gICAgICB0aW1lb3V0OiAzc1xuICAgICAgcmV0cmllczogNVxuXG52b2x1bWVzOlxuICBwdXBwZXRmbG93LWZyYW1ld29yazpcbiAgcHVwcGV0Zmxvdy11cGxvYWRzOlxuICBwdXBwZXRmbG93LWV4ZWN1dGlvbjpcbiAgcHVwcGV0Zmxvdy1kYjpcbiAgcGlub2tpby1kb3dubG9hZHM6IiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbnN0cmVhbV9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5hcHBfa2V5ID0gXCIke2Jhc2U2NDozMn1cIlxuYnJvd3Nlcl9zdHJlYW1fc2VjcmV0ID0gXCIke2hhc2g6MzJ9XCJcbnBpbm9raW9fdG9rZW4gPSBcIiR7aGFzaDozMn1cIlxucG9zdGdyZXNfdXNlciA9IFwiJHt1c2VybmFtZX1cIlxucG9zdGdyZXNfcGFzc3dvcmQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbnBvc3RncmVzX2RhdGFiYXNlID0gXCJwdXBwZXRmbG93XCJcbmluc3RhbmNlX2lkID0gXCIke2hhc2g6OH1cIlxuXG5bY29uZmlnXVxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJwdXBwZXRmbG93XCJcbnBvcnQgPSA4MDAwXG5ob3N0ID0gXCIke21haW5fZG9tYWlufVwiXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcInN0cmVhbS1zZXJ2ZXJcIlxucG9ydCA9IDYwODBcbmhvc3QgPSBcIiR7c3RyZWFtX2RvbWFpbn1cIlxuXG5bY29uZmlnLmVudl1cbkxBTkcgPSBcIkMuVVRGLThcIlxuTEFOR1VBR0UgPSBcImVuLVVTXCJcbkNPTk5FQ1RJT05fVElNRU9VVF9NUyA9IFwiNjAwMDAwMDBcIlxuQVBQX1VSTCA9IFwiaHR0cDovLyR7bWFpbl9kb21haW59XCJcbkFQUF9LRVkgPSBcImJhc2U2NDoke2FwcF9rZXl9XCJcbkJST1dTRVJfU1RSRUFNX1BVQkxJQ19VUkwgPSBcImh0dHA6Ly8ke3N0cmVhbV9kb21haW59XCJcbkJST1dTRVJfU1RSRUFNX1NFQ1JFVCA9IFwiJHticm93c2VyX3N0cmVhbV9zZWNyZXR9XCJcblBJTk9LSU9fVE9LRU4gPSBcIiR7cGlub2tpb190b2tlbn1cIlxuUE9TVEdSRVNfVVNFUiA9IFwiJHtwb3N0Z3Jlc191c2VyfVwiXG5QT1NUR1JFU19QQVNTV09SRCA9IFwiJHtwb3N0Z3Jlc19wYXNzd29yZH1cIlxuUE9TVEdSRVNfREIgPSBcIiR7cG9zdGdyZXNfZGF0YWJhc2V9XCJcblBVUFBFVEZMT1dfSU5TVEFOQ0VfSUQgPSBcIiR7aW5zdGFuY2VfaWR9XCIiCn0=

Configuration

The exact Docker Compose and template configuration this template deploys.

Related Templates

Self-host Puppetflow with Postgres in minutes

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