Own computer or VPS
Run the Glyph server as one binary on Windows, macOS, Linux or a VPS, with automatic HTTPS.
The server is one binary for Windows, macOS and Linux.
npm install --global glyph-server # or download glyph-server from GitHub releases
glyph setup # a few questions, writes server.toml
glyph # run it
glyph service install # start at boot
glyph setup can turn on automatic HTTPS with Let's Encrypt for your domain.
Install yt-dlp and FFmpeg for YouTube; r-dlp is used when available.
Change options
glyph config list
glyph config set rate_limit_per_min 120
glyph config set require_account true
glyph config set tls.domain glyph.example.com
glyph config set lastfm_api_key # asks without echo
glyph config unset rate_limit_per_min
glyph doctor
glyph config list shows every option, its value, where it comes from
(server.toml, an environment variable or the default) and what it does. API
keys are never printed. Restart the server after a change.
| Option | Default | Meaning |
|---|---|---|
bind | 0.0.0.0:8787 | address to listen on (443 with TLS) |
public_url | – | URL your apps use |
cache_dir, cache_entries | memory, 10000 | response cache |
trust_proxy | false | read client IPs from a reverse proxy |
rate_limit_per_min | 60 | anonymous requests per minute and IP |
require_account | false | only signed-in apps |
proxy_audio | true | stream audio through the server |
ytdlp_path | PATH | yt-dlp executable |
tls.domain, tls.email | – | automatic HTTPS |
keys.* | – | provider API keys |
Every option also has an environment variable (shown by glyph config list),
which wins over the file, handy for Docker.
Private server
glyph access # require a shared bearer; the app asks for it once
glyph access --disable