Add Kener entry to meta.json and improve JSON encoding in TemplateDialog (#229)

* Add Kener entry to meta.json and improve JSON encoding in TemplateDialog

- Introduced Kener, an open-source status page system, to meta.json with relevant links and tags.
- Updated TemplateDialog to use encodeURIComponent for proper handling of Unicode characters in JSON encoding.
- Removed unnecessary console log from TemplateGrid for cleaner code.

* Update Kener logo in meta.json and remove old logo file

- Changed the logo reference for Kener in meta.json from 'kener.png' to 'image.png'.
- Deleted the outdated 'kener.png' file from the repository.

* Add GitLab CE entry to meta.json

- Introduced GitLab Community Edition with a detailed description, logo, and relevant links.
- Updated tags for better categorization, including 'git', 'ci-cd', 'version-control', and 'project-management'.
This commit is contained in:
Jainil Prajapati 🪐
2025-07-21 09:15:10 +05:30
committed by GitHub
parent 48b5798a91
commit d2f3a95d7e
6 changed files with 92 additions and 2 deletions

View File

@@ -55,7 +55,9 @@ const TemplateDialog: React.FC<TemplateDialogProps> = ({
config: templateFiles.config || "",
};
return btoa(JSON.stringify(configObj, null, 2));
// Use encodeURIComponent to handle Unicode characters properly
const jsonString = JSON.stringify(configObj, null, 2);
return btoa(unescape(encodeURIComponent(jsonString)));
};
return (

View File

@@ -120,7 +120,6 @@ const TemplateGrid: React.FC<TemplateGridProps> = ({ view }) => {
return matchesSearch && matchesTags;
});
console.log("ffiltered tem", filtered.length);
setTemplatesCount(filtered.length);
setFilteredTemplates(filtered);
}, [searchQuery, selectedTags]);

View File

@@ -0,0 +1,39 @@
version: "3.8"
services:
kener:
image: rajnandan1/kener:latest
environment:
- TZ=${TZ}
- KENER_SECRET_KEY=${KENER_SECRET_KEY} # 🔐 API key / secret
- DATABASE_URL=${DATABASE_URL}
- KENER_BASE_PATH=${KENER_BASE_PATH}
- ORIGIN=${ORIGIN}
- RESEND_API_KEY=${RESEND_API_KEY} # 🔐 API key
- RESEND_SENDER_EMAIL=${RESEND_SENDER_EMAIL}
ports:
- 3000
volumes:
- kener_db:/app/database
- ../files/uploads:/app/uploads
restart: unless-stopped
postgres:
image: postgres:alpine
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # 🔐 DB password
- POSTGRES_DB=${POSTGRES_DB}
restart: unless-stopped
mysql:
image: mariadb:11
environment:
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD} # 🔐 DB password
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_RANDOM_ROOT_PASSWORD=true
restart: unless-stopped
volumes:
kener_db: {}

BIN
blueprints/kener/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,37 @@
[variables]
main_domain = "${domain}"
KENER_SECRET_KEY = "${password:64}"
POSTGRES_PASSWORD = "${password:32}"
MYSQL_PASSWORD = "${password:32}"
[config]
[[config.domains]]
serviceName = "kener"
port = 3000
host = "${main_domain}"
[config.env]
TZ = "Etc/UTC"
KENER_SECRET_KEY = "${KENER_SECRET_KEY}" # 🔐 API key / secret
DATABASE_URL = "sqlite://./database/kener.sqlite.db"
KENER_BASE_PATH = ""
ORIGIN = "http://localhost:3000"
RESEND_API_KEY = ""
RESEND_SENDER_EMAIL = "Accounts <accounts@resend.dev>"
POSTGRES_USER = "user"
POSTGRES_DB = "kener_db"
MYSQL_USER = "user"
MYSQL_DATABASE = "kener_db"
MYSQL_RANDOM_ROOT_PASSWORD = "true"
MYSQL_PASSWORD = "${MYSQL_PASSWORD}" # 🔐 DB password
POSTGRES_PASSWORD = "${POSTGRES_PASSWORD}" # 🔐 DB password
[[config.mounts]]
type = "volume"
source = "kener_db"
target = "/app/database"
[[config.mounts]]
type = "bind"
source = "../files/uploads"
target = "/app/uploads"

View File

@@ -2571,6 +2571,19 @@
},
"tags": ["link-shortener", "link-sharing"]
},
{
"id": "kener",
"name": "Kener",
"version": "latest",
"description": "Kener is an open-source status page system for monitoring and alerting. It provides a modern interface for tracking service uptime and sending notifications.",
"logo": "image.png",
"links": {
"github": "https://github.com/rajnandan1/kener",
"website": "https://kener.ing/",
"docs": "https://kener.ing/docs/"
},
"tags": ["monitoring", "status-page", "alerting", "self-hosted"]
},
{
"id": "palmr",
"name": "Palmr",