From a6ae3bd8d8583babc7fa9dba940deb88168bc13b Mon Sep 17 00:00:00 2001 From: Manan Santoki Date: Sat, 12 Jul 2025 11:15:37 +0530 Subject: [PATCH] Adds Filestash blueprint (#218) * Adds Filestash blueprint Adds a new blueprint for deploying Filestash, a web-based file manager, along with a Collabora Online instance for document editing. The blueprint includes: - Docker Compose configuration for Filestash and Collabora Online. - Configuration template for setting up domains and environment variables. - An SVG logo for Filestash. This enables users to easily deploy a complete Filestash instance with document editing capabilities. * Renames file to docker-compose.yml * Adds Filestash app to the meta.json Adds Filestash, a file manager that connects storage with identity providers and authorizations, to the list of available applications. * Config for domain handling Simplifies domain configuration by removing the dedicated `wopi_server` domain and adjusting the APPLICATION_URL. This streamlines the setup and ensures correct URL handling. Adds a comment in the docker-compose file to indicate SSL configuration. --- blueprints/filestash/docker-compose.yml | 38 +++++++++++++++++++++++++ blueprints/filestash/filestash.svg | 4 +++ blueprints/filestash/template.toml | 14 +++++++++ meta.json | 17 +++++++++++ 4 files changed, 73 insertions(+) create mode 100644 blueprints/filestash/docker-compose.yml create mode 100644 blueprints/filestash/filestash.svg create mode 100644 blueprints/filestash/template.toml diff --git a/blueprints/filestash/docker-compose.yml b/blueprints/filestash/docker-compose.yml new file mode 100644 index 00000000..ddaf091a --- /dev/null +++ b/blueprints/filestash/docker-compose.yml @@ -0,0 +1,38 @@ +version: '3.8' + +services: + app: + container_name: filestash + image: machines/filestash:latest + restart: always + environment: + - APPLICATION_URL=${APPLICATION_URL} + - CANARY=${CANARY} + - OFFICE_URL=${OFFICE_URL} + - OFFICE_FILESTASH_URL=${OFFICE_FILESTASH_URL} + - OFFICE_REWRITE_URL=${OFFICE_REWRITE_URL} + ports: + - 8334 + volumes: + - filestash:/app/data/state/ + + wopi_server: + container_name: filestash_wopi + image: collabora/code:24.04.10.2.1 + restart: always + environment: + # Set below to "true" if you are using custom domain and want to enable SSL + - extra_params=--o:ssl.enable=false + - aliasgroup1=https://.*:443 + command: + - /bin/bash + - -c + - | + curl -o /usr/share/coolwsd/browser/dist/branding-desktop.css https://gist.githubusercontent.com/mickael-kerjean/bc1f57cd312cf04731d30185cc4e7ba2/raw/d706dcdf23c21441e5af289d871b33defc2770ea/destop.css + /bin/su -s /bin/bash -c '/start-collabora-online.sh' cool + user: root + ports: + - 9980 + +volumes: + filestash: \ No newline at end of file diff --git a/blueprints/filestash/filestash.svg b/blueprints/filestash/filestash.svg new file mode 100644 index 00000000..da38b7d7 --- /dev/null +++ b/blueprints/filestash/filestash.svg @@ -0,0 +1,4 @@ + diff --git a/blueprints/filestash/template.toml b/blueprints/filestash/template.toml new file mode 100644 index 00000000..3d99114f --- /dev/null +++ b/blueprints/filestash/template.toml @@ -0,0 +1,14 @@ +[variables] +main_domain = "${domain}" + +[[config.domains]] +serviceName = "app" +port = 8334 +host = "${main_domain}" + +[config.env] +APPLICATION_URL = "${main_domain}" +CANARY = "true" +OFFICE_URL = "http://wopi_server:9980" +OFFICE_FILESTASH_URL = "http://app:8334" +OFFICE_REWRITE_URL = "http://127.0.0.1:9980" \ No newline at end of file diff --git a/meta.json b/meta.json index 89507966..71d86643 100644 --- a/meta.json +++ b/meta.json @@ -2667,5 +2667,22 @@ "saml", "multi-tenant" ] + }, + { + "id": "filestash", + "name": "Filestash", + "version": "latest", + "description": "Filestash is the enterprise-grade file manager connecting your storage with your identity provider and authorisations.", + "logo": "filestash.svg", + "links": { + "github": "https://github.com/mickael-kerjean/filestash", + "website": "https://www.filestash.app/", + "docs": "https://www.filestash.app/docs/" + }, + "tags": [ + "file-manager", + "document-editor", + "self-hosted" + ] } ]