From b859807d613acb4c8c66385e8aa51f1c2ebf901e Mon Sep 17 00:00:00 2001 From: zehjotkah <111518041+zehjotkah@users.noreply.github.com> Date: Tue, 16 Sep 2025 20:26:44 +0100 Subject: [PATCH] added rybbit service template --- public/svgs/rybbit.svg | 1 + templates/compose/rybbit.yaml | 138 ++++++++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 public/svgs/rybbit.svg create mode 100644 templates/compose/rybbit.yaml diff --git a/public/svgs/rybbit.svg b/public/svgs/rybbit.svg new file mode 100644 index 000000000..5715b29bd --- /dev/null +++ b/public/svgs/rybbit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/compose/rybbit.yaml b/templates/compose/rybbit.yaml new file mode 100644 index 000000000..c86299faf --- /dev/null +++ b/templates/compose/rybbit.yaml @@ -0,0 +1,138 @@ +# documentation: https://rybbit.io/docs +# slogan: Open-source, privacy-first web analytics. +# tags: analytics,web,privacy,self-hosted,clickhouse,postgres +# logo: svgs/rybbit.svg +# port: 3000 + +services: + rybbit: + image: 'ghcr.io/rybbit-io/rybbit-client:latest' + container_name: rybbit-client + environment: + - NODE_ENV=production + - 'NEXT_PUBLIC_BACKEND_URL=${SERVICE_URL_RYBBIT}' + - 'NEXT_PUBLIC_DISABLE_SIGNUP=${DISABLE_SIGNUP:-false}' + depends_on: + - rybbit_backend + restart: unless-stopped + + rybbit_backend: + image: 'ghcr.io/rybbit-io/rybbit-backend:latest' + container_name: rybbit-backend + environment: + - NODE_ENV=production + - TRUST_PROXY=true + - 'BASE_URL=${SERVICE_URL_RYBBIT}' + # --- Coolify-Managed Secrets --- + - 'CLICKHOUSE_PASSWORD=${SERVICE_PASSWORD_CLICKHOUSE}' + - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' + - 'BETTER_AUTH_SECRET=${SERVICE_BASE64_64_BACKEND}' + # --- User Settings --- + - 'DISABLE_SIGNUP=${DISABLE_SIGNUP:-false}' + - 'DISABLE_TELEMETRY=${DISABLE_TELEMETRY:-true}' + # --- Internal Config --- + - 'CLICKHOUSE_HOST=http://rybbit_clickhouse:8123' + - CLICKHOUSE_USER=default + - CLICKHOUSE_DB=analytics + - POSTGRES_HOST=rybbit_postgres + - POSTGRES_PORT=5432 + - POSTGRES_DB=analytics + - POSTGRES_USER=frog + depends_on: + rybbit_clickhouse: + condition: service_healthy + rybbit_postgres: + condition: service_healthy + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3001/api/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 10s + restart: unless-stopped + + rybbit_postgres: + image: 'postgres:17.4' + container_name: rybbit-postgres + environment: + - POSTGRES_DB=analytics + - POSTGRES_USER=frog + - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' + volumes: + - 'postgres_data:/var/lib/postgresql/data' + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 30s + timeout: 10s + retries: 3 + restart: unless-stopped + + rybbit_clickhouse: + image: 'clickhouse/clickhouse-server:25.4.2' + container_name: rybbit-clickhouse + environment: + - CLICKHOUSE_DB=analytics + - CLICKHOUSE_USER=default + - 'CLICKHOUSE_PASSWORD=${SERVICE_PASSWORD_CLICKHOUSE}' + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8123/ping"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 10s + restart: unless-stopped + volumes: + - 'clickhouse_data:/var/lib/clickhouse' + - type: bind + source: ./clickhouse_config/enable_json.xml + target: /etc/clickhouse-server/config.d/enable_json.xml + content: | + + + 1 + + + - type: bind + source: ./clickhouse_config/logging_rules.xml + target: /etc/clickhouse-server/config.d/logging_rules.xml + content: | + + + warning + true + + + + + + + + + + + + + - type: bind + source: ./clickhouse_config/network.xml + target: /etc/clickhouse-server/config.d/network.xml + content: | + + 0.0.0.0 + + - type: bind + source: ./clickhouse_config/user_logging.xml + target: /etc/clickhouse-server/config.d/user_logging.xml + content: | + + + + 0 + 0 + 0 + + + + +volumes: + postgres_data: + clickhouse_data: