Back to Templates
Grovs logo

Grovs

v2.3.1

Self-hosted deep linking, attribution and analytics for mobile and web apps.

Deploy on Dokploy

Deploy Grovs 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 Grovs 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
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBwb3N0Z3JlczpcbiAgICBpbWFnZTogXCJwb3N0Z3JlczoxNi4xMC1hbHBpbmVcIlxuICAgIHJlc3RhcnQ6IFwidW5sZXNzLXN0b3BwZWRcIlxuICAgIGVudmlyb25tZW50OlxuICAgICAgUE9TVEdSRVNfVVNFUjogXCJncm92c1wiXG4gICAgICBQT1NUR1JFU19QQVNTV09SRDogXCIke1BPU1RHUkVTX1BBU1NXT1JEfVwiXG4gICAgICBQT1NUR1JFU19EQjogXCJncm92c19wcm9kdWN0aW9uXCJcbiAgICBjb21tYW5kOlxuICAgICAgLSBcInBvc3RncmVzXCJcbiAgICAgIC0gXCItY1wiXG4gICAgICAtIFwibWF4X2Nvbm5lY3Rpb25zPTIwMFwiXG4gICAgdm9sdW1lczpcbiAgICAgIC0gXCJwZ19kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVwiXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OlxuICAgICAgICAtIFwiQ01ELVNIRUxMXCJcbiAgICAgICAgLSBcInBnX2lzcmVhZHkgLVUgJCRQT1NUR1JFU19VU0VSIC1kICQkUE9TVEdSRVNfREJcIlxuICAgICAgaW50ZXJ2YWw6IFwiMTBzXCJcbiAgICAgIHRpbWVvdXQ6IFwiNXNcIlxuICAgICAgcmV0cmllczogMTBcbiAgcmVkaXM6XG4gICAgaW1hZ2U6IFwicmVkaXM6Ny40LjUtYWxwaW5lXCJcbiAgICByZXN0YXJ0OiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBjb21tYW5kOlxuICAgICAgLSBcInJlZGlzLXNlcnZlclwiXG4gICAgICAtIFwiLS1hcHBlbmRvbmx5XCJcbiAgICAgIC0gXCJ5ZXNcIlxuICAgICAgLSBcIi0tbWF4bWVtb3J5LXBvbGljeVwiXG4gICAgICAtIFwibm9ldmljdGlvblwiXG4gICAgdm9sdW1lczpcbiAgICAgIC0gXCJyZWRpc19kYXRhOi9kYXRhXCJcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6XG4gICAgICAgIC0gXCJDTURcIlxuICAgICAgICAtIFwicmVkaXMtY2xpXCJcbiAgICAgICAgLSBcInBpbmdcIlxuICAgICAgaW50ZXJ2YWw6IFwiMTBzXCJcbiAgICAgIHRpbWVvdXQ6IFwiNXNcIlxuICAgICAgcmV0cmllczogMTBcbiAgY2xpY2tob3VzZTpcbiAgICBpbWFnZTogXCJjbGlja2hvdXNlL2NsaWNraG91c2Utc2VydmVyOjI1LjMuNi41NlwiXG4gICAgcmVzdGFydDogXCJ1bmxlc3Mtc3RvcHBlZFwiXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBDTElDS0hPVVNFX0RCOiBcImdyb3ZzX3Byb2R1Y3Rpb25cIlxuICAgICAgQ0xJQ0tIT1VTRV9VU0VSOiBcImdyb3ZzXCJcbiAgICAgIENMSUNLSE9VU0VfUEFTU1dPUkQ6IFwiJHtDTElDS0hPVVNFX1BBU1NXT1JEfVwiXG4gICAgdm9sdW1lczpcbiAgICAgIC0gXCJjbGlja2hvdXNlX2RhdGE6L3Zhci9saWIvY2xpY2tob3VzZVwiXG4gICAgdWxpbWl0czpcbiAgICAgIG5vZmlsZTpcbiAgICAgICAgc29mdDogMjYyMTQ0XG4gICAgICAgIGhhcmQ6IDI2MjE0NFxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDpcbiAgICAgICAgLSBcIkNNRFwiXG4gICAgICAgIC0gXCJ3Z2V0XCJcbiAgICAgICAgLSBcIi0tc3BpZGVyXCJcbiAgICAgICAgLSBcIi1xXCJcbiAgICAgICAgLSBcImh0dHA6Ly9sb2NhbGhvc3Q6ODEyMy9waW5nXCJcbiAgICAgIGludGVydmFsOiBcIjEwc1wiXG4gICAgICB0aW1lb3V0OiBcIjVzXCJcbiAgICAgIHJldHJpZXM6IDMwXG4gIG1pZ3JhdGU6XG4gICAgaW1hZ2U6IFwiZ2hjci5pby9ncm92cy1pby9iYWNrZW5kOjIuMy4xXCJcbiAgICByZXN0YXJ0OiBcIm5vXCJcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIEFDVElWRV9SRUNPUkRfRU5DUllQVElPTl9ERVRFUk1JTklTVElDX0tFWTogXCIke0FDVElWRV9SRUNPUkRfRU5DUllQVElPTl9ERVRFUk1JTklTVElDX0tFWX1cIlxuICAgICAgQUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX0tFWV9ERVJJVkFUSU9OX1NBTFQ6IFwiJHtBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fS0VZX0RFUklWQVRJT05fU0FMVH1cIlxuICAgICAgQUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX1BSSU1BUllfS0VZOiBcIiR7QUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX1BSSU1BUllfS0VZfVwiXG4gICAgICBBQ1RJVkVfU1RPUkFHRV9TRVJWSUNFOiBcImxvY2FsXCJcbiAgICAgIEFETUlOX0FQSV9LRVk6IFwiJHtBRE1JTl9BUElfS0VZfVwiXG4gICAgICBBUElfSE9TVDogXCJhcGkuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgQk9PVFNUUkFQX0FETUlOX0VNQUlMOiBcIiR7Qk9PVFNUUkFQX0FETUlOX0VNQUlMfVwiXG4gICAgICBCT09UU1RSQVBfQURNSU5fUEFTU1dPUkQ6IFwiJHtCT09UU1RSQVBfQURNSU5fUEFTU1dPUkR9XCJcbiAgICAgIENMSUNLSE9VU0VfQU5BTFlUSUNTX1JPTExVUFNfUkVBRF9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9BVFRSSUJVVElPTl9SRUFEX0VOQUJMRUQ6IFwidHJ1ZVwiXG4gICAgICBDTElDS0hPVVNFX0RBVEFCQVNFOiBcImdyb3ZzX3Byb2R1Y3Rpb25cIlxuICAgICAgQ0xJQ0tIT1VTRV9MSU5LX0RJTUVOU0lPTlNfUkVBRF9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9QQVNTV09SRDogXCIke0NMSUNLSE9VU0VfUEFTU1dPUkR9XCJcbiAgICAgIENMSUNLSE9VU0VfUFJJTUFSWTogXCJ0cnVlXCJcbiAgICAgIENMSUNLSE9VU0VfUkVBRF9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9ST0xMVVBfRkFTVF9MQU5FOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9VUkw6IFwiaHR0cDovL2dyb3ZzOiR7Q0xJQ0tIT1VTRV9QQVNTV09SRH1AY2xpY2tob3VzZTo4MTIzXCJcbiAgICAgIENMSUNLSE9VU0VfV1JJVEVfRU5BQkxFRDogXCJ0cnVlXCJcbiAgICAgIERBU0hCT0FSRF9DQUNIRV9UVExfU0VDT05EUzogXCI2MFwiXG4gICAgICBEQVNIQk9BUkRfSE9TVDogXCJkYXNoYm9hcmQuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgREFUQUJBU0VfVVJMOiBcInBvc3RncmVzOi8vZ3JvdnM6JHtQT1NUR1JFU19QQVNTV09SRH1AcG9zdGdyZXM6NTQzMi9ncm92c19wcm9kdWN0aW9uXCJcbiAgICAgIERFRkFVTFRfTElOS19TVUJUSVRMRTogXCJEeW5hbWljIGxpbmtzLCBhdHRyaWJ1dGlvbnMsIGFuZCByZWZlcnJhbHMgYWNyb3NzIG1vYmlsZSBhbmQgd2ViIHBsYXRmb3Jtcy5cIlxuICAgICAgREVGQVVMVF9MSU5LX1RJVExFOiBcImdyb3ZzXCJcbiAgICAgIERFRkFVTFRfTE9HT19VUkw6IFwiaHR0cHM6Ly9hcHBzc2VtYmxlLWFzc2V0cy5zMy5ldS1ub3J0aC0xLmFtYXpvbmF3cy5jb20vbGlua3NxdWFyZWQvbG9nby1zcXVhcmUtbmV3LnN2Z1wiXG4gICAgICBERUZBVUxUX1NPQ0lBTF9QUkVWSUVXX1VSTDogXCJodHRwczovL2FwcHNzZW1ibGUtYXNzZXRzLnMzLmV1LW5vcnRoLTEuYW1hem9uYXdzLmNvbS9saW5rc3F1YXJlZC9zb2NpYWwtbWVkaWEtcGxhY2Vob2xkZXIuanBnXCJcbiAgICAgIERJQUdOT1NUSUNTX0FQSV9LRVk6IFwiJHtESUFHTk9TVElDU19BUElfS0VZfVwiXG4gICAgICBET01BSU5fTElWRTogXCIke0RPTUFJTl9MSVZFfVwiXG4gICAgICBET01BSU5fVEVTVDogXCIke0RPTUFJTl9URVNUfVwiXG4gICAgICBHT19IT1NUOiBcImdvLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIEdST1ZTX0VFOiBcImZhbHNlXCJcbiAgICAgIEdST1ZTX1NFTEZfSE9TVEVEOiBcInRydWVcIlxuICAgICAgTElOS1NfUFJPRF9IT1NUOiBcImxpbmtzLiR7RE9NQUlOX0xJVkV9XCJcbiAgICAgIExJTktTX1RFU1RfSE9TVDogXCJsaW5rcy4ke0RPTUFJTl9URVNUfVwiXG4gICAgICBNQUlMRVJfREVMSVZFUllfTUVUSE9EOiBcIlwiXG4gICAgICBNQUlMRVJfRlJPTTogXCJHcm92cyA8bm9yZXBseUAke1NFUlZFUl9IT1NUfT5cIlxuICAgICAgTUNQX0NPTlNFTlRfVVJMOiBcIiR7U0VSVkVSX0hPU1RfUFJPVE9DT0x9ZGFzaGJvYXJkLiR7U0VSVkVSX0hPU1R9L21jcC9hdXRob3JpemVcIlxuICAgICAgTUNQX0hPU1Q6IFwibWNwLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIE9BVVRIX0NMSUVOVF9TRUNSRVQ6IFwiJHtPQVVUSF9DTElFTlRfU0VDUkVUfVwiXG4gICAgICBPQVVUSF9DTElFTlRfVUlEOiBcIiR7T0FVVEhfQ0xJRU5UX1VJRH1cIlxuICAgICAgUEdfU0hBRE9XX1dSSVRFUzogXCJmYWxzZVwiXG4gICAgICBQT1NUR1JFU19EQjogXCJncm92c19wcm9kdWN0aW9uXCJcbiAgICAgIFBPU1RHUkVTX01BWF9DT05ORUNUSU9OUzogXCIyMDBcIlxuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6IFwiJHtQT1NUR1JFU19QQVNTV09SRH1cIlxuICAgICAgUE9TVEdSRVNfVVNFUjogXCJncm92c1wiXG4gICAgICBQUkVWSUVXX0JBU0VfVVJMOiBcIiR7U0VSVkVSX0hPU1RfUFJPVE9DT0x9cHJldmlldy4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBQUkVWSUVXX0hPU1Q6IFwicHJldmlldy4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBQVUJMSUNfR09fUFJPSkVDVF9JREVOVElGSUVSOiBcImdvLXNlbGYtaG9zdGVkXCJcbiAgICAgIFJBSUxTX0RCX1BPT0w6IFwiMTBcIlxuICAgICAgUkFJTFNfRU5WOiBcInByb2R1Y3Rpb25cIlxuICAgICAgUkFJTFNfTE9HX1RPX1NURE9VVDogXCJ0cnVlXCJcbiAgICAgIFJBSUxTX01BWF9USFJFQURTOiBcIjVcIlxuICAgICAgUkFJTFNfU0VSVkVfU1RBVElDX0ZJTEVTOiBcInRydWVcIlxuICAgICAgUkVBQ1RfSE9TVDogXCJkYXNoYm9hcmQuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgUkVBQ1RfSE9TVF9QUk9UT0NPTDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfVwiXG4gICAgICBSRURJU19VUkw6IFwicmVkaXM6Ly9yZWRpczo2Mzc5LzBcIlxuICAgICAgUkVWRU5VRV9SRUFEU19GUk9NX0xFREdFUjogXCJ0cnVlXCJcbiAgICAgIFMzX0FTU0VUX1BSRUZJWDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfWFwaS4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBTREtfSE9TVDogXCJzZGsuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgU0VDUkVUX0tFWV9CQVNFOiBcIiR7U0VDUkVUX0tFWV9CQVNFfVwiXG4gICAgICBTRU5UX1FVT1RBU19XRUJIT09LX0tFWTogXCIke1NFTlRfUVVPVEFTX1dFQkhPT0tfS0VZfVwiXG4gICAgICBTRVJWRVJfSE9TVDogXCIke1NFUlZFUl9IT1NUfVwiXG4gICAgICBTRVJWRVJfSE9TVF9QUk9UT0NPTDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfVwiXG4gICAgICBTSURFS0lRX0VWRU5UU19DT05DVVJSRU5DWTogXCIxMFwiXG4gICAgICBTTVRQX0FERFJFU1M6IFwic210cC5leGFtcGxlLmNvbVwiXG4gICAgICBTTVRQX0FVVEhFTlRJQ0FUSU9OOiBcInBsYWluXCJcbiAgICAgIFNNVFBfRE9NQUlOOiBcIiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFNNVFBfRU5BQkxFX1NUQVJUVExTX0FVVE86IFwidHJ1ZVwiXG4gICAgICBTTVRQX1BBU1NXT1JEOiBcIlwiXG4gICAgICBTTVRQX1BPUlQ6IFwiNTg3XCJcbiAgICAgIFNNVFBfVVNFUk5BTUU6IFwiXCJcbiAgICAgIFdFQl9DT05DVVJSRU5DWTogXCIyXCJcbiAgICB2b2x1bWVzOlxuICAgICAgLSBcInN0b3JhZ2U6L2FwcC9zdG9yYWdlXCJcbiAgICBjb21tYW5kOlxuICAgICAgLSBcImJhc2hcIlxuICAgICAgLSBcIi1jXCJcbiAgICAgIC0gXCJiaW4vcmFpbHMgZGI6cHJlcGFyZSAmJiBiaW4vcmFpbHMgZGI6c2VlZCAmJiBiaW4vcmFpbHMgY2xpY2tob3VzZTpzZXR1cFwiXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIHBvc3RncmVzOlxuICAgICAgICBjb25kaXRpb246IFwic2VydmljZV9oZWFsdGh5XCJcbiAgICAgIHJlZGlzOlxuICAgICAgICBjb25kaXRpb246IFwic2VydmljZV9oZWFsdGh5XCJcbiAgICAgIGNsaWNraG91c2U6XG4gICAgICAgIGNvbmRpdGlvbjogXCJzZXJ2aWNlX2hlYWx0aHlcIlxuICB3ZWI6XG4gICAgaW1hZ2U6IFwiZ2hjci5pby9ncm92cy1pby9iYWNrZW5kOjIuMy4xXCJcbiAgICByZXN0YXJ0OiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIEFDVElWRV9SRUNPUkRfRU5DUllQVElPTl9ERVRFUk1JTklTVElDX0tFWTogXCIke0FDVElWRV9SRUNPUkRfRU5DUllQVElPTl9ERVRFUk1JTklTVElDX0tFWX1cIlxuICAgICAgQUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX0tFWV9ERVJJVkFUSU9OX1NBTFQ6IFwiJHtBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fS0VZX0RFUklWQVRJT05fU0FMVH1cIlxuICAgICAgQUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX1BSSU1BUllfS0VZOiBcIiR7QUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX1BSSU1BUllfS0VZfVwiXG4gICAgICBBQ1RJVkVfU1RPUkFHRV9TRVJWSUNFOiBcImxvY2FsXCJcbiAgICAgIEFETUlOX0FQSV9LRVk6IFwiJHtBRE1JTl9BUElfS0VZfVwiXG4gICAgICBBUElfSE9TVDogXCJhcGkuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgQk9PVFNUUkFQX0FETUlOX0VNQUlMOiBcIiR7Qk9PVFNUUkFQX0FETUlOX0VNQUlMfVwiXG4gICAgICBCT09UU1RSQVBfQURNSU5fUEFTU1dPUkQ6IFwiJHtCT09UU1RSQVBfQURNSU5fUEFTU1dPUkR9XCJcbiAgICAgIENMSUNLSE9VU0VfQU5BTFlUSUNTX1JPTExVUFNfUkVBRF9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9BVFRSSUJVVElPTl9SRUFEX0VOQUJMRUQ6IFwidHJ1ZVwiXG4gICAgICBDTElDS0hPVVNFX0RBVEFCQVNFOiBcImdyb3ZzX3Byb2R1Y3Rpb25cIlxuICAgICAgQ0xJQ0tIT1VTRV9MSU5LX0RJTUVOU0lPTlNfUkVBRF9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9QQVNTV09SRDogXCIke0NMSUNLSE9VU0VfUEFTU1dPUkR9XCJcbiAgICAgIENMSUNLSE9VU0VfUFJJTUFSWTogXCJ0cnVlXCJcbiAgICAgIENMSUNLSE9VU0VfUkVBRF9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9ST0xMVVBfRkFTVF9MQU5FOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9VUkw6IFwiaHR0cDovL2dyb3ZzOiR7Q0xJQ0tIT1VTRV9QQVNTV09SRH1AY2xpY2tob3VzZTo4MTIzXCJcbiAgICAgIENMSUNLSE9VU0VfV1JJVEVfRU5BQkxFRDogXCJ0cnVlXCJcbiAgICAgIERBU0hCT0FSRF9DQUNIRV9UVExfU0VDT05EUzogXCI2MFwiXG4gICAgICBEQVNIQk9BUkRfSE9TVDogXCJkYXNoYm9hcmQuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgREFUQUJBU0VfVVJMOiBcInBvc3RncmVzOi8vZ3JvdnM6JHtQT1NUR1JFU19QQVNTV09SRH1AcG9zdGdyZXM6NTQzMi9ncm92c19wcm9kdWN0aW9uXCJcbiAgICAgIERFRkFVTFRfTElOS19TVUJUSVRMRTogXCJEeW5hbWljIGxpbmtzLCBhdHRyaWJ1dGlvbnMsIGFuZCByZWZlcnJhbHMgYWNyb3NzIG1vYmlsZSBhbmQgd2ViIHBsYXRmb3Jtcy5cIlxuICAgICAgREVGQVVMVF9MSU5LX1RJVExFOiBcImdyb3ZzXCJcbiAgICAgIERFRkFVTFRfTE9HT19VUkw6IFwiaHR0cHM6Ly9hcHBzc2VtYmxlLWFzc2V0cy5zMy5ldS1ub3J0aC0xLmFtYXpvbmF3cy5jb20vbGlua3NxdWFyZWQvbG9nby1zcXVhcmUtbmV3LnN2Z1wiXG4gICAgICBERUZBVUxUX1NPQ0lBTF9QUkVWSUVXX1VSTDogXCJodHRwczovL2FwcHNzZW1ibGUtYXNzZXRzLnMzLmV1LW5vcnRoLTEuYW1hem9uYXdzLmNvbS9saW5rc3F1YXJlZC9zb2NpYWwtbWVkaWEtcGxhY2Vob2xkZXIuanBnXCJcbiAgICAgIERJQUdOT1NUSUNTX0FQSV9LRVk6IFwiJHtESUFHTk9TVElDU19BUElfS0VZfVwiXG4gICAgICBET01BSU5fTElWRTogXCIke0RPTUFJTl9MSVZFfVwiXG4gICAgICBET01BSU5fVEVTVDogXCIke0RPTUFJTl9URVNUfVwiXG4gICAgICBHT19IT1NUOiBcImdvLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIEdST1ZTX0VFOiBcImZhbHNlXCJcbiAgICAgIEdST1ZTX1NFTEZfSE9TVEVEOiBcInRydWVcIlxuICAgICAgTElOS1NfUFJPRF9IT1NUOiBcImxpbmtzLiR7RE9NQUlOX0xJVkV9XCJcbiAgICAgIExJTktTX1RFU1RfSE9TVDogXCJsaW5rcy4ke0RPTUFJTl9URVNUfVwiXG4gICAgICBNQUlMRVJfREVMSVZFUllfTUVUSE9EOiBcIlwiXG4gICAgICBNQUlMRVJfRlJPTTogXCJHcm92cyA8bm9yZXBseUAke1NFUlZFUl9IT1NUfT5cIlxuICAgICAgTUNQX0NPTlNFTlRfVVJMOiBcIiR7U0VSVkVSX0hPU1RfUFJPVE9DT0x9ZGFzaGJvYXJkLiR7U0VSVkVSX0hPU1R9L21jcC9hdXRob3JpemVcIlxuICAgICAgTUNQX0hPU1Q6IFwibWNwLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIE9BVVRIX0NMSUVOVF9TRUNSRVQ6IFwiJHtPQVVUSF9DTElFTlRfU0VDUkVUfVwiXG4gICAgICBPQVVUSF9DTElFTlRfVUlEOiBcIiR7T0FVVEhfQ0xJRU5UX1VJRH1cIlxuICAgICAgUEdfU0hBRE9XX1dSSVRFUzogXCJmYWxzZVwiXG4gICAgICBQT1NUR1JFU19EQjogXCJncm92c19wcm9kdWN0aW9uXCJcbiAgICAgIFBPU1RHUkVTX01BWF9DT05ORUNUSU9OUzogXCIyMDBcIlxuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6IFwiJHtQT1NUR1JFU19QQVNTV09SRH1cIlxuICAgICAgUE9TVEdSRVNfVVNFUjogXCJncm92c1wiXG4gICAgICBQUkVWSUVXX0JBU0VfVVJMOiBcIiR7U0VSVkVSX0hPU1RfUFJPVE9DT0x9cHJldmlldy4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBQUkVWSUVXX0hPU1Q6IFwicHJldmlldy4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBQVUJMSUNfR09fUFJPSkVDVF9JREVOVElGSUVSOiBcImdvLXNlbGYtaG9zdGVkXCJcbiAgICAgIFJBSUxTX0RCX1BPT0w6IFwiMTBcIlxuICAgICAgUkFJTFNfRU5WOiBcInByb2R1Y3Rpb25cIlxuICAgICAgUkFJTFNfTE9HX1RPX1NURE9VVDogXCJ0cnVlXCJcbiAgICAgIFJBSUxTX01BWF9USFJFQURTOiBcIjVcIlxuICAgICAgUkFJTFNfU0VSVkVfU1RBVElDX0ZJTEVTOiBcInRydWVcIlxuICAgICAgUkVBQ1RfSE9TVDogXCJkYXNoYm9hcmQuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgUkVBQ1RfSE9TVF9QUk9UT0NPTDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfVwiXG4gICAgICBSRURJU19VUkw6IFwicmVkaXM6Ly9yZWRpczo2Mzc5LzBcIlxuICAgICAgUkVWRU5VRV9SRUFEU19GUk9NX0xFREdFUjogXCJ0cnVlXCJcbiAgICAgIFMzX0FTU0VUX1BSRUZJWDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfWFwaS4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBTREtfSE9TVDogXCJzZGsuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgU0VDUkVUX0tFWV9CQVNFOiBcIiR7U0VDUkVUX0tFWV9CQVNFfVwiXG4gICAgICBTRU5UX1FVT1RBU19XRUJIT09LX0tFWTogXCIke1NFTlRfUVVPVEFTX1dFQkhPT0tfS0VZfVwiXG4gICAgICBTRVJWRVJfSE9TVDogXCIke1NFUlZFUl9IT1NUfVwiXG4gICAgICBTRVJWRVJfSE9TVF9QUk9UT0NPTDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfVwiXG4gICAgICBTSURFS0lRX0VWRU5UU19DT05DVVJSRU5DWTogXCIxMFwiXG4gICAgICBTTVRQX0FERFJFU1M6IFwic210cC5leGFtcGxlLmNvbVwiXG4gICAgICBTTVRQX0FVVEhFTlRJQ0FUSU9OOiBcInBsYWluXCJcbiAgICAgIFNNVFBfRE9NQUlOOiBcIiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFNNVFBfRU5BQkxFX1NUQVJUVExTX0FVVE86IFwidHJ1ZVwiXG4gICAgICBTTVRQX1BBU1NXT1JEOiBcIlwiXG4gICAgICBTTVRQX1BPUlQ6IFwiNTg3XCJcbiAgICAgIFNNVFBfVVNFUk5BTUU6IFwiXCJcbiAgICAgIFdFQl9DT05DVVJSRU5DWTogXCIyXCJcbiAgICB2b2x1bWVzOlxuICAgICAgLSBcInN0b3JhZ2U6L2FwcC9zdG9yYWdlXCJcbiAgICBjb21tYW5kOlxuICAgICAgLSBcImJ1bmRsZVwiXG4gICAgICAtIFwiZXhlY1wiXG4gICAgICAtIFwicHVtYVwiXG4gICAgICAtIFwiLWJcIlxuICAgICAgLSBcInRjcDovLzAuMC4wLjA6MzAwMFwiXG4gICAgZXhwb3NlOlxuICAgICAgLSAzMDAwXG4gICAgbGFiZWxzOlxuICAgICAgLSBcInRyYWVmaWsuaHR0cC5zZXJ2aWNlcy4ke0FQUF9OQU1FfS1saW5rcy5sb2FkYmFsYW5jZXIuc2VydmVyLnBvcnQ9MzAwMFwiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3MucnVsZT1Ib3N0UmVnZXhwKGBeW2EtejAtOS1dK1xcXFwuJHtET01BSU5fTElWRX0kJGApIHx8IEhvc3RSZWdleHAoYF5bYS16MC05LV0rXFxcXC4ke0RPTUFJTl9URVNUfSQkYClcIlxuICAgICAgLSBcInRyYWVmaWsuaHR0cC5yb3V0ZXJzLiR7QVBQX05BTUV9LWxpbmtzLmVudHJ5cG9pbnRzPXdlYlwiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3MucHJpb3JpdHk9MVwiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3Muc2VydmljZT0ke0FQUF9OQU1FfS1saW5rc1wiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3Mtc2VjdXJlLnJ1bGU9SG9zdFJlZ2V4cChgXlthLXowLTktXStcXFxcLiR7RE9NQUlOX0xJVkV9JCRgKSB8fCBIb3N0UmVnZXhwKGBeW2EtejAtOS1dK1xcXFwuJHtET01BSU5fVEVTVH0kJGApXCJcbiAgICAgIC0gXCJ0cmFlZmlrLmh0dHAucm91dGVycy4ke0FQUF9OQU1FfS1saW5rcy1zZWN1cmUuZW50cnlwb2ludHM9d2Vic2VjdXJlXCJcbiAgICAgIC0gXCJ0cmFlZmlrLmh0dHAucm91dGVycy4ke0FQUF9OQU1FfS1saW5rcy1zZWN1cmUucHJpb3JpdHk9MVwiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3Mtc2VjdXJlLnNlcnZpY2U9JHtBUFBfTkFNRX0tbGlua3NcIlxuICAgICAgLSBcInRyYWVmaWsuaHR0cC5yb3V0ZXJzLiR7QVBQX05BTUV9LWxpbmtzLXNlY3VyZS50bHM9dHJ1ZVwiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3Mtc2VjdXJlLnRscy5jZXJ0cmVzb2x2ZXI9JHtHUk9WU19DRVJUX1JFU09MVkVSOi19XCJcbiAgICAgIC0gXCJ0cmFlZmlrLmh0dHAucm91dGVycy4ke0FQUF9OQU1FfS1saW5rcy1zZWN1cmUudGxzLmRvbWFpbnNbMF0ubWFpbj0ke0RPTUFJTl9MSVZFfVwiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3Mtc2VjdXJlLnRscy5kb21haW5zWzBdLnNhbnM9Ki4ke0RPTUFJTl9MSVZFfVwiXG4gICAgICAtIFwidHJhZWZpay5odHRwLnJvdXRlcnMuJHtBUFBfTkFNRX0tbGlua3Mtc2VjdXJlLnRscy5kb21haW5zWzFdLm1haW49JHtET01BSU5fVEVTVH1cIlxuICAgICAgLSBcInRyYWVmaWsuaHR0cC5yb3V0ZXJzLiR7QVBQX05BTUV9LWxpbmtzLXNlY3VyZS50bHMuZG9tYWluc1sxXS5zYW5zPSouJHtET01BSU5fVEVTVH1cIlxuICAgIGRlcGVuZHNfb246XG4gICAgICBtaWdyYXRlOlxuICAgICAgICBjb25kaXRpb246IFwic2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XCJcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6XG4gICAgICAgIC0gXCJDTURcIlxuICAgICAgICAtIFwiY3VybFwiXG4gICAgICAgIC0gXCItZlwiXG4gICAgICAgIC0gXCJodHRwOi8vbG9jYWxob3N0OjMwMDAvdXBcIlxuICAgICAgaW50ZXJ2YWw6IFwiMTBzXCJcbiAgICAgIHRpbWVvdXQ6IFwiNXNcIlxuICAgICAgcmV0cmllczogMzBcbiAgICAgIHN0YXJ0X3BlcmlvZDogXCI2MHNcIlxuICB3b3JrZXItMTpcbiAgICBpbWFnZTogXCJnaGNyLmlvL2dyb3ZzLWlvL2JhY2tlbmQ6Mi4zLjFcIlxuICAgIHJlc3RhcnQ6IFwidW5sZXNzLXN0b3BwZWRcIlxuICAgIGVudmlyb25tZW50OlxuICAgICAgQUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX0RFVEVSTUlOSVNUSUNfS0VZOiBcIiR7QUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX0RFVEVSTUlOSVNUSUNfS0VZfVwiXG4gICAgICBBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fS0VZX0RFUklWQVRJT05fU0FMVDogXCIke0FDVElWRV9SRUNPUkRfRU5DUllQVElPTl9LRVlfREVSSVZBVElPTl9TQUxUfVwiXG4gICAgICBBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fUFJJTUFSWV9LRVk6IFwiJHtBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fUFJJTUFSWV9LRVl9XCJcbiAgICAgIEFDVElWRV9TVE9SQUdFX1NFUlZJQ0U6IFwibG9jYWxcIlxuICAgICAgQURNSU5fQVBJX0tFWTogXCIke0FETUlOX0FQSV9LRVl9XCJcbiAgICAgIEFQSV9IT1NUOiBcImFwaS4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBCT09UU1RSQVBfQURNSU5fRU1BSUw6IFwiJHtCT09UU1RSQVBfQURNSU5fRU1BSUx9XCJcbiAgICAgIEJPT1RTVFJBUF9BRE1JTl9QQVNTV09SRDogXCIke0JPT1RTVFJBUF9BRE1JTl9QQVNTV09SRH1cIlxuICAgICAgQ0xJQ0tIT1VTRV9BTkFMWVRJQ1NfUk9MTFVQU19SRUFEX0VOQUJMRUQ6IFwidHJ1ZVwiXG4gICAgICBDTElDS0hPVVNFX0FUVFJJQlVUSU9OX1JFQURfRU5BQkxFRDogXCJ0cnVlXCJcbiAgICAgIENMSUNLSE9VU0VfREFUQUJBU0U6IFwiZ3JvdnNfcHJvZHVjdGlvblwiXG4gICAgICBDTElDS0hPVVNFX0xJTktfRElNRU5TSU9OU19SRUFEX0VOQUJMRUQ6IFwidHJ1ZVwiXG4gICAgICBDTElDS0hPVVNFX1BBU1NXT1JEOiBcIiR7Q0xJQ0tIT1VTRV9QQVNTV09SRH1cIlxuICAgICAgQ0xJQ0tIT1VTRV9QUklNQVJZOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9SRUFEX0VOQUJMRUQ6IFwidHJ1ZVwiXG4gICAgICBDTElDS0hPVVNFX1JPTExVUF9GQVNUX0xBTkU6IFwidHJ1ZVwiXG4gICAgICBDTElDS0hPVVNFX1VSTDogXCJodHRwOi8vZ3JvdnM6JHtDTElDS0hPVVNFX1BBU1NXT1JEfUBjbGlja2hvdXNlOjgxMjNcIlxuICAgICAgQ0xJQ0tIT1VTRV9XUklURV9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgREFTSEJPQVJEX0NBQ0hFX1RUTF9TRUNPTkRTOiBcIjYwXCJcbiAgICAgIERBU0hCT0FSRF9IT1NUOiBcImRhc2hib2FyZC4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBEQVRBQkFTRV9VUkw6IFwicG9zdGdyZXM6Ly9ncm92czoke1BPU1RHUkVTX1BBU1NXT1JEfUBwb3N0Z3Jlczo1NDMyL2dyb3ZzX3Byb2R1Y3Rpb25cIlxuICAgICAgREVGQVVMVF9MSU5LX1NVQlRJVExFOiBcIkR5bmFtaWMgbGlua3MsIGF0dHJpYnV0aW9ucywgYW5kIHJlZmVycmFscyBhY3Jvc3MgbW9iaWxlIGFuZCB3ZWIgcGxhdGZvcm1zLlwiXG4gICAgICBERUZBVUxUX0xJTktfVElUTEU6IFwiZ3JvdnNcIlxuICAgICAgREVGQVVMVF9MT0dPX1VSTDogXCJodHRwczovL2FwcHNzZW1ibGUtYXNzZXRzLnMzLmV1LW5vcnRoLTEuYW1hem9uYXdzLmNvbS9saW5rc3F1YXJlZC9sb2dvLXNxdWFyZS1uZXcuc3ZnXCJcbiAgICAgIERFRkFVTFRfU09DSUFMX1BSRVZJRVdfVVJMOiBcImh0dHBzOi8vYXBwc3NlbWJsZS1hc3NldHMuczMuZXUtbm9ydGgtMS5hbWF6b25hd3MuY29tL2xpbmtzcXVhcmVkL3NvY2lhbC1tZWRpYS1wbGFjZWhvbGRlci5qcGdcIlxuICAgICAgRElBR05PU1RJQ1NfQVBJX0tFWTogXCIke0RJQUdOT1NUSUNTX0FQSV9LRVl9XCJcbiAgICAgIERPTUFJTl9MSVZFOiBcIiR7RE9NQUlOX0xJVkV9XCJcbiAgICAgIERPTUFJTl9URVNUOiBcIiR7RE9NQUlOX1RFU1R9XCJcbiAgICAgIEdPX0hPU1Q6IFwiZ28uJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgR1JPVlNfRUU6IFwiZmFsc2VcIlxuICAgICAgR1JPVlNfU0VMRl9IT1NURUQ6IFwidHJ1ZVwiXG4gICAgICBMSU5LU19QUk9EX0hPU1Q6IFwibGlua3MuJHtET01BSU5fTElWRX1cIlxuICAgICAgTElOS1NfVEVTVF9IT1NUOiBcImxpbmtzLiR7RE9NQUlOX1RFU1R9XCJcbiAgICAgIE1BSUxFUl9ERUxJVkVSWV9NRVRIT0Q6IFwiXCJcbiAgICAgIE1BSUxFUl9GUk9NOiBcIkdyb3ZzIDxub3JlcGx5QCR7U0VSVkVSX0hPU1R9PlwiXG4gICAgICBNQ1BfQ09OU0VOVF9VUkw6IFwiJHtTRVJWRVJfSE9TVF9QUk9UT0NPTH1kYXNoYm9hcmQuJHtTRVJWRVJfSE9TVH0vbWNwL2F1dGhvcml6ZVwiXG4gICAgICBNQ1BfSE9TVDogXCJtY3AuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgT0FVVEhfQ0xJRU5UX1NFQ1JFVDogXCIke09BVVRIX0NMSUVOVF9TRUNSRVR9XCJcbiAgICAgIE9BVVRIX0NMSUVOVF9VSUQ6IFwiJHtPQVVUSF9DTElFTlRfVUlEfVwiXG4gICAgICBQR19TSEFET1dfV1JJVEVTOiBcImZhbHNlXCJcbiAgICAgIFBPU1RHUkVTX0RCOiBcImdyb3ZzX3Byb2R1Y3Rpb25cIlxuICAgICAgUE9TVEdSRVNfTUFYX0NPTk5FQ1RJT05TOiBcIjIwMFwiXG4gICAgICBQT1NUR1JFU19QQVNTV09SRDogXCIke1BPU1RHUkVTX1BBU1NXT1JEfVwiXG4gICAgICBQT1NUR1JFU19VU0VSOiBcImdyb3ZzXCJcbiAgICAgIFBSRVZJRVdfQkFTRV9VUkw6IFwiJHtTRVJWRVJfSE9TVF9QUk9UT0NPTH1wcmV2aWV3LiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFBSRVZJRVdfSE9TVDogXCJwcmV2aWV3LiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFBVQkxJQ19HT19QUk9KRUNUX0lERU5USUZJRVI6IFwiZ28tc2VsZi1ob3N0ZWRcIlxuICAgICAgUkFJTFNfREJfUE9PTDogXCIxMFwiXG4gICAgICBSQUlMU19FTlY6IFwicHJvZHVjdGlvblwiXG4gICAgICBSQUlMU19MT0dfVE9fU1RET1VUOiBcInRydWVcIlxuICAgICAgUkFJTFNfTUFYX1RIUkVBRFM6IFwiNVwiXG4gICAgICBSQUlMU19TRVJWRV9TVEFUSUNfRklMRVM6IFwidHJ1ZVwiXG4gICAgICBSRUFDVF9IT1NUOiBcImRhc2hib2FyZC4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBSRUFDVF9IT1NUX1BST1RPQ09MOiBcIiR7U0VSVkVSX0hPU1RfUFJPVE9DT0x9XCJcbiAgICAgIFJFRElTX1VSTDogXCJyZWRpczovL3JlZGlzOjYzNzkvMFwiXG4gICAgICBSRVZFTlVFX1JFQURTX0ZST01fTEVER0VSOiBcInRydWVcIlxuICAgICAgUzNfQVNTRVRfUFJFRklYOiBcIiR7U0VSVkVSX0hPU1RfUFJPVE9DT0x9YXBpLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFNES19IT1NUOiBcInNkay4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBTRUNSRVRfS0VZX0JBU0U6IFwiJHtTRUNSRVRfS0VZX0JBU0V9XCJcbiAgICAgIFNFTlRfUVVPVEFTX1dFQkhPT0tfS0VZOiBcIiR7U0VOVF9RVU9UQVNfV0VCSE9PS19LRVl9XCJcbiAgICAgIFNFUlZFUl9IT1NUOiBcIiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFNFUlZFUl9IT1NUX1BST1RPQ09MOiBcIiR7U0VSVkVSX0hPU1RfUFJPVE9DT0x9XCJcbiAgICAgIFNJREVLSVFfRVZFTlRTX0NPTkNVUlJFTkNZOiBcIjEwXCJcbiAgICAgIFNNVFBfQUREUkVTUzogXCJzbXRwLmV4YW1wbGUuY29tXCJcbiAgICAgIFNNVFBfQVVUSEVOVElDQVRJT046IFwicGxhaW5cIlxuICAgICAgU01UUF9ET01BSU46IFwiJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgU01UUF9FTkFCTEVfU1RBUlRUTFNfQVVUTzogXCJ0cnVlXCJcbiAgICAgIFNNVFBfUEFTU1dPUkQ6IFwiXCJcbiAgICAgIFNNVFBfUE9SVDogXCI1ODdcIlxuICAgICAgU01UUF9VU0VSTkFNRTogXCJcIlxuICAgICAgV0VCX0NPTkNVUlJFTkNZOiBcIjJcIlxuICAgIHZvbHVtZXM6XG4gICAgICAtIFwic3RvcmFnZTovYXBwL3N0b3JhZ2VcIlxuICAgIGNvbW1hbmQ6XG4gICAgICAtIFwiYmFzaFwiXG4gICAgICAtIFwiLWNcIlxuICAgICAgLSBcImJ1bmRsZSBleGVjIHNpZGVraXEgLUMgY29uZmlnL3NpZGVraXFfc2NoZWR1bGVyLnltbCAmIGJ1bmRsZSBleGVjIHNpZGVraXEgLUMgY29uZmlnL3NpZGVraXFfd29ya2VyLnltbCAmIGJ1bmRsZSBleGVjIHNpZGVraXEgLUMgY29uZmlnL3NpZGVraXFfYmF0Y2gueW1sICYgd2FpdCAtblwiXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIHdlYjpcbiAgICAgICAgY29uZGl0aW9uOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gIHdvcmtlci0yOlxuICAgIGltYWdlOiBcImdoY3IuaW8vZ3JvdnMtaW8vYmFja2VuZDoyLjMuMVwiXG4gICAgcmVzdGFydDogXCJ1bmxlc3Mtc3RvcHBlZFwiXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fREVURVJNSU5JU1RJQ19LRVk6IFwiJHtBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fREVURVJNSU5JU1RJQ19LRVl9XCJcbiAgICAgIEFDVElWRV9SRUNPUkRfRU5DUllQVElPTl9LRVlfREVSSVZBVElPTl9TQUxUOiBcIiR7QUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX0tFWV9ERVJJVkFUSU9OX1NBTFR9XCJcbiAgICAgIEFDVElWRV9SRUNPUkRfRU5DUllQVElPTl9QUklNQVJZX0tFWTogXCIke0FDVElWRV9SRUNPUkRfRU5DUllQVElPTl9QUklNQVJZX0tFWX1cIlxuICAgICAgQUNUSVZFX1NUT1JBR0VfU0VSVklDRTogXCJsb2NhbFwiXG4gICAgICBBRE1JTl9BUElfS0VZOiBcIiR7QURNSU5fQVBJX0tFWX1cIlxuICAgICAgQVBJX0hPU1Q6IFwiYXBpLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIEJPT1RTVFJBUF9BRE1JTl9FTUFJTDogXCIke0JPT1RTVFJBUF9BRE1JTl9FTUFJTH1cIlxuICAgICAgQk9PVFNUUkFQX0FETUlOX1BBU1NXT1JEOiBcIiR7Qk9PVFNUUkFQX0FETUlOX1BBU1NXT1JEfVwiXG4gICAgICBDTElDS0hPVVNFX0FOQUxZVElDU19ST0xMVVBTX1JFQURfRU5BQkxFRDogXCJ0cnVlXCJcbiAgICAgIENMSUNLSE9VU0VfQVRUUklCVVRJT05fUkVBRF9FTkFCTEVEOiBcInRydWVcIlxuICAgICAgQ0xJQ0tIT1VTRV9EQVRBQkFTRTogXCJncm92c19wcm9kdWN0aW9uXCJcbiAgICAgIENMSUNLSE9VU0VfTElOS19ESU1FTlNJT05TX1JFQURfRU5BQkxFRDogXCJ0cnVlXCJcbiAgICAgIENMSUNLSE9VU0VfUEFTU1dPUkQ6IFwiJHtDTElDS0hPVVNFX1BBU1NXT1JEfVwiXG4gICAgICBDTElDS0hPVVNFX1BSSU1BUlk6IFwidHJ1ZVwiXG4gICAgICBDTElDS0hPVVNFX1JFQURfRU5BQkxFRDogXCJ0cnVlXCJcbiAgICAgIENMSUNLSE9VU0VfUk9MTFVQX0ZBU1RfTEFORTogXCJ0cnVlXCJcbiAgICAgIENMSUNLSE9VU0VfVVJMOiBcImh0dHA6Ly9ncm92czoke0NMSUNLSE9VU0VfUEFTU1dPUkR9QGNsaWNraG91c2U6ODEyM1wiXG4gICAgICBDTElDS0hPVVNFX1dSSVRFX0VOQUJMRUQ6IFwidHJ1ZVwiXG4gICAgICBEQVNIQk9BUkRfQ0FDSEVfVFRMX1NFQ09ORFM6IFwiNjBcIlxuICAgICAgREFTSEJPQVJEX0hPU1Q6IFwiZGFzaGJvYXJkLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIERBVEFCQVNFX1VSTDogXCJwb3N0Z3JlczovL2dyb3ZzOiR7UE9TVEdSRVNfUEFTU1dPUkR9QHBvc3RncmVzOjU0MzIvZ3JvdnNfcHJvZHVjdGlvblwiXG4gICAgICBERUZBVUxUX0xJTktfU1VCVElUTEU6IFwiRHluYW1pYyBsaW5rcywgYXR0cmlidXRpb25zLCBhbmQgcmVmZXJyYWxzIGFjcm9zcyBtb2JpbGUgYW5kIHdlYiBwbGF0Zm9ybXMuXCJcbiAgICAgIERFRkFVTFRfTElOS19USVRMRTogXCJncm92c1wiXG4gICAgICBERUZBVUxUX0xPR09fVVJMOiBcImh0dHBzOi8vYXBwc3NlbWJsZS1hc3NldHMuczMuZXUtbm9ydGgtMS5hbWF6b25hd3MuY29tL2xpbmtzcXVhcmVkL2xvZ28tc3F1YXJlLW5ldy5zdmdcIlxuICAgICAgREVGQVVMVF9TT0NJQUxfUFJFVklFV19VUkw6IFwiaHR0cHM6Ly9hcHBzc2VtYmxlLWFzc2V0cy5zMy5ldS1ub3J0aC0xLmFtYXpvbmF3cy5jb20vbGlua3NxdWFyZWQvc29jaWFsLW1lZGlhLXBsYWNlaG9sZGVyLmpwZ1wiXG4gICAgICBESUFHTk9TVElDU19BUElfS0VZOiBcIiR7RElBR05PU1RJQ1NfQVBJX0tFWX1cIlxuICAgICAgRE9NQUlOX0xJVkU6IFwiJHtET01BSU5fTElWRX1cIlxuICAgICAgRE9NQUlOX1RFU1Q6IFwiJHtET01BSU5fVEVTVH1cIlxuICAgICAgR09fSE9TVDogXCJnby4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBHUk9WU19FRTogXCJmYWxzZVwiXG4gICAgICBHUk9WU19TRUxGX0hPU1RFRDogXCJ0cnVlXCJcbiAgICAgIExJTktTX1BST0RfSE9TVDogXCJsaW5rcy4ke0RPTUFJTl9MSVZFfVwiXG4gICAgICBMSU5LU19URVNUX0hPU1Q6IFwibGlua3MuJHtET01BSU5fVEVTVH1cIlxuICAgICAgTUFJTEVSX0RFTElWRVJZX01FVEhPRDogXCJcIlxuICAgICAgTUFJTEVSX0ZST006IFwiR3JvdnMgPG5vcmVwbHlAJHtTRVJWRVJfSE9TVH0+XCJcbiAgICAgIE1DUF9DT05TRU5UX1VSTDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfWRhc2hib2FyZC4ke1NFUlZFUl9IT1NUfS9tY3AvYXV0aG9yaXplXCJcbiAgICAgIE1DUF9IT1NUOiBcIm1jcC4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBPQVVUSF9DTElFTlRfU0VDUkVUOiBcIiR7T0FVVEhfQ0xJRU5UX1NFQ1JFVH1cIlxuICAgICAgT0FVVEhfQ0xJRU5UX1VJRDogXCIke09BVVRIX0NMSUVOVF9VSUR9XCJcbiAgICAgIFBHX1NIQURPV19XUklURVM6IFwiZmFsc2VcIlxuICAgICAgUE9TVEdSRVNfREI6IFwiZ3JvdnNfcHJvZHVjdGlvblwiXG4gICAgICBQT1NUR1JFU19NQVhfQ09OTkVDVElPTlM6IFwiMjAwXCJcbiAgICAgIFBPU1RHUkVTX1BBU1NXT1JEOiBcIiR7UE9TVEdSRVNfUEFTU1dPUkR9XCJcbiAgICAgIFBPU1RHUkVTX1VTRVI6IFwiZ3JvdnNcIlxuICAgICAgUFJFVklFV19CQVNFX1VSTDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfXByZXZpZXcuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgUFJFVklFV19IT1NUOiBcInByZXZpZXcuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgUFVCTElDX0dPX1BST0pFQ1RfSURFTlRJRklFUjogXCJnby1zZWxmLWhvc3RlZFwiXG4gICAgICBSQUlMU19EQl9QT09MOiBcIjEwXCJcbiAgICAgIFJBSUxTX0VOVjogXCJwcm9kdWN0aW9uXCJcbiAgICAgIFJBSUxTX0xPR19UT19TVERPVVQ6IFwidHJ1ZVwiXG4gICAgICBSQUlMU19NQVhfVEhSRUFEUzogXCI1XCJcbiAgICAgIFJBSUxTX1NFUlZFX1NUQVRJQ19GSUxFUzogXCJ0cnVlXCJcbiAgICAgIFJFQUNUX0hPU1Q6IFwiZGFzaGJvYXJkLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFJFQUNUX0hPU1RfUFJPVE9DT0w6IFwiJHtTRVJWRVJfSE9TVF9QUk9UT0NPTH1cIlxuICAgICAgUkVESVNfVVJMOiBcInJlZGlzOi8vcmVkaXM6NjM3OS8wXCJcbiAgICAgIFJFVkVOVUVfUkVBRFNfRlJPTV9MRURHRVI6IFwidHJ1ZVwiXG4gICAgICBTM19BU1NFVF9QUkVGSVg6IFwiJHtTRVJWRVJfSE9TVF9QUk9UT0NPTH1hcGkuJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgU0RLX0hPU1Q6IFwic2RrLiR7U0VSVkVSX0hPU1R9XCJcbiAgICAgIFNFQ1JFVF9LRVlfQkFTRTogXCIke1NFQ1JFVF9LRVlfQkFTRX1cIlxuICAgICAgU0VOVF9RVU9UQVNfV0VCSE9PS19LRVk6IFwiJHtTRU5UX1FVT1RBU19XRUJIT09LX0tFWX1cIlxuICAgICAgU0VSVkVSX0hPU1Q6IFwiJHtTRVJWRVJfSE9TVH1cIlxuICAgICAgU0VSVkVSX0hPU1RfUFJPVE9DT0w6IFwiJHtTRVJWRVJfSE9TVF9QUk9UT0NPTH1cIlxuICAgICAgU0lERUtJUV9FVkVOVFNfQ09OQ1VSUkVOQ1k6IFwiMTBcIlxuICAgICAgU01UUF9BRERSRVNTOiBcInNtdHAuZXhhbXBsZS5jb21cIlxuICAgICAgU01UUF9BVVRIRU5USUNBVElPTjogXCJwbGFpblwiXG4gICAgICBTTVRQX0RPTUFJTjogXCIke1NFUlZFUl9IT1NUfVwiXG4gICAgICBTTVRQX0VOQUJMRV9TVEFSVFRMU19BVVRPOiBcInRydWVcIlxuICAgICAgU01UUF9QQVNTV09SRDogXCJcIlxuICAgICAgU01UUF9QT1JUOiBcIjU4N1wiXG4gICAgICBTTVRQX1VTRVJOQU1FOiBcIlwiXG4gICAgICBXRUJfQ09OQ1VSUkVOQ1k6IFwiMlwiXG4gICAgdm9sdW1lczpcbiAgICAgIC0gXCJzdG9yYWdlOi9hcHAvc3RvcmFnZVwiXG4gICAgY29tbWFuZDpcbiAgICAgIC0gXCJiYXNoXCJcbiAgICAgIC0gXCItY1wiXG4gICAgICAtIFwiYnVuZGxlIGV4ZWMgc2lkZWtpcSAtQyBjb25maWcvc2lkZWtpcV9tYWludGVuYW5jZS55bWwgJiBidW5kbGUgZXhlYyBzaWRla2lxIC1DIGNvbmZpZy9zaWRla2lxX2RldmljZV91cGRhdGVzLnltbCAmIHdhaXQgLW5cIlxuICAgIGRlcGVuZHNfb246XG4gICAgICB3ZWI6XG4gICAgICAgIGNvbmRpdGlvbjogXCJzZXJ2aWNlX2hlYWx0aHlcIlxuICBkYXNoYm9hcmQ6XG4gICAgaW1hZ2U6IFwiZ2hjci5pby9ncm92cy1pby9kYXNoYm9hcmQ6Mi4zLjFcIlxuICAgIHJlc3RhcnQ6IFwidW5sZXNzLXN0b3BwZWRcIlxuICAgIGV4cG9zZTpcbiAgICAgIC0gMzAwMFxuICAgIGVudmlyb25tZW50OlxuICAgICAgQVBJX1VSTDogXCIke1NFUlZFUl9IT1NUX1BST1RPQ09MfWFwaS4ke1NFUlZFUl9IT1NUfVwiXG4gICAgICBPQVVUSF9DTElFTlRfVUlEOiBcIiR7T0FVVEhfQ0xJRU5UX1VJRH1cIlxuICAgICAgT0FVVEhfQ0xJRU5UX1NFQ1JFVDogXCIke09BVVRIX0NMSUVOVF9TRUNSRVR9XCJcbiAgICAgIEhPU1ROQU1FOiBcIjAuMC4wLjBcIlxuICAgICAgUE9SVDogXCIzMDAwXCJcbiAgICBkZXBlbmRzX29uOlxuICAgICAgd2ViOlxuICAgICAgICBjb25kaXRpb246IFwic2VydmljZV9oZWFsdGh5XCJcbnZvbHVtZXM6XG4gIHBnX2RhdGE6IHt9XG4gIHJlZGlzX2RhdGE6IHt9XG4gIGNsaWNraG91c2VfZGF0YToge31cbiAgc3RvcmFnZToge30iLAogICJjb25maWciOiAiW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxucG9zdGdyZXNfcGFzc3dvcmQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbmNsaWNraG91c2VfcGFzc3dvcmQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbnNlY3JldF9rZXlfYmFzZSA9IFwiJHtoYXNoOjY0fVwiXG5hY3RpdmVfcmVjb3JkX2VuY3J5cHRpb25fcHJpbWFyeV9rZXkgPSBcIiR7aGFzaDo2NH1cIlxuYWN0aXZlX3JlY29yZF9lbmNyeXB0aW9uX2RldGVybWluaXN0aWNfa2V5ID0gXCIke2hhc2g6NjR9XCJcbmFjdGl2ZV9yZWNvcmRfZW5jcnlwdGlvbl9rZXlfZGVyaXZhdGlvbl9zYWx0ID0gXCIke2hhc2g6NjR9XCJcbmFkbWluX2FwaV9rZXkgPSBcIiR7aGFzaDo2NH1cIlxuZGlhZ25vc3RpY3NfYXBpX2tleSA9IFwiJHtoYXNoOjY0fVwiXG5zZW50X3F1b3Rhc193ZWJob29rX2tleSA9IFwiJHtoYXNoOjY0fVwiXG5vYXV0aF9jbGllbnRfdWlkID0gXCIke2hhc2g6NDh9XCJcbm9hdXRoX2NsaWVudF9zZWNyZXQgPSBcIiR7aGFzaDo2NH1cIlxuYm9vdHN0cmFwX2FkbWluX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjI0fVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiU0VSVkVSX0hPU1Q9JHttYWluX2RvbWFpbn1cIixcbiAgXCJET01BSU5fTElWRT0ke21haW5fZG9tYWlufVwiLFxuICBcIkRPTUFJTl9URVNUPXRlc3QuJHttYWluX2RvbWFpbn1cIixcbiAgXCJTRVJWRVJfSE9TVF9QUk9UT0NPTD1odHRwOi8vXCIsXG4gIFwiR1JPVlNfQ0VSVF9SRVNPTFZFUj1cIixcbiAgXCJCT09UU1RSQVBfQURNSU5fRU1BSUw9YWRtaW5AJHttYWluX2RvbWFpbn1cIixcbiAgXCJQT1NUR1JFU19QQVNTV09SRD0ke3Bvc3RncmVzX3Bhc3N3b3JkfVwiLFxuICBcIkNMSUNLSE9VU0VfUEFTU1dPUkQ9JHtjbGlja2hvdXNlX3Bhc3N3b3JkfVwiLFxuICBcIlNFQ1JFVF9LRVlfQkFTRT0ke3NlY3JldF9rZXlfYmFzZX1cIixcbiAgXCJBQ1RJVkVfUkVDT1JEX0VOQ1JZUFRJT05fUFJJTUFSWV9LRVk9JHthY3RpdmVfcmVjb3JkX2VuY3J5cHRpb25fcHJpbWFyeV9rZXl9XCIsXG4gIFwiQUNUSVZFX1JFQ09SRF9FTkNSWVBUSU9OX0RFVEVSTUlOSVNUSUNfS0VZPSR7YWN0aXZlX3JlY29yZF9lbmNyeXB0aW9uX2RldGVybWluaXN0aWNfa2V5fVwiLFxuICBcIkFDVElWRV9SRUNPUkRfRU5DUllQVElPTl9LRVlfREVSSVZBVElPTl9TQUxUPSR7YWN0aXZlX3JlY29yZF9lbmNyeXB0aW9uX2tleV9kZXJpdmF0aW9uX3NhbHR9XCIsXG4gIFwiQURNSU5fQVBJX0tFWT0ke2FkbWluX2FwaV9rZXl9XCIsXG4gIFwiRElBR05PU1RJQ1NfQVBJX0tFWT0ke2RpYWdub3N0aWNzX2FwaV9rZXl9XCIsXG4gIFwiU0VOVF9RVU9UQVNfV0VCSE9PS19LRVk9JHtzZW50X3F1b3Rhc193ZWJob29rX2tleX1cIixcbiAgXCJPQVVUSF9DTElFTlRfVUlEPSR7b2F1dGhfY2xpZW50X3VpZH1cIixcbiAgXCJPQVVUSF9DTElFTlRfU0VDUkVUPSR7b2F1dGhfY2xpZW50X3NlY3JldH1cIixcbiAgXCJCT09UU1RSQVBfQURNSU5fUEFTU1dPUkQ9JHtib290c3RyYXBfYWRtaW5fcGFzc3dvcmR9XCIsXG5dXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcImRhc2hib2FyZFwiXG5wb3J0ID0gMzAwMFxuaG9zdCA9IFwiZGFzaGJvYXJkLiR7bWFpbl9kb21haW59XCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwid2ViXCJcbnBvcnQgPSAzMDAwXG5ob3N0ID0gXCJhcGkuJHttYWluX2RvbWFpbn1cIlxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJ3ZWJcIlxucG9ydCA9IDMwMDBcbmhvc3QgPSBcInNkay4ke21haW5fZG9tYWlufVwiXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcIndlYlwiXG5wb3J0ID0gMzAwMFxuaG9zdCA9IFwibWNwLiR7bWFpbl9kb21haW59XCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwid2ViXCJcbnBvcnQgPSAzMDAwXG5ob3N0ID0gXCJnby4ke21haW5fZG9tYWlufVwiXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcIndlYlwiXG5wb3J0ID0gMzAwMFxuaG9zdCA9IFwicHJldmlldy4ke21haW5fZG9tYWlufVwiXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcIndlYlwiXG5wb3J0ID0gMzAwMFxuaG9zdCA9IFwibGlua3MuJHttYWluX2RvbWFpbn1cIlxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJ3ZWJcIlxucG9ydCA9IDMwMDBcbmhvc3QgPSBcImxpbmtzLnRlc3QuJHttYWluX2RvbWFpbn1cIiIKfQ==

Configuration

The exact Docker Compose and template configuration this template deploys.

Related Templates

Self-host Grovs in minutes

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