Files
kener/zeabur-template.yaml
T

161 lines
7.5 KiB
YAML

# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
name: Kener
spec:
description: Stunning status pages, batteries included!
icon: https://raw.githubusercontent.com/rajnandan1/kener/main/static/kener.svg
coverImage: https://raw.githubusercontent.com/rajnandan1/kener/main/static/og.jpg
tags:
- Uptime
- Monitor
- Status Page
- Incident Management
- DevOps
- SvelteKit
- Open Source
- Dashboard
readme: "# Kener\n\nKener is a sleek and lightweight status page system built with SvelteKit and NodeJS. It's not here to replace heavyweights like Datadog or Atlassian but rather to offer a simple, modern, and hassle-free way to set up a great-looking status page with minimal effort.\n\nDesigned with ease of use and customization in mind, Kener provides all the essential features you'd expect from a status page—without unnecessary complexity.\n\n[\U0001F3E0 Homepage](https://kener.ing/) | [GitHub](https://github.com/rajnandan1/kener)\n\n## Why Kener?\n\n- Real-time monitoring (API, Ping, TCP, DNS, SSL, SQL, and more)\n- Uptime tracking and latency metrics\n- Incident and maintenance management\n- Customizable dashboards with theming\n- Internationalization (20+ languages)\n- Embeddable widgets and status badges\n- Email notifications (SMTP / Resend)\n- Webhook and Slack/Discord alerts\n\n## After Deployment\n\n1. Open your Kener domain in a browser.\n2. Complete the initial setup wizard to create your admin account.\n3. Add your first monitor from the management dashboard.\n\n## Documentation\n\nFull docs: [https://kener.ing/docs](https://kener.ing/docs)\n\n## Support Kener\n\nKener is built and maintained by Rajnandan1. If you find it useful, consider supporting the project:\n\n- [GitHub Sponsors](https://github.com/sponsors/rajnandan1)\n- [Buy Me a Coffee](https://www.buymeacoffee.com/rajnandan1)\n- [PayPal](https://www.paypal.com/paypalme/rajnandan1)\n- [Star on GitHub](https://github.com/rajnandan1/kener)\n"
variables:
- key: PUBLIC_DOMAIN
type: DOMAIN
name: Public Domain
description: The URL of Kener
services:
- name: Kener
icon: https://raw.githubusercontent.com/rajnandan1/kener/main/static/kener.svg
dependencies:
- postgresql
- redis
template: PREBUILT
spec:
source:
image: rajnandan1/kener:latest
ports:
- id: web
port: 3000
type: HTTP
env:
DATABASE_URL:
default: ${POSTGRES_CONNECTION_STRING}
KENER_SECRET_KEY:
default: ${PASSWORD}
ORIGIN:
default: https://${ZEABUR_WEB_DOMAIN}
REDIS_URL:
default: ${REDIS_CONNECTION_STRING}
domainKey: PUBLIC_DOMAIN
- name: postgresql
icon: https://cdn.zeabur.com/marketplace/postgresql.svg
template: PREBUILT
spec:
source:
image: postgres:18
ports:
- id: database
port: 5432
type: TCP
volumes:
- id: data
dir: /var/lib/postgresql/data
instructions:
- title: Connection String
content: postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}/${POSTGRES_DATABASE}
- title: PostgreSQL Connect Command
content: psql "postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}/${POSTGRES_DATABASE}"
- title: PostgreSQL username
content: ${POSTGRES_USERNAME}
- title: PostgreSQL password
content: ${POSTGRES_PASSWORD}
- title: PostgreSQL database
content: ${POSTGRES_DATABASE}
- title: PostgreSQL host
content: ${PORT_FORWARDED_HOSTNAME}
- title: PostgreSQL port
content: ${DATABASE_PORT_FORWARDED_PORT}
env:
PGDATA:
default: /var/lib/postgresql/data/pgdata
expose: false
POSTGRES_CONNECTION_STRING:
default: postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DATABASE}
expose: true
POSTGRES_DATABASE:
default: ${POSTGRES_DB}
expose: true
POSTGRES_DB:
default: kener
POSTGRES_HOST:
default: ${CONTAINER_HOSTNAME}
expose: true
POSTGRES_PASSWORD:
default: ${PASSWORD}
expose: true
POSTGRES_PORT:
default: ${DATABASE_PORT}
expose: true
POSTGRES_URI:
default: ${POSTGRES_CONNECTION_STRING}
expose: true
POSTGRES_USER:
default: root
POSTGRES_USERNAME:
default: ${POSTGRES_USER}
expose: true
- name: redis
icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/redis.svg
template: PREBUILT
spec:
source:
image: redis/redis-stack-server:latest
ports:
- id: database
port: 6379
type: TCP
volumes:
- id: data
dir: /data
instructions:
- title: Command to connect to your Redis
content: redis-cli -h ${PORT_FORWARDED_HOSTNAME} -p ${DATABASE_PORT_FORWARDED_PORT} -a ${REDIS_PASSWORD}
- title: Redis Connection String
content: redis://:${REDIS_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}
- title: Redis password
content: ${REDIS_PASSWORD}
- title: Redis host
content: ${PORT_FORWARDED_HOSTNAME}
- title: Redis port
content: ${DATABASE_PORT_FORWARDED_PORT}
env:
CONFFILE:
default: /etc/redis-stack.conf
REDIS_ARGS:
default: --requirepass ${REDIS_PASSWORD}
REDIS_CONNECTION_STRING:
default: redis://:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}
expose: true
REDIS_HOST:
default: ${CONTAINER_HOSTNAME}
expose: true
REDIS_PASSWORD:
default: ${PASSWORD}
expose: true
REDIS_PORT:
default: ${DATABASE_PORT}
expose: true
REDIS_URI:
default: ${REDIS_CONNECTION_STRING}
expose: true
configs:
- path: /etc/redis-stack.conf
template: |
port 6379
daemonize no
permission: null
envsubst: null
instructions:
- type: DOMAIN
title: Kener Status Page
content: ${PUBLIC_DOMAIN}