| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This is a copy od the OpenCloud compose repo for the evaluation to get the Blue Angel for Software.
For dev you can use the run string:
./runner.py --uri PATH_PLEASE_REPLACe/opencloud-compose --name test --allow-unsafe --skip-volume-inspect --dev-no-metrics --dev-no-sleeps --dev-no-phase-stats --dev-no-optimizations --dev-no-save --skip-system-checks --dev-cache-build --debug
and then
docker exec -it gcb-playwright /bin/bash
to test the scripts.
For the measurments you will need to add --allow-unsafe as we need volumes for the containers to communicate
This repository provides Docker Compose configurations for deploying OpenCloud in various environments.
OpenCloud Compose offers a modular approach to deploying OpenCloud with several configuration options:
Clone the repository:
git clone https://github.com/opencloud-eu/opencloud-compose.git
cd opencloud-composeCreate environment file:
cp .env.example .envNote: The repository includes .env.example as a template with default settings and documentation. Your actual .env file is excluded from version control (via .gitignore) to prevent accidentally committing sensitive information like passwords and domain-specific settings.
Configure deployment options:
You can deploy using explicit -f flags:
docker compose -f docker-compose.yml -f traefik/opencloud.yml up -dOr by uncommenting the COMPOSE_FILE variable in .env:
COMPOSE_FILE=docker-compose.yml:traefik/opencloud.yml
Then simply run:
docker compose up -dAdd local domains to /etc/hosts:
127.0.0.1 cloud.opencloud.test 127.0.0.1 traefik.opencloud.test 127.0.0.1 keycloak.opencloud.test
Access OpenCloud:
Edit the .env file and configure:
Configure deployment options in .env:
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml
Start OpenCloud:
docker compose up -dOpenCloud can be deployed with Keycloak for identity management and LDAP for the shared user directory:
Using -f flags:
docker compose -f docker-compose.yml -f idm/ldap-keycloak.yml -f traefik/opencloud.yml -f traefik/ldap-keycloak.yml up -dOr by setting in .env:
COMPOSE_FILE=docker-compose.yml:idm/ldap-keycloak.yml:traefik/opencloud.yml:traefik/ldap-keycloak.yml
Add to /etc/hosts for local development:
127.0.0.1 keycloak.opencloud.test
This setup includes:
Include Collabora for document editing using either method:
Using -f flags:
docker compose -f docker-compose.yml -f weboffice/collabora.yml -f traefik/opencloud.yml -f traefik/collabora.yml up -dOr by setting in .env:
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml
Add to /etc/hosts for local development:
127.0.0.1 collabora.opencloud.test 127.0.0.1 wopiserver.opencloud.test
Enable full text search capabilities with Apache Tika using either method:
Using -f flags:
docker compose -f docker-compose.yml -f search/tika.yml -f traefik/opencloud.yml up -dOr by setting in .env:
COMPOSE_FILE=docker-compose.yml:search/tika.yml:traefik/opencloud.yml
This setup includes:
Enable monitoring capabilities with metrics endpoints using either method:
Using -f flags:
docker compose -f docker-compose.yml -f monitoring/monitoring.yml -f traefik/opencloud.yml up -dOr by setting in .env:
COMPOSE_FILE=docker-compose.yml:monitoring/monitoring.yml:traefik/opencloud.yml
This setup includes:
Access metrics endpoints:
Note: The monitoring configuration uses an external network opencloud-net. You need to create this network manually before starting the services:
docker network create opencloud-net
If you already have a reverse proxy (Nginx, Caddy, etc.), use either method:
Using -f flags:
docker compose -f docker-compose.yml -f weboffice/collabora.yml -f external-proxy/opencloud.yml -f external-proxy/collabora.yml up -dOr by setting in .env:
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml
This exposes the necessary ports:
Please note: If you're using Nginx Proxy Manager (NPM), you should NOT activate "Block Common Exploits" for the Proxy Host. Otherwise, the desktop app authentication will return error 403 Forbidden.
The configuration is managed through environment variables in the .env file:
Key variables:
| Variable | Description | Default |
|---|---|---|
| COMPOSE_FILE | Colon-separated list of compose files to use | (commented out) |
| OC_DOMAIN | OpenCloud domain | cloud.opencloud.test |
| OC_DOCKER_TAG | OpenCloud image tag | latest |
| ADMIN_PASSWORD | Admin password | admin |
| OC_CONFIG_DIR | Config directory path | (Docker volume) |
| OC_DATA_DIR | Data directory path | (Docker volume) |
| INSECURE | Skip certificate validation | true |
| COLLABORA_DOMAIN | Collabora domain | collabora.opencloud.test |
| WOPISERVER_DOMAIN | WOPI server domain | wopiserver.opencloud.test |
| TIKA_IMAGE | Apache Tika image tag | apache/tika:latest-full |
| KEYCLOAK_DOMAIN | Keycloak domain | keycloak.opencloud.test |
| KEYCLOAK_ADMIN | Keycloak admin username | kcadmin |
| KEYCLOAK_ADMIN_PASSWORD | Keycloak admin password | admin |
| LDAP_BIND_PASSWORD | LDAP password for the bind user | admin |
| KC_DB_USERNAME | Database user for keycloak | keycloak |
| KC_DB_PASSWORD | Database password for keycloak | keycloak |
See .env.example for all available options and their documentation.
For production, configure persistent storage:
OC_CONFIG_DIR=/path/to/opencloud/config OC_DATA_DIR=/path/to/opencloud/data
Ensure proper permissions:
mkdir -p /path/to/opencloud/{config,data}
chown -R 1000:1000 /path/to/opencloudThis repository uses a modular approach with multiple compose files:
The COMPOSE_FILE environment variable is a powerful way to manage complex Docker Compose deployments:
Example configurations:
Production with Collabora:
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml
Production with Keycloak and LDAP:
COMPOSE_FILE=docker-compose.yml:idm/ldap-keycloak.yml:traefik/opencloud.yml:traefik/ldap-keycloak.yml
Production with both Collabora and Keycloak/LDAP:
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:idm/ldap-keycloak.yml:traefik/opencloud.yml:traefik/collabora.yml:traefik/ldap-keycloak.yml
Production with monitoring:
COMPOSE_FILE=docker-compose.yml:monitoring/monitoring.yml:traefik/opencloud.yml
For automated deployments, using the COMPOSE_FILE variable in .env is recommended:
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.
You can create custom compose files to override specific settings after creating a custom directory:
mkdir -p customThen create a docker-compose.override.yml file in the custom directory with your overrides.
This folder is ignored by git, allowing you to customize your deployment without affecting the repository. This can be useful in scenarios like portainer where the git repository is configured as a stack.
You can for example add custom labels to the OpenCloud service:
services:
opencloud:
labels:
- "traefik.enable=true"
- "traefik.http.routers.opencloud.rule=Host(`cloud.opencloud.test`)"
- "traefik.http.services.opencloud.loadbalancer.server.port=80"
- "traefik.http.routers.opencloud.tls.certresolver=my-resolver"View logs with:
docker compose logs -fFor specific service logs:
docker compose logs -f opencloudContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the GNU General Public License v3 (GPLv3).
| Back | FazBrowse Home | New Git URL |