# 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}