From 3205b672c41fba8d0cb07530a121a1542c7832f0 Mon Sep 17 00:00:00 2001 From: florianheysen <39408021+florianheysen@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:01:30 +0100 Subject: [PATCH] Add Openinary Template (#567) * feat: add Openinary template * feat: update Openinary configuration to support ALLOWED_ORIGIN and refactor domain variable --- blueprints/openinary/docker-compose.yml | 26 ++++++++++++++++ blueprints/openinary/openinary.svg | 18 +++++++++++ blueprints/openinary/template.toml | 40 +++++++++++++++++++++++++ meta.json | 19 ++++++++++++ 4 files changed, 103 insertions(+) create mode 100644 blueprints/openinary/docker-compose.yml create mode 100644 blueprints/openinary/openinary.svg create mode 100644 blueprints/openinary/template.toml diff --git a/blueprints/openinary/docker-compose.yml b/blueprints/openinary/docker-compose.yml new file mode 100644 index 00000000..0469c72b --- /dev/null +++ b/blueprints/openinary/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.8" +services: + openinary: + image: openinary/openinary:${IMAGE_TAG:-latest} + pull_policy: always + restart: unless-stopped + expose: + - 3000 + environment: + NODE_ENV: production + MODE: fullstack + NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL:-/api} + BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET} + BETTER_AUTH_URL: ${BETTER_AUTH_URL} + ALLOWED_ORIGIN: ${ALLOWED_ORIGIN:-http://${domain}} + DOCKER_CONTAINER: "true" + volumes: + - cache-data:/app/apps/api/cache + - public-files:/app/apps/api/public + - db-data:/app/data + - db-data:/app/web-standalone/data + +volumes: + cache-data: + public-files: + db-data: \ No newline at end of file diff --git a/blueprints/openinary/openinary.svg b/blueprints/openinary/openinary.svg new file mode 100644 index 00000000..2a902cd6 --- /dev/null +++ b/blueprints/openinary/openinary.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/blueprints/openinary/template.toml b/blueprints/openinary/template.toml new file mode 100644 index 00000000..ea317117 --- /dev/null +++ b/blueprints/openinary/template.toml @@ -0,0 +1,40 @@ +[variables] +main_domain = "${domain}" +image_tag = "latest" +better_auth_secret = "${password:64}" +better_auth_url = "http://${main_domain}" +allowed_origin = "http://${main_domain}" +next_public_api_base_url = "/api" + +[config] +[[config.domains]] +serviceName = "openinary" +port = 3000 +host = "${main_domain}" + +[config.env] +IMAGE_TAG = "${image_tag}" +BETTER_AUTH_SECRET = "${better_auth_secret}" +BETTER_AUTH_URL = "${better_auth_url}" +ALLOWED_ORIGIN = "${allowed_origin}" +NEXT_PUBLIC_API_BASE_URL = "${next_public_api_base_url}" + +[[config.mounts]] +serviceName = "openinary" +volumeName = "cache-data" +mountPath = "/app/apps/api/cache" + +[[config.mounts]] +serviceName = "openinary" +volumeName = "public-files" +mountPath = "/app/apps/api/public" + +[[config.mounts]] +serviceName = "openinary" +volumeName = "db-data" +mountPath = "/app/data" + +[[config.mounts]] +serviceName = "openinary" +volumeName = "db-data" +mountPath = "/app/web-standalone/data" \ No newline at end of file diff --git a/meta.json b/meta.json index cbfc03c3..a6dbd358 100644 --- a/meta.json +++ b/meta.json @@ -4177,6 +4177,25 @@ "openai" ] }, + { + "id": "openinary", + "name": "Openinary", + "version": "latest", + "description": "Openinary is a self-hosted Cloudinary alternative.", + "logo": "openinary.svg", + "links": { + "github": "https://github.com/openinary/openinary", + "website": "https://openinary.dev", + "docs": "https://docs.openinary.dev" + }, + "tags": [ + "media", + "images", + "videos", + "cloudinary-alternative", + "developer-tools" + ] + }, { "id": "openpanel", "name": "OpenPanel",