Skip to main content

Docker Reverse Proxy

Reverse proxy configuration for Sync-in using Docker Compose.

📋 Prerequisites​

A dedicated configuration is included in the previously retrieved Sync-in docker-compose and relies on the official Nginx image.

⚡ Activation​

To enable it, edit the docker-compose.yaml file and uncomment the following lines at the top of the file:

include:
- ./config/nginx/docker-compose.nginx.yaml

To configure HTTPS, edit the ./config/nginx/nginx.conf file and add your SSL certificates.

Published port​

The bundled Nginx service publishes port 80 by default. If that port is already in use, change only the host side of the mapping in ./config/nginx/docker-compose.nginx.yaml:

services:
nginx:
ports:
- '8060:80'

Keep the container port and the internal proxy_pass ports unchanged.

Optional Sync-in public URL​

You can set server.publicUrl in environment.yaml to the exact URL used to access Sync-in. Include the public port when it is not the default one:

server:
# Optional for now; required in the next major release
publicUrl: 'http://your-server:8060'

When configured, this setting is used to generate notification links and document editor URLs. When an editor is enabled, the URL must be reachable from both the browser and the editor container.

If it is omitted, notification emails contain no action links and document editor URLs use the request origin forwarded by Nginx as a compatibility fallback. For security, publicUrl will become required in the next major release so editor endpoints are built from a trusted origin controlled by the administrator rather than from request headers.

info

docker compose up -d to apply the changes

🌐 Access​

Nginx is now enabled on port 80. For a local Sync-in-only test, the interface is accessible via:

http://localhost

If you enable collaborative editors such as Collabora Online, OnlyOffice, or Euro-Office, access Sync-in using the server IP address or a properly configured domain name instead. If server.publicUrl is configured, use the address it defines:

http://your-domain

With the 8060:80 example above, use:

http://your-server:8060

When HTTPS is configured in ./config/nginx/nginx.conf, use the HTTPS URL:

https://your-domain