Install Tabby Web and Tabby Connection Gateway on Synology Docker

Tabby is a popular SSH client. This guide shows how to use Synology to build a Tabby sync server and the Tabby web client.
Install Tabby Web and Tabby Connection Gateway on Synology Docker

This guide assumes that Cloudflare Tunnel is already installed on your Synology NAS and that you can configure it. This is not a step-by-step beginner tutorial. It is mainly for my own record and may not be reproduced without permission.

Let us begin:

1. GitHub Configuration

Go to https://github.com/settings/applications/new to register a GitHub application.

Application name: anything you like.

Homepage URL: enter your access domain, for example https://tabby.mutou.men.

Authorization callback URL: set it to https://tabby.mutou.men/api/1/auth/social/complete/github/.

After registration, get the Client ID and Client secrets.

Write them down. You will need them later.

2. Install Tabby Web

2.1 Connect to Synology Through SSH and Run the Following Command

docker pull ghcr.io/eugeny/tabby-web:latest

Then open your Synology Docker management tool.

2.2 Create a tabby Folder and an app-list Subfolder in the Docker Folder

2.3 Configure Ports and Storage as Shown Above

2.4 Add the Following Variables and Values in Environment Settings

APP_DIST_STORAGE = file:///app-dist
DATABASE_URL = sqlite:////data/db.sqlite3
DEBUG = False
PORT = 8000
SOCIAL_AUTH_GITHUB_KEY = Client ID obtained in step 1
SOCIAL_AUTH_GITHUB_SECRET = Client secrets obtained in step 1

After finishing the settings, run it directly.

3. Cloudflare Tunnels Settings

Add a public hostname for the Synology NAS.

Then you can access Tabby Web through the domain tabby.mutou.men you configured earlier.

If you only want to use it for sync, you can skip the following steps.

Log in to the website above with GitHub, and you can configure the official sync service.

Use the configured URL and the token obtained here to use the official sync service.

4. Install Tabby Connection Gateway

4.1 Connect to Synology Through SSH and Run the Following Command

docker pull ghcr.io/eugeny/tabby-connection-gateway:latest

4.2 In the Synology Docker Management Tool, Set the Port to 9000

TABBY_AUTH_TOKEN = Set a password, for example pass123

Then run it.

4.3 Open Your Domain URL and Log In with GitHub

Configure it as shown above. Note that it should be ws://NAS-LAN-IP:Gateway-port.

The password is the pass123 you set earlier.

After the settings are complete, you can use sync and the web SSH tool.

It seems SSH login with keys cannot be used.