The server needs a domain name (for example remote.example.com) and a DNS A/AAAA record pointing to it. You can start with a small server of 1 vCPU and 1 GB of memory.
/etc/tastedev-remote/ and data in /var/lib/tastedev-remote/./etc/tastedev-remote/tasteremote-signal.env. The required values are:| Value | Meaning |
|---|---|
TURN_SECRET | The secret shared with coturn (16 characters or more). Make it with openssl rand -hex 32. |
RD_SETUP_TOKEN | The setup token you enter when creating the first administrator account (32 characters or more). You may remove it after the first account is created. |
RD_WEB_ORIGIN | The address users open. Example: https://remote.example.com |
TURN_URLS | Example: turn:remote.example.com:3478?transport=udp,turn:remote.example.com:3478?transport=tcp |
static-auth-secret in /etc/turnserver.conf to the same value as TURN_SECRET.sudo apt install coturnsudo systemctl enable --now tasteremote-signal tasteremote-web tasteremote-update.timer/downloads/ returns 503 and the download page shows "This server has no installers yet". On a server without internet access, put the installers in the downloads/ folder yourself.sudo tasteremote-fetch-hostsOn a Windows server, settings are in %ProgramData%\tasteremote\config\ and data in %ProgramData%\tasteremote\data, and it runs as a service.
Log in with the first administrator account and open Admin › Server setup. In five steps it makes the configuration files and commands, which the administrator pastes and runs over SSH. The page itself runs nothing on the server.
RD_WEB_ORIGIN, RD_COOKIE_SECURE=1 and TRUST_PROXY=1, and check commands. It checks that /healthz answers and that a /ws connection switches to 101 (400 or 426 means the proxy dropped the WebSocket headers).You need Docker Engine 25 or later and Compose v2.24 or later.
deploy/ folder, copy .env.example to .env and restrict its permissions.cp .env.example .env && chmod 600 .envDOMAIN, ACME_EMAIL, TURN_SECRET, RD_SETUP_TOKEN, TURN_EXTERNAL_IP and so on in .env.docker compose up -d --build| Value | Default | Meaning |
|---|---|---|
PORT / HOST | 8080 / 0.0.0.0 | The port and address signal listens on. The packages set 127.0.0.1. |
TRUST_PROXY | 0 | The number of proxies in front. 1 for a single proxy. If wrong, all users appear as the same IP and hit limits together. |
RD_DB_PATH | ./data/signal.db | The database (SQLite) file |
RD_SERVER_KEY_FILE | ./data/server.key | The server signing key. If lost, every host must be registered again. |
RD_ALLOW_SIGNUP | Off | Allows sign-up after the first account. A value set in the admin pages takes precedence. |
RD_COOKIE_SECURE | On in production | Secure flag on the session cookie |
TURN_TTL_SEC | 600 | How long TURN credentials are valid (seconds) |
RD_LICENSE_CLAIM_URL | TASTEDEV address | The license install code exchange address. off for a server without internet access |
RD_HOST_VERSION_CHECK | on | With off, hosts whose first two version numbers differ from the server's can still be connected to. |
LOG_LEVEL | info | debug logs connection timing in more detail. |
Mail (SMTP) and social login are set in the admin pages, not in the settings file.
The next step is First setup.