diff --git a/blueprints/i18n-blog/docker-compose.yml b/blueprints/i18n-blog/docker-compose.yml new file mode 100644 index 00000000..faee0559 --- /dev/null +++ b/blueprints/i18n-blog/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3.8" + +services: + kuno: + image: ictrun/kuno:latest + restart: unless-stopped + environment: + NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL} + DB_PATH: /app/data/blog.db + UPLOAD_DIR: /app/data/uploads + GIN_MODE: release + NODE_ENV: production + JWT_SECRET: ${JWT_SECRET} + RECOVERY_MODE: ${RECOVERY_MODE} + volumes: + - kuno-data:/app/data + +volumes: + kuno-data: {} diff --git a/blueprints/i18n-blog/image.png b/blueprints/i18n-blog/image.png new file mode 100644 index 00000000..44735b5c Binary files /dev/null and b/blueprints/i18n-blog/image.png differ diff --git a/blueprints/i18n-blog/template.toml b/blueprints/i18n-blog/template.toml new file mode 100644 index 00000000..2af9bb7b --- /dev/null +++ b/blueprints/i18n-blog/template.toml @@ -0,0 +1,24 @@ +[variables] +main_domain = "${domain}" +jwt_secret = "${password:32}" # secure default +recovery_mode = "false" + +[config] + +[[config.domains]] +serviceName = "kuno" +port = 80 +host = "${main_domain}" + +[config.env] +NEXT_PUBLIC_API_URL = "https://${main_domain}/api" +DB_PATH = "/app/data/blog.db" +UPLOAD_DIR = "/app/data/uploads" +GIN_MODE = "release" +NODE_ENV = "production" +JWT_SECRET = "${jwt_secret}" +RECOVERY_MODE = "${recovery_mode}" + +[[config.mounts]] +name = "kuno-data" +mountPath = "/app/data" diff --git a/meta.json b/meta.json index 0764763e..2192872b 100644 --- a/meta.json +++ b/meta.json @@ -2202,6 +2202,25 @@ "discussion" ] }, + { + "id": "i18n-blog", + "name": "i18n Blog (Kuno)", + "version": "latest", + "description": "Kuno is an internationalized blogging platform with a backend built in Go and a frontend in Next.js.", + "logo": "image.png", + "links": { + "github": "https://github.com/ictrun/kuno", + "website": "https://kuno.zli.li", + "docs": "https://github.com/ictrun/kuno#readme" + }, + "tags": [ + "blog", + "i18n", + "nextjs", + "go", + "web" + ] + }, { "id": "ihatemoney", "name": "I Hate Money",