Files
opencloud-dockhand/README.md
T
hermes f935bbbc9b Initial commit: opencloud-dockhand stack
- OpenCloud core + tika full-text search + Euro Office
- Existing Traefik (.maukit.com, TLS letsencrypt)
- No deploy; reference files
2026-09-12 13:31:46 +01:00

51 lines
2.8 KiB
Markdown

# 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