Vyline DOCS

Configuration Reference

User-facing settings for normal operation are separated from advanced implementation controls.

Start with Compose

For Docker deployments, substitution variables in docker-compose.yml are the normal user-facing entry point. Internal Backend tuning variables are intentionally not presented as ordinary configuration.

Compose settings

SettingPurposeDefault
VYLINE_IMAGEContainer image to runghcr.io/tqmane/vyline:latest
VYLINE_BIND_ADDRESSHost address exposed by the published port0.0.0.0
VYLINE_PORTHost-side web port3000
VYLINE_DATA_PATHHost path mounted at /app/data./data
VYLINE_STORAGE_PATHHost path mounted at /app/storage./storage
VYLINE_LAN_ACCESSLAN/subdevice access behaviorfalse
VYLINE_TRUST_REMOTE_OWNERTreat a remote browser on a protected transport as ownerfalse
TZContainer timezoneAsia/Tokyo
# Example: publish only on localhost
VYLINE_BIND_ADDRESS=127.0.0.1
VYLINE_PORT=3000
docker compose up -d

pull_policy: always, restart: unless-stopped, init: true, and stop_grace_period: 30s are fixed in the Compose file.

Normal Backend settings

VariableMeaningDefault
PORTBackend listen port3001; Compose sets 3000
VYLINE_HOSTBackend listen addressNormally loopback; Compose uses 0.0.0.0
VYLINE_DATA_DIRRoot for account state, settings, DB, logs, backups, and related dataBackend data; Compose uses /app/data
VYLINE_STORAGE_DIRRoot for cache, saved media, and related storageBackend storage; Compose uses /app/storage
VYLINE_CDN_CACHE_DIROverride path for CDN cache such as stickersVYLINE_STORAGE_DIR/cache/cdn-cache
VYLINE_MEDIA_CACHE_DIRCompatibility setting for saved media when VYLINE_MEDIA_STORAGE_DIR is unsetVYLINE_STORAGE_DIR/saved-media
VYLINE_CORS_ORIGINAllowed CORS origins, comma-separatedhttp://localhost:5173
VYLINE_STATIC_DIRFrontend build served by BackendVyline/apps/desktop/dist
VYLINE_DEVICEProtocol device modeIOSIPAD

See Access Model for the meaning of VYLINE_LAN_ACCESS and VYLINE_TRUST_REMOTE_OWNER. They are authentication/trust settings, separate from the bind address.

Advanced implementation settings

The following variables are read by Backend but normally do not need to be set for a Compose deployment. Use them only when deliberately changing paths or API operation.

VariablePurposeDefault
VYLINE_PUBLIC_HOSTExplicit external host used for subdevice pairingResolved from request data when unset
VYLINE_API_ADMIN_SECRETAuthentication for administration APIs such as token operations; admin APIs are disabled when unsetUnset
VYLINE_OPENAPI_PATHOverride YAML file served at /openapi.yamlRepository-root openapi.yaml
VYLINE_MAX_REQUEST_BODY_BYTESHTTP request-body limitSame value as the backup storage limit
VYLINE_PLUGIN_DIRPlugin directoryVYLINE_DATA_DIR/plugins
VYLINE_LOG_DIRDiagnostic and message-log directoryVYLINE_DATA_DIR/logs
VYLINE_BACKUP_DIRVylineBackup snapshot directoryVYLINE_DATA_DIR/backups
VYLINE_MEDIA_STORAGE_DIRSaved-media directoryVYLINE_STORAGE_DIR/saved-media
VYLINE_ICON_CACHE_DIROverride path for icon cacheVYLINE_STORAGE_DIR/cache/icons
VYLINE_MEDIA_INDEX_PATHPath to the media-index SQLite databaseVYLINE_STORAGE_DIR/media-index.sqlite

Internal tuning variables

Variables such as VYLINE_SQLITE_*, VYLINE_BACKUP_HEAVY_*, and VYLINE_CONTACT_*_TIMEOUT_MS are implementation knobs for performance, capacity, and diagnostics. Their values may change with code and tests, so this page does not freeze them as user-facing configuration. Inspect the relevant module when one of these controls is needed.

Sources of truth

For user-facing configuration, use docker-compose.yml and .env.example. For advanced settings, use the implementation under Vyline/backend/src. Recreate the container after changing Compose environment variables.

Search by page, setting, or command