From dc5934911690fd3d279f00f68586bb6084f36ccb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 19 Dec 2025 22:11:26 +0000 Subject: [PATCH] Add OneUptime monitoring template Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com> --- blueprints/oneuptime/docker-compose.yml | 78 +++++++++++++++++++++++++ blueprints/oneuptime/logo.svg | 25 ++++++++ blueprints/oneuptime/template.toml | 21 +++++++ meta.json | 19 ++++++ 4 files changed, 143 insertions(+) create mode 100644 blueprints/oneuptime/docker-compose.yml create mode 100644 blueprints/oneuptime/logo.svg create mode 100644 blueprints/oneuptime/template.toml diff --git a/blueprints/oneuptime/docker-compose.yml b/blueprints/oneuptime/docker-compose.yml new file mode 100644 index 00000000..afec965d --- /dev/null +++ b/blueprints/oneuptime/docker-compose.yml @@ -0,0 +1,78 @@ +version: "3.8" + +services: + oneuptime: + image: oneuptime/oneuptime:7.0.3424 + restart: unless-stopped + environment: + DATABASE_HOST: postgres + DATABASE_PORT: 5432 + DATABASE_USERNAME: oneuptime + DATABASE_PASSWORD: ${DATABASE_PASSWORD} + DATABASE_NAME: oneuptime + REDIS_HOST: redis + REDIS_PORT: 6379 + REDIS_PASSWORD: ${REDIS_PASSWORD} + CLICKHOUSE_HOST: clickhouse + CLICKHOUSE_PORT: 8123 + CLICKHOUSE_USER: default + CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD} + CLICKHOUSE_DATABASE: oneuptime + SERVER_URL: https://${ONEUPTIME_HOST} + ENCRYPTION_SECRET: ${ENCRYPTION_SECRET} + IS_SAAS_SERVICE: "false" + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + clickhouse: + condition: service_healthy + + postgres: + image: postgres:15-alpine + restart: unless-stopped + environment: + POSTGRES_USER: oneuptime + POSTGRES_PASSWORD: ${DATABASE_PASSWORD} + POSTGRES_DB: oneuptime + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U oneuptime"] + interval: 10s + timeout: 5s + retries: 5 + + redis: + image: redis:7-alpine + restart: unless-stopped + command: redis-server --requirepass ${REDIS_PASSWORD} + volumes: + - redis_data:/data + healthcheck: + test: ["CMD", "redis-cli", "--raw", "incr", "ping"] + interval: 10s + timeout: 5s + retries: 5 + + clickhouse: + image: clickhouse/clickhouse-server:23.8-alpine + restart: unless-stopped + environment: + CLICKHOUSE_DB: oneuptime + CLICKHOUSE_USER: default + CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD} + CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1 + volumes: + - clickhouse_data:/var/lib/clickhouse + healthcheck: + test: ["CMD", "clickhouse-client", "--query", "SELECT 1"] + interval: 10s + timeout: 5s + retries: 5 + +volumes: + postgres_data: + redis_data: + clickhouse_data: diff --git a/blueprints/oneuptime/logo.svg b/blueprints/oneuptime/logo.svg new file mode 100644 index 00000000..cd3c3b5b --- /dev/null +++ b/blueprints/oneuptime/logo.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blueprints/oneuptime/template.toml b/blueprints/oneuptime/template.toml new file mode 100644 index 00000000..106712f2 --- /dev/null +++ b/blueprints/oneuptime/template.toml @@ -0,0 +1,21 @@ +[variables] +main_domain = "${domain}" +database_password = "${password:32}" +redis_password = "${password:32}" +clickhouse_password = "${password:32}" +encryption_secret = "${password:64}" + +[config] +env = [ + "ONEUPTIME_HOST=${main_domain}", + "DATABASE_PASSWORD=${database_password}", + "REDIS_PASSWORD=${redis_password}", + "CLICKHOUSE_PASSWORD=${clickhouse_password}", + "ENCRYPTION_SECRET=${encryption_secret}", +] +mounts = [] + +[[config.domains]] +serviceName = "oneuptime" +port = 3002 +host = "${main_domain}" diff --git a/meta.json b/meta.json index f54e741e..2da2bc29 100644 --- a/meta.json +++ b/meta.json @@ -4260,6 +4260,25 @@ "secure" ] }, + { + "id": "oneuptime", + "name": "OneUptime", + "version": "7.0.3424", + "description": "Complete open-source observability platform with uptime monitoring, status pages, incident management, and on-call scheduling.", + "logo": "logo.svg", + "links": { + "github": "https://github.com/OneUptime/oneuptime", + "website": "https://oneuptime.com/", + "docs": "https://oneuptime.com/docs" + }, + "tags": [ + "monitoring", + "uptime", + "observability", + "status-page", + "incident-management" + ] + }, { "id": "ontime", "name": "Ontime",