Relution Files Bridge

Introduction

The Relution Files app for iOS and Android can access SMB and WebDAV shares. To establish a connection with a DFS (Distributed File System), the Relution SMB Bridge or Relution Files Bridge is necessary. This component can be conveniently operated as a Docker container.

Installation

On the server designated to operate as the Relution Files Bridge, create a compose.yml file in the /opt/rfb directory and add the following content:

services:
  relution-smb-bridge:
    image: relution/relution-smb-bridge: #1.0.1 - Please check latest version at https://hub.docker.com
    restart: unless-stopped
    ports:
      - '8080:8080'
    environment:
      - TZ=Europe/Berlin

Operation with HTTPS

If the connection should also be established over HTTPS, you can set up a reverse proxy for the Files Bridge. This can be operated within the same compose.yml file. In the example, a Traefik proxy is used.

The file should look like this:

services:
  relution-smb-bridge:
    image: relution/relution-smb-bridge: #1.0.1 - Please check latest version at https://hub.docker.com
    restart: unless-stopped
    ports:
      - '8080:8080'
    expose:
      - 8080
    environment:
      - TZ=Europe/Berlin
  traefik:
    restart: unless-stopped
    image: traefik:${DOCKER_TRAEFIK:-latest}
    command:
      - --providers.file.directory=/opt/traefik/
      - --entryPoints.web.address=:80
      - --entryPoints.web.http.redirections.entryPoint.to=websecure
      - --entryPoints.web.http.redirections.entryPoint.scheme=https
      - --entryPoints.websecure.address=:443
      - --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
      - --certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web
    environment:
      TZ: "Europe/Berlin"
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - ./certs/letsencrypt:/letsencrypt
      - ./configs/traefik:/opt/traefik
    logging:
      driver: 'json-file'
      options:
        max-size: '${DOCKER_TRAEFIK_LOGSIZE:-64m}'
        max-file: '4'
        compress: 'true'

Use the same configuration file for Traefik as for Relution and adapt it to your needs:

wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/relution.yaml \
--directory-prefix=/opt/rfb/configs/traefik

Adjust line 4 with the external address and line 15 with the name of the container, relution-smb-bridge, accordingly.

Start and Operation

Start the containers with:

docker compose up -d

Accessing the Share

If the DFS share uses a path such as smb://mein-fileserver.intra/data, the configuration in Relution Files should look as follows:

  1. Name: Customizable
  2. Protocol: WebDAV
  3. Path: https://address-of-relution-files-bridge-server/mein-fileserver.intra/data
  4. Username: Domain\Username
  5. Password

The Relution Files Bridge will forward the request, which is received as a WebDAV request, as an SMB/DFS request to the respective server.