feat: add checkmate template

This commit is contained in:
djknaeckebrot
2024-12-30 16:08:04 +01:00
parent 638fbe17a6
commit 931f3fc28e
4 changed files with 87 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -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

View File

@@ -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,
};
}

View File

@@ -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),
},
];