From 931f3fc28e5e5fc67c8d50a96dc4f13fd56bcbb7 Mon Sep 17 00:00:00 2001 From: djknaeckebrot Date: Mon, 30 Dec 2024 16:08:04 +0100 Subject: [PATCH] feat: add checkmate template --- apps/dokploy/public/templates/checkmate.png | Bin 0 -> 2294 bytes .../templates/checkmate/docker-compose.yml | 47 ++++++++++++++++++ apps/dokploy/templates/checkmate/index.ts | 25 ++++++++++ apps/dokploy/templates/templates.ts | 15 ++++++ 4 files changed, 87 insertions(+) create mode 100644 apps/dokploy/public/templates/checkmate.png create mode 100644 apps/dokploy/templates/checkmate/docker-compose.yml create mode 100644 apps/dokploy/templates/checkmate/index.ts diff --git a/apps/dokploy/public/templates/checkmate.png b/apps/dokploy/public/templates/checkmate.png new file mode 100644 index 0000000000000000000000000000000000000000..759269ba87be32f2d48cb96c31fa6ecb5e9f9955 GIT binary patch literal 2294 zcmds3`#%$m9(Gdl3a5Itx8u^3N~92gNjv??MFNqZwX|_)xrsbMeI% zO|?Cl>*1w)cR))&V1MOKyxjSy)}+;w{6nS>1cPIfOZ_;!dN-l~Pgue|_i-PBooX0q=_*?<>ERc9`IOg7Xwy~Dg^TO`DWiOYYrD2=9cqVCbwExU$? zM|_7T?ac6FtmThs8^{r^kB+_!gU?U;-ZOjNQ>&yqn;b%}cHDkr-x)UgiRqVK48fb{ zLipcv-^L!%e+gMB<(!wv##^u558Sok*tEkPOow8Y55Bt@tY@#kw9|Gs!J{~@`}I^Ef_6J% zDq@?T006IkDrFx|Y}#t*o_KACGZu&6>Q6nFAWZQ7zvXlE|CJr4xTE!u=q$(JmJux&q@BP zJIZB~yrqlxuMi5=!bK!;sje;XB~DZ{n6GiE>Z!yA53iURe5HGB zMw|fkqz7D?80rL zUI$NKyTXaZb?Z+YtG^tDM5Dvd=ntzSJoLIfop+t>PxZ?@-sB2zJ9c%|sCPq&>oT=> zg7;)vyxK(YEe+PYD&l|U&AA<$^F3mZM%uJyp&Z*9POZ>7i7bDLbE~7nLvEYNdH9Vs z=+nxxhvIB*Cv0Mf;_j_1-x)yM=Pw9`)Q;K;?4*Y)+e5Hc2o;*zx&4+9LAlpvUt0#4 z*$zSGwm1JwGa$y)PHn6nFESb;ULhL%6KGemopbBpi5`l#TkH6bPUg?z{>lO=L++Jb zM_lxpQFheduRN7S?wegry{WOW-w&C3{EZWQNEB^z`g0vsr;BPE7=AAnjW9Px{wgT{Ry*7d#ciCV!{-DmB286)Kz>wI z-5J5*-a>JNTk~KJz>pHe>l>HPkIR zXj06pG9}sqy^xJ};r%k>ClWmpu$Ld7o=(|sO_x4Ga9eqjB`-sG)Dq%HcA4irs|4%(lJ31G2aXZ= z4&I8_;z`M$R%KR-C5DF<7o>SjBUvQtdt+(K&(ux^8dla1 zbc9pqirBnz+?l0UPFNP5vBVZ^^vTbz1;3ezK`>wk;@PmSj?sn4gDAICbtXR|LVwIl zr2L=-AGdAsxA(ciktOi#bI#oELZAA`22PE{Pm!U+ym53qnZ18-tRpf`uK%*wX|%SR zpgSMj+wGJmoX}ah6Y(yjn!P6f_N>yJxvTmn{Po!SR* h-ut(}Pq2!LLV>kZQOHGfobsPhalHg}COF>6_#eaCH#GnN literal 0 HcmV?d00001 diff --git a/apps/dokploy/templates/checkmate/docker-compose.yml b/apps/dokploy/templates/checkmate/docker-compose.yml new file mode 100644 index 00000000..d5b67b0f --- /dev/null +++ b/apps/dokploy/templates/checkmate/docker-compose.yml @@ -0,0 +1,47 @@ +services: + client: + image: bluewaveuptime/uptime_client:latest + restart: always + environment: + UPTIME_APP_API_BASE_URL: "http://${DOMAIN}/api/v1" + ports: + - 80 + - 443 + depends_on: + - server + networks: + - dokploy-network + server: + image: bluewaveuptime/uptime_server:latest + restart: always + ports: + - 5000 + depends_on: + - redis + - mongodb + environment: + - DB_CONNECTION_STRING=mongodb://mongodb:27017/uptime_db + - REDIS_HOST=redis + networks: + - dokploy-network + # volumes: + # - /var/run/docker.sock:/var/run/docker.sock:ro + redis: + image: bluewaveuptime/uptime_redis:latest + restart: always + ports: + - 6379 + volumes: + - ./redis/data:/data + networks: + - dokploy-network + mongodb: + image: bluewaveuptime/uptime_database_mongo:latest + restart: always + volumes: + - ./mongo/data:/data/db + command: ["mongod", "--quiet"] + ports: + - 27017 + networks: + - dokploy-network \ No newline at end of file diff --git a/apps/dokploy/templates/checkmate/index.ts b/apps/dokploy/templates/checkmate/index.ts new file mode 100644 index 00000000..e52370aa --- /dev/null +++ b/apps/dokploy/templates/checkmate/index.ts @@ -0,0 +1,25 @@ +import { + type DomainSchema, + type Schema, + type Template, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const mainDomain = generateRandomDomain(schema); + + const envs = [`DOMAIN=${mainDomain}`]; + + const domains: DomainSchema[] = [ + { + host: mainDomain, + port: 80, + serviceName: "client", + }, + ]; + + return { + domains, + envs, + }; +} diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index 48840a32..b0526f5f 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1166,4 +1166,19 @@ export const templates: TemplateData[] = [ tags: ["self-hosted", "networking"], load: () => import("./unifi/index").then((m) => m.generate), }, + { + id: "checkmate", + name: "Checkmate", + version: "2.0.1", + description: + "Checkmate is an open-source, self-hosted tool designed to track and monitor server hardware, uptime, response times, and incidents in real-time with beautiful visualizations.", + logo: "checkmate.png", + links: { + github: "https://github.com/bluewave-labs/checkmate", + website: "https://bluewavelabs.ca", + docs: "https://bluewavelabs.gitbook.io/checkmate", + }, + tags: ["self-hosted", "monitoring", "uptime"], + load: () => import("./checkmate/index").then((m) => m.generate), + }, ];