Skip to content

Commit cf581da

Browse files
chripjuliusknorr
authored andcommitted
docs: add Nextcloud Office (Euro-Office) section and restructure Office nav
Nextcloud Office (powered by Euro-Office Document Server) becomes the default office solution in Nextcloud. Add a dedicated documentation section with installation guides for Ubuntu, Debian, and Docker, plus connector app configuration reference. Navigation changes: - office/index.rst now introduces both solutions (Nextcloud Office + Collabora Online) - New euro-office/ section: installation overview, per-platform install guides, configuration - New collabora_online.rst wrapper page so Collabora docs appear under "Collabora Online" in the sidebar (existing Collabora pages unchanged, no redirects needed) Assisted-by: claude-code:claude-sonnet-4-6 Signed-off-by: Christoph Schaefer <christoph.schaefer@nextcloud.com>
1 parent 539ee9c commit cf581da

8 files changed

Lines changed: 652 additions & 16 deletions

File tree

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
================
2+
Collabora Online
3+
================
4+
5+
Nextcloud supports `Collabora Online <https://www.collaboraoffice.com/>`_ as a fully supported
6+
office solution. Collabora Online is available as a self-hosted server and as a built-in
7+
CODE (Collabora Online Development Edition) server app.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
installation
13+
configuration
14+
migration
15+
troubleshooting
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
==========================
2+
Configuration
3+
==========================
4+
5+
After installing the Euro-Office Document Server, install the Nextcloud connector app
6+
and connect it to the server.
7+
8+
Installing the connector app
9+
-----------------------------
10+
11+
Install the **Euro-Office** app from the Nextcloud App Store:
12+
13+
1. Open :menuselection:`Settings --> Apps` in your Nextcloud admin interface.
14+
2. Search for **Euro-Office**.
15+
3. Click **Download and enable**.
16+
17+
Alternatively, install the app using the :command:`occ` command:
18+
19+
.. code-block:: bash
20+
21+
php occ app:install eurooffice
22+
23+
Connecting to the Document Server
24+
-----------------------------------
25+
26+
1. Open :menuselection:`Settings --> Administration --> Euro-Office`.
27+
2. Enter the Document Server URL in the **Euro-Office Docs address** field:
28+
29+
.. code-block:: text
30+
31+
https://<documentserver>/
32+
33+
where ``<documentserver>`` is the hostname or IP of the machine running Euro-Office Document Server.
34+
35+
3. Enter the **Secret key** — this must match the JWT secret configured on the Document Server:
36+
37+
- **deb/rpm install:** the secret is in ``/etc/euro-office/documentserver/local.json``
38+
under ``services.CoAuthoring.secret.browser.string``.
39+
- **Docker install:** the value of the ``JWT_SECRET`` environment variable used when
40+
starting the container.
41+
42+
4. Click **Save**.
43+
44+
A green status indicator confirms a successful connection.
45+
46+
Advanced server settings
47+
--------------------------
48+
49+
If the public Document Server URL is not reachable from your Nextcloud server (for example,
50+
behind a NAT or a split-horizon DNS), configure separate addresses for server-side and
51+
client-side communication:
52+
53+
- **Euro-Office Docs address for internal requests from the server** — the URL Nextcloud uses
54+
to contact the Document Server directly (must be reachable from the Nextcloud host).
55+
- **Nextcloud address available from Document Server** — the URL the Document Server uses
56+
to send callbacks back to Nextcloud (must be reachable from the Document Server host).
57+
58+
Common settings
59+
---------------
60+
61+
.. list-table::
62+
:header-rows: 1
63+
:widths: 35 65
64+
65+
* - Setting
66+
- Description
67+
* - Open file in the same tab
68+
- Opens documents inside Nextcloud instead of a new browser tab.
69+
* - Enable sharing
70+
- Allows users to share files directly from within the editor.
71+
* - Generate document preview
72+
- Uses Euro-Office to generate thumbnail previews for Office files.
73+
* - Advanced document permissions
74+
- Enables per-user fine-grained permissions (review-only, comment-only, etc.)
75+
on shared files.
76+
* - Enable e-mail notifications
77+
- Sends e-mail notifications when a document is commented or edited.
78+
* - Keep version history
79+
- Stores metadata for each version created while editing.
80+
* - Document protection
81+
- Sets who can protect/unprotect documents: document owners only (``owner``)
82+
or all editors (``all``).
83+
* - Restrict access to groups
84+
- Limits editor access to specific Nextcloud groups.
85+
86+
Customization settings
87+
-----------------------
88+
89+
.. list-table::
90+
:header-rows: 1
91+
:widths: 35 65
92+
93+
* - Setting
94+
- Description
95+
* - Display Chat menu button
96+
- Shows or hides the in-editor chat panel.
97+
* - Compact header
98+
- Displays a more compact toolbar header in the editor.
99+
* - Display Feedback & Support button
100+
- Shows or hides the Feedback & Support entry in the editor menu.
101+
* - Forcesave
102+
- Saves an intermediate version of the document each time a user explicitly
103+
saves (in addition to the final version saved on editor close).
104+
* - Display Help menu button
105+
- Shows or hides the Help entry in the editor menu.
106+
* - Review display mode
107+
- Default mode for viewing tracked changes: ``original``, ``markup``, or ``final``.
108+
* - Editor theme
109+
- Default color theme for the editor interface.
110+
* - Run document macros
111+
- Allows macros embedded in documents to execute.
112+
* - Enable plugins
113+
- Allows third-party plugins inside the editor.
114+
115+
Watermark settings
116+
------------------
117+
118+
Watermarks are overlaid on documents when they are opened by specified users or via shares.
119+
120+
Enable watermarking under :menuselection:`Settings --> Administration --> Euro-Office --> Security`.
121+
122+
The watermark text supports the following placeholders:
123+
124+
- ``{userId}`` — Nextcloud user ID
125+
- ``{userDisplayName}`` — user's display name
126+
- ``{email}`` — user's e-mail address
127+
- ``{date}`` — current date
128+
- ``{themingName}`` — Nextcloud instance name from theming settings
129+
130+
occ commands
131+
------------
132+
133+
Settings can also be managed via :command:`occ`:
134+
135+
.. code-block:: bash
136+
137+
# Read a setting
138+
php occ config:app:get eurooffice DocumentServerUrl
139+
140+
# Write a setting
141+
php occ config:app:set eurooffice DocumentServerUrl --value="https://office.example.com/"
142+
143+
# Check the connection to the Document Server
144+
php occ eurooffice:documentserver --check
145+
146+
config.php
147+
----------
148+
149+
Settings can also be set directly in ``config/config.php`` under the ``eurooffice`` key:
150+
151+
.. code-block:: php
152+
153+
"eurooffice" => [
154+
"DocumentServerUrl" => "https://office.example.com/",
155+
"jwt_secret" => "your-secret",
156+
"verify_peer_off" => false,
157+
],
158+
159+
Settings defined in ``config.php`` are used as fallback when no value is set via the admin UI
160+
or :command:`occ`. The UI takes precedence.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
===============
2+
Nextcloud Office
3+
===============
4+
5+
Nextcloud Office is Nextcloud's built-in office solution, powered by Euro-Office Document Server.
6+
It enables real-time collaborative editing of text documents, spreadsheets, and presentations
7+
directly in the browser, with high-fidelity rendering that preserves the layout and formatting
8+
of your files.
9+
10+
Nextcloud Office supports a wide range of formats including DOCX, XLSX, PPTX, ODT, ODS, ODP
11+
and many more.
12+
13+
.. note::
14+
A dedicated Document Server is required for production use. Install the server first, then
15+
connect Nextcloud to it using the **Euro-Office** connector app.
16+
17+
.. toctree::
18+
:maxdepth: 2
19+
20+
installation
21+
configuration
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
============
2+
Installation
3+
============
4+
5+
Nextcloud Office requires a running Euro-Office Document Server that Nextcloud can reach over the network.
6+
The Document Server is packaged separately and must be installed before connecting Nextcloud to it.
7+
8+
Supported platforms
9+
-------------------
10+
11+
.. list-table::
12+
:header-rows: 1
13+
:widths: 30 20 20
14+
15+
* - Distribution
16+
- Architectures
17+
- Method
18+
* - Ubuntu 24.04 LTS (Noble)
19+
- amd64, arm64
20+
- .deb package
21+
* - Debian 12 (Bookworm)
22+
- amd64, arm64
23+
- .deb package
24+
* - Any Linux host
25+
- amd64, arm64
26+
- Docker
27+
28+
Installation methods
29+
--------------------
30+
31+
- :doc:`installation_ubuntu`
32+
- :doc:`installation_debian`
33+
- :doc:`installation_docker`
34+
35+
.. toctree::
36+
:hidden:
37+
38+
installation_ubuntu
39+
installation_debian
40+
installation_docker
41+
42+
System requirements
43+
-------------------
44+
45+
- 4 GB RAM minimum (8 GB recommended for multi-user deployments)
46+
- 10 GB disk space minimum
47+
- The Document Server and Nextcloud must be able to reach each other over HTTPS in production
48+
49+
.. note::
50+
The Document Server does not need to run on the same host as Nextcloud.
51+
A reverse proxy (nginx or Apache) in front of the Document Server is required for production
52+
deployments so that the server is reachable over HTTPS.
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
==========================
2+
Installing on Debian 12
3+
==========================
4+
5+
This guide covers installing Euro-Office Document Server on Debian 12 (Bookworm)
6+
from a GitHub release package.
7+
8+
System requirements
9+
-------------------
10+
11+
- Debian 12 (Bookworm) — amd64 or arm64
12+
- 4 GB RAM minimum
13+
- 10 GB disk space minimum
14+
15+
Step 1 — Enable the contrib component
16+
--------------------------------------
17+
18+
The ``ttf-mscorefonts-installer`` package required by Euro-Office lives in Debian's
19+
``contrib`` component, which is not enabled by default. Edit ``/etc/apt/sources.list``
20+
and add ``contrib`` to each line:
21+
22+
.. code-block:: text
23+
24+
deb http://deb.debian.org/debian bookworm main contrib
25+
deb http://deb.debian.org/debian bookworm-updates main contrib
26+
deb http://deb.debian.org/debian-security/ bookworm-security main contrib
27+
28+
Then update the package index:
29+
30+
.. code-block:: bash
31+
32+
sudo apt-get update
33+
34+
Step 2 — Install prerequisites
35+
-------------------------------
36+
37+
All prerequisites are available in the default Debian 12 repositories — no extra
38+
package sources are required:
39+
40+
.. code-block:: bash
41+
42+
sudo apt-get install -y postgresql redis-server rabbitmq-server nginx supervisor
43+
44+
Step 3 — Create the database
45+
-----------------------------
46+
47+
The post-install script connects to PostgreSQL during installation. Create the user
48+
and database first:
49+
50+
.. code-block:: bash
51+
52+
sudo -u postgres psql -c "CREATE USER ds WITH PASSWORD 'ds';"
53+
sudo -u postgres psql -c "CREATE DATABASE ds OWNER ds;"
54+
55+
Step 4 — Pre-seed the installer answers
56+
-----------------------------------------
57+
58+
.. code-block:: bash
59+
60+
echo "ds ds/db-type select postgres
61+
ds ds/db-host string localhost
62+
ds ds/db-port string 5432
63+
ds ds/db-user string ds
64+
ds ds/db-pwd password ds
65+
ds ds/db-name string ds" | sudo debconf-set-selections
66+
67+
Step 5 — Download the package
68+
------------------------------
69+
70+
Download the latest release from `GitHub Releases <https://github.com/Euro-Office/DocumentServer/releases>`_:
71+
72+
.. code-block:: bash
73+
74+
# Replace <version> and <arch> with your values, e.g. 9.3.1 and amd64 or arm64
75+
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<version>/euro-office-documentserver_<version>_<arch>.deb" \
76+
-O /tmp/euro-office-documentserver.deb
77+
78+
Step 6 — Install the package
79+
-----------------------------
80+
81+
.. code-block:: bash
82+
83+
sudo apt-get install -y /tmp/euro-office-documentserver.deb
84+
85+
The installer generates fonts, WOPI keys, and JS caches. This takes a minute or two.
86+
A successful install ends with::
87+
88+
Congratulations, the Euro-Office DocumentServer has been installed successfully!
89+
90+
Step 7 — Verify
91+
----------------
92+
93+
Check that all services are running:
94+
95+
.. code-block:: bash
96+
97+
systemctl is-active ds-docservice ds-converter ds-metrics nginx
98+
99+
Expected output::
100+
101+
active
102+
active
103+
active
104+
active
105+
106+
Run the health check:
107+
108+
.. code-block:: bash
109+
110+
curl http://localhost/healthcheck
111+
112+
Expected output: ``true``
113+
114+
Updating
115+
--------
116+
117+
Download the new release package and reinstall:
118+
119+
.. code-block:: bash
120+
121+
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<new-version>/euro-office-documentserver_<new-version>_<arch>.deb" \
122+
-O /tmp/euro-office-documentserver.deb
123+
sudo apt-get install -y /tmp/euro-office-documentserver.deb
124+
125+
Uninstalling
126+
------------
127+
128+
.. code-block:: bash
129+
130+
sudo apt-get remove --purge euro-office-documentserver
131+
sudo -u postgres psql -c "DROP DATABASE ds;"
132+
sudo -u postgres psql -c "DROP USER ds;"

0 commit comments

Comments
 (0)