From 0bfb50d62f3fafc87ac24cfafc3d49f5a70d2355 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Tue, 14 Jul 2026 13:19:16 -0600 Subject: [PATCH] feat: add Silex template Co-Authored-By: Claude Fable 5 --- blueprints/silex/docker-compose.yml | 20 ++++++++++++++++++++ blueprints/silex/logo.png | Bin 0 -> 13715 bytes blueprints/silex/meta.json | 17 +++++++++++++++++ blueprints/silex/template.toml | 13 +++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 blueprints/silex/docker-compose.yml create mode 100644 blueprints/silex/logo.png create mode 100644 blueprints/silex/meta.json create mode 100644 blueprints/silex/template.toml diff --git a/blueprints/silex/docker-compose.yml b/blueprints/silex/docker-compose.yml new file mode 100644 index 00000000..bc821dca --- /dev/null +++ b/blueprints/silex/docker-compose.yml @@ -0,0 +1,20 @@ +services: + silex: + image: silexlabs/silex:3.7.0 + restart: unless-stopped + ports: + - 6805 + environment: + - SILEX_URL=${SILEX_URL} + - SILEX_SESSION_SECRET=${SILEX_SESSION_SECRET} + - STORAGE_CONNECTORS=fs + - HOSTING_CONNECTORS=fs,download + - SILEX_FS_ROOT=/silex/silex/storage + - SILEX_FS_HOSTING_ROOT=/silex/silex/hosting + volumes: + - silex-storage:/silex/silex/storage + - silex-hosting:/silex/silex/hosting + +volumes: + silex-storage: + silex-hosting: diff --git a/blueprints/silex/logo.png b/blueprints/silex/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6544f9a7b178826fd324210c20d7cae1c46956 GIT binary patch literal 13715 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