diff --git a/apps/dokploy/public/templates/checkmate.png b/apps/dokploy/public/templates/checkmate.png new file mode 100644 index 000000000..759269ba8 Binary files /dev/null and b/apps/dokploy/public/templates/checkmate.png differ diff --git a/apps/dokploy/templates/checkmate/docker-compose.yml b/apps/dokploy/templates/checkmate/docker-compose.yml new file mode 100644 index 000000000..dc83a28f6 --- /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: + - ../files/redis/data:/data + networks: + - dokploy-network + mongodb: + image: bluewaveuptime/uptime_database_mongo:latest + restart: always + volumes: + - ../files/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 000000000..e52370aae --- /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 48840a328..b0526f5fd 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), + }, ];