- OpenCloud core + tika full-text search + Euro Office - Existing Traefik (.maukit.com, TLS letsencrypt) - No deploy; reference files
2.8 KiB
2.8 KiB
OpenCloud Dockhand Stack — Stack Readme
Source: upstream https://github.com/opencloud-eu/opencloud-compose
Built for dockhand (https://dock.maukit.com/api) — files only, NOT DEPLOYED.
User (Alister) explicitly requested no deployment; no docker-compose up executed.
What was built
- /opt/data/opencloud-dockhand/
- .env — production vars; includes search (tika) + euro office + traefik
- .env.example — same as .env for reference
- docker-compose.yml — upstream opencloud core
- search/tika.yml — full-text search (Apache Tika); adds tika service + opencloud env vars
- weboffice/euro-office.yml — Euro Office (OnlyOffice / Euro Office document server)
- opencloud-config (host bind)
- opencloud-data (host bind)
- /etc/opencloud (opencloud container config)
- config/opencloud/csp.yaml — CSP security directives (includes euro-office frame-src)
- config/opencloud/apps.yaml — app registry settings
- config/opencloud/banned-password-list.txt — banned-password policy file
- config/euro-office/app-registry.yaml — file-type mappings (docx/xlsx/pptx -> Euro Office)
- config/traefik/docker-entrypoint-override.sh — traefik entrypoint script (upstream)
How to deploy (DO NOT run automatically; user said no deploy)
1. Create .env (copy from .env.example) and set:
- OC_DOMAIN (e.g., cloud.yourdomain.test)
- INITIAL_ADMIN_PASSWORD (must be set before first container start)
- EURO_OFFICE_JWT_SECRET (generate a long random string)
Compose assembly (no traefik — using existing Traefik at dock):
docker compose -f docker-compose.yml -f search/tika.yml \
-f weboffice/euro-office.yml up -d
3. Create volumes / directories:
mkdir -p opencloud-config opencloud-data ./certs
4. Add domain mappings to /etc/hosts (local dev) or DNS A records (production).
Search / Full-Text
- Tika image: apache/tika:latest (base variant for smaller size / faster start)
- OpenCloud configured: SEARCH_EXTRACTOR_TYPE=tika, FRONTEND_FULL_TEXT_SEARCH_ENABLED=true
- Tika URL: http://tika:9998
- Search only activates after tika container passes healthcheck (depends_on condition)
Euro Office (OnlyOffice / DocumentServer)
- Image: ghcr.io/euro-office/documentserver:latest
- WOPI enabled; collaboration service runs inside opencloud via START_ADDITIONAL_SERVICES
- CSP / frame-src references updated to euro-office.maukit.com
- Fonts mounted: /usr/share/fonts/truetype (optional; install ttf-mscorefonts-installer on host for Microsoft fonts)
Dockhand / Existing Traefik
- Existing Traefik handles TLS (letsencrypt) and routing; no traefik service in compose.
- Stack assembly (no traefik): docker-compose.yml + search/tika.yml + weboffice/euro-office.yml
- Domains: OC_DOMAIN=cloud.maukit.com; EURO_OFFICE_DOMAIN=euro-office.maukit.com
- Container UID: 1000:1000 (default); match host ownership