Web application to view lines from file on local system or on remote server built with Svelte.
Download executable for your platform from latest release.
Docker image is also available here.
Configuaration is done with web-tail.config.toml file. Following keys are available:
port - port that Web tail will run on. Default value is 4444allowedOrigins - list of allowed origins for WebSocket connections. Default value is ["*"]servers - reusable servers configurationname - name of server to use in sources configshost - host of remote server. Mandatory field for source types ssh:*port - port of remote server. Mandatory field for source types ssh:*username - username for ssh connection to remote server. Mandatory for source types ssh:*password - password to authenticate on remote server. Either this or privateKeyPath is mandatory for source types ssh:*privateKeyPath - path to file with private key to authenticate on remote server. Either this or password is mandatory for source types ssh:*sources - list of sources to tail lines fromname - name of source. Mandatory fieldtype - type of source. Possible values: local:file, local:docker, local:openclaw, ssh:file, ssh:docker, ssh:openclaw. Mandatory fieldpath - path to file. Mandatory field for source types *:fileserverName - name of a server from servers listcontainerId - Docker container ID. Mandatory field for source types *:dockerhost - host of remote server. Mandatory field for source types ssh:*port - port of remote server. Mandatory field for source types ssh:*username - username for ssh connection to remote server. Mandatory for source types ssh:*password - password to authenticate on remote server. Either this or privateKeyPath is mandatory for source types ssh:*privateKeyPath - path to file with private key to authenticate on remote server. Either this or password is mandatory for source types ssh:*String fields support environment placeholders in the exact form ${VAR_NAME}.
If a placeholder is used and the environment variable is not set, web-tail fails to start with a config error.
Only exact placeholders are expanded, so values like prefix-${VAR_NAME} stay unchanged.
Example:
[[servers]]
name = "production"
host = "${SSH_HOST}"
port = 22
username = "${SSH_USER}"
password = "${SSH_PASSWORD}"
privateKeyPath = "${SSH_PRIVATE_KEY_PATH}"
[[sources]]
name = "app-log"
type = "ssh:file"
path = "/var/log/app.log"
serverName = "production"
Options from left to right:
web-tail.config.tomlFilter toggle. If enabled only lines with matching results are shown.* toggle. If enabled treats text in search field as regular expressionAa toggle. If enabled makes search case sensitiveReverse toggle. If enabled latest lines shown on topFrontend app lives in /client and uses Bun + Vite.
cd client && bun installcd client && bun run buildgo run ./serverFor frontend HMR in development, run both services:
go run ./servercd client && bun run devVite dev server proxies /sources and /logstream to http://localhost:4444.