From ae08f6807578ac363bff4d6f9f6288032c441684 Mon Sep 17 00:00:00 2001 From: Michael Barz Date: Fri, 30 May 2025 21:08:43 +0200 Subject: [PATCH] style: restructure files --- .env.example | 10 +++++----- README.md | 19 ++++++++++--------- .../decomposeds3.yml | 0 .../collabora.yml | 0 4 files changed, 15 insertions(+), 14 deletions(-) rename docker-compose.decomposeds3.yml => storage/decomposeds3.yml (100%) rename docker-compose.collabora.yml => weboffice/collabora.yml (100%) diff --git a/.env.example b/.env.example index c1a1730..381e4ff 100644 --- a/.env.example +++ b/.env.example @@ -15,13 +15,13 @@ INSECURE=true # As alternative approach you can run `docker compose -f docker-compose.yml -f docker-compose.traefik.yml up -d` # Default: OpenCloud and Collabora with traefik and letsencypt # This needs DNS entries for the domain names used in the .env file. -#COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:traefik/opencloud.yml:traefik/collabora.yml +#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml # If you want to use the external proxy, you can use the following combination. # DNS entries and certificates need to be managed by the external environment. # The domain names need to be entered into the .env file. -#COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml +#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml # Keycloak Shared User Directory -#COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/ldap-keycloak.yml:traefik/ldap-keycloak.yml +#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/ldap-keycloak.yml:traefik/ldap-keycloak.yml ## Traefik Settings ## # Note: Traefik is always enabled and can't be disabled. @@ -85,8 +85,8 @@ LOG_LEVEL= # S3 Storage configuration - optional # OpenCloud supports S3 storage as primary storage. # Per default, S3 storage is disabled and the decomposed storage driver is used. -# To enable S3 storage, add `docker-compose.decomposeds3.yml` to the COMPOSE_FILE variable or to -# your startup command (`docker compose -f docker-compose.yml -f docker-compose.decomposeds3.yml up`). +# To enable S3 storage, add `storage/decomposeds3.yml` to the COMPOSE_FILE variable or to +# your startup command (`docker compose -f docker-compose.yml -f storage/decomposeds3.yml up`). # # Configure the S3 storage endpoint. Defaults to "http://minio:9000" for testing purposes. DECOMPOSEDS3_ENDPOINT= diff --git a/README.md b/README.md index 2bbe6da..f10aa87 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ OpenCloud Compose offers a modular approach to deploying OpenCloud with several 2. **Configure deployment options** in `.env`: ``` - COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:traefik/opencloud.yml:traefik/collabora.yml + COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml ``` 3. **Start OpenCloud**: @@ -113,12 +113,12 @@ Include Collabora for document editing using either method: Using `-f` flags: ```bash -docker compose -f docker-compose.yml -f docker-compose.collabora.yml -f traefik/opencloud.yml -f traefik/collabora.yml up -d +docker compose -f docker-compose.yml -f weboffice/collabora.yml -f traefik/opencloud.yml -f traefik/collabora.yml up -d ``` Or by setting in `.env`: ``` -COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:traefik/opencloud.yml:traefik/collabora.yml +COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml ``` Add to `/etc/hosts` for local development: @@ -133,12 +133,12 @@ If you already have a reverse proxy (Nginx, Caddy, etc.), use either method: Using `-f` flags: ```bash -docker compose -f docker-compose.yml -f docker-compose.collabora.yml -f external-proxy/opencloud.yml -f external-proxy/collabora.yml up -d +docker compose -f docker-compose.yml -f weboffice/collabora.yml -f external-proxy/opencloud.yml -f external-proxy/collabora.yml up -d ``` Or by setting in `.env`: ``` -COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml +COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml ``` This exposes the necessary ports: @@ -204,7 +204,8 @@ chown -R 1000:1000 /path/to/opencloud This repository uses a modular approach with multiple compose files: - `docker-compose.yml` - Core OpenCloud service -- `docker-compose.collabora.yml` - Collabora Online integration +- `weboffice/` - Web office integrations (Collabora Online) +- `storage/` - Storage backend configurations (decomposeds3) - `idm/` - Identity management configurations (Keycloak & LDAP) - `traefik/` - Traefik reverse proxy configurations - `external-proxy/` - Configuration for external reverse proxies @@ -225,7 +226,7 @@ Example configurations: Production with Collabora: ``` -COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:traefik/opencloud.yml:traefik/collabora.yml +COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml ``` Production with Keycloak and LDAP: @@ -235,7 +236,7 @@ COMPOSE_FILE=docker-compose.yml:idm/ldap-keycloak.yml:traefik/opencloud.yml:trae Production with both Collabora and Keycloak/LDAP: ``` -COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:idm/ldap-keycloak.yml:traefik/opencloud.yml:traefik/collabora.yml:traefik/ldap-keycloak.yml +COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:idm/ldap-keycloak.yml:traefik/opencloud.yml:traefik/collabora.yml:traefik/ldap-keycloak.yml ``` ### Automation and GitOps @@ -243,7 +244,7 @@ COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:idm/ldap-keycloak.y For automated deployments, using the `COMPOSE_FILE` variable in `.env` is recommended: ``` -COMPOSE_FILE=docker-compose.yml:docker-compose.collabora.yml:traefik/opencloud.yml:traefik/collabora.yml +COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml ``` This allows tools like Ansible or CI/CD pipelines to deploy the stack without modifying the compose files. diff --git a/docker-compose.decomposeds3.yml b/storage/decomposeds3.yml similarity index 100% rename from docker-compose.decomposeds3.yml rename to storage/decomposeds3.yml diff --git a/docker-compose.collabora.yml b/weboffice/collabora.yml similarity index 100% rename from docker-compose.collabora.yml rename to weboffice/collabora.yml