Add OneUptime monitoring template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-12-19 22:11:26 +00:00
parent 2b62d182a8
commit dc59349116
4 changed files with 143 additions and 0 deletions

View File

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

View File

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
<defs>
<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#4F46E5;stop-opacity:1" />
<stop offset="100%" style="stop-color:#7C3AED;stop-opacity:1" />
</linearGradient>
</defs>
<!-- Background circle -->
<circle cx="256" cy="256" r="240" fill="url(#gradient)"/>
<!-- Uptime arrow/chart icon -->
<g fill="white">
<!-- Base line -->
<rect x="120" y="340" width="272" height="12" rx="6"/>
<!-- Vertical bars representing uptime -->
<rect x="140" y="260" width="40" height="80" rx="8"/>
<rect x="200" y="200" width="40" height="140" rx="8"/>
<rect x="260" y="160" width="40" height="180" rx="8"/>
<rect x="320" y="140" width="40" height="200" rx="8"/>
<!-- Up arrow -->
<path d="M 380 180 L 420 200 L 420 240 L 400 240 L 400 280 L 360 280 L 360 240 L 340 240 L 340 200 Z" opacity="0.9"/>
</g>
<!-- Check/tick mark overlay -->
<circle cx="380" cy="150" r="45" fill="#10B981"/>
<path d="M 360 150 L 375 165 L 400 140" stroke="white" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

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

View File

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