- OpenCloud core + tika full-text search + Euro Office - Existing Traefik (.maukit.com, TLS letsencrypt) - No deploy; reference files
51 lines
2.8 KiB
Markdown
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
|