跳转到内容

常用环境变量

环境变量 对应配置
SYNCTV_CONFIG_PATH 配置文件路径
SYNCTV_DATA_DIR data_dir
SYNCTV_SERVER_HOST server.host
SYNCTV_SERVER_PORT server.port
SYNCTV_SERVER_WEB_UI_DIRECTORY server.web_ui_directory
SYNCTV_HEALTH_ENABLED health.enabled
SYNCTV_HEALTH_HOST health.host
SYNCTV_HEALTH_PORT health.port
SYNCTV_SERVER_ENABLE_REFLECTION server.enable_reflection
SYNCTV_SERVER_CORS_ALLOWED_ORIGINS server.cors_allowed_origins
SYNCTV_SERVER_TRUSTED_PROXIES server.trusted_proxies
SYNCTV_SERVER_ADVERTISE_HOST server.advertise_host
SYNCTV_SERVER_SHUTDOWN_DRAIN_TIMEOUT_SECONDS server.shutdown_drain_timeout_seconds
SYNCTV_SERVER_GRPC_MAX_MESSAGE_SIZE_BYTES server.grpc_max_message_size_bytes
SYNCTV_SERVER_GRPC_COMPRESSION_ENABLED server.grpc_compression_enabled
SYNCTV_TIME_TIMEZONE time.timezone
SYNCTV_TIME_CLOCK_SYNC_ENABLED time.clock_sync.enabled
SYNCTV_TIME_CLOCK_SYNC_PROVIDER_TYPE time.clock_sync.provider.type
SYNCTV_TIME_CLOCK_SYNC_PROVIDER_SERVERS time.clock_sync.provider.servers
SYNCTV_TIME_CLOCK_SYNC_PROVIDER_INTERVAL_SECONDS time.clock_sync.provider.interval_seconds
SYNCTV_TIME_CLOCK_SYNC_PROVIDER_TIMEOUT_MILLIS time.clock_sync.provider.timeout_millis
环境变量 对应配置
SYNCTV_PUBLIC_IDS_SQIDS_ALPHABET public_ids.sqids.alphabet
SYNCTV_PUBLIC_IDS_SQIDS_MIN_LENGTH public_ids.sqids.min_length
环境变量 对应配置
SYNCTV_BOOTSTRAP_CREATE_ROOT_USER bootstrap.create_root_user
SYNCTV_BOOTSTRAP_ROOT_USERNAME bootstrap.root_username
SYNCTV_BOOTSTRAP_ROOT_PASSWORD bootstrap.root_password
SYNCTV_BOOTSTRAP_ROOT_PASSWORD_FILE bootstrap.root_password 文件
环境变量 对应配置
SYNCTV_DATABASE_URL database.url
SYNCTV_DATABASE_URL_FILE database.url 文件
SYNCTV_DATABASE_HOST database.host
SYNCTV_DATABASE_PORT database.port
SYNCTV_DATABASE_USERNAME database.username
SYNCTV_DATABASE_PASSWORD database.password
SYNCTV_DATABASE_PASSWORD_FILE database.password 文件
SYNCTV_DATABASE_NAME database.name
SYNCTV_DATABASE_MAX_CONNECTIONS database.max_connections
SYNCTV_DATABASE_MIN_CONNECTIONS database.min_connections
SYNCTV_DATABASE_CONNECT_TIMEOUT_SECONDS database.connect_timeout_seconds
SYNCTV_DATABASE_IDLE_TIMEOUT_SECONDS database.idle_timeout_seconds
SYNCTV_DATABASE_MAX_LIFETIME_SECONDS database.max_lifetime_seconds
SYNCTV_REDIS_URL redis.url
SYNCTV_REDIS_URL_FILE redis.url 文件
SYNCTV_REDIS_HOST redis.host
SYNCTV_REDIS_PORT redis.port
SYNCTV_REDIS_USERNAME redis.username
SYNCTV_REDIS_PASSWORD redis.password
SYNCTV_REDIS_PASSWORD_FILE redis.password 文件
SYNCTV_REDIS_DATABASE redis.database
SYNCTV_REDIS_CONNECT_TIMEOUT_SECONDS redis.connect_timeout_seconds
SYNCTV_REDIS_RESPONSE_TIMEOUT_SECONDS redis.response_timeout_seconds
SYNCTV_REDIS_PIPELINE_BUFFER_SIZE redis.pipeline_buffer_size
SYNCTV_REDIS_KEY_PREFIX redis.key_prefix
SYNCTV_REDIS_DEPLOYMENT_MODE redis.deployment_mode
SYNCTV_REDIS_SENTINEL_MASTER_NAME redis.sentinel_master_name
SYNCTV_REDIS_SENTINEL_ADDRESSES redis.sentinel_addresses

这些变量由 media-provider-server 二进制读取,不经过主 SyncTV 配置加载器。

环境变量 含义
PROVIDER_AUTH_SECRET 必填,用于 x-provider-secret gRPC metadata 的共享密钥
PROVIDER_LISTEN_ADDR Provider gRPC 监听地址,默认 [::]:50051
PROVIDER_GRPC_COMPRESSION_ENABLED 是否允许 provider server 协商 gzip 压缩,默认 true
环境变量 对应配置
SYNCTV_JWT_SECRET jwt.secret
SYNCTV_JWT_SECRET_FILE jwt.secret 文件
SYNCTV_SECURITY_CREDENTIAL_ENCRYPTION_KEY security.credential_encryption_key
SYNCTV_SECURITY_CREDENTIAL_ENCRYPTION_KEY_FILE security.credential_encryption_key 文件
SYNCTV_SECURITY_TOTP_ENCRYPTION_KEY security.totp_encryption_key
SYNCTV_SECURITY_TOTP_ENCRYPTION_KEY_FILE security.totp_encryption_key 文件
SYNCTV_SECURITY_EMAIL_OUTBOX_ENCRYPTION_KEY security.email_outbox_encryption_key
SYNCTV_SECURITY_EMAIL_OUTBOX_ENCRYPTION_KEY_FILE security.email_outbox_encryption_key 文件
SYNCTV_SECURITY_OPAQUE_SERVER_SETUP_SECRET security.opaque_server_setup_secret
SYNCTV_SECURITY_OPAQUE_SERVER_SETUP_SECRET_FILE security.opaque_server_setup_secret 文件
SYNCTV_SECURITY_PROXY_SIGNING_KEY security.proxy_signing_key
SYNCTV_SECURITY_PROXY_SIGNING_KEY_FILE security.proxy_signing_key 文件
SYNCTV_SECURITY_MEDIA_SWARM_SIGNING_KEY security.media_swarm_signing_key
SYNCTV_SECURITY_MEDIA_SWARM_SIGNING_KEY_FILE security.media_swarm_signing_key 文件
SYNCTV_SECURITY_PROVIDER_SESSION_ENCRYPTION_KEY security.provider_session_encryption_key
SYNCTV_SECURITY_PROVIDER_SESSION_ENCRYPTION_KEY_FILE security.provider_session_encryption_key 文件
SYNCTV_SECURITY_LOGIN_DISCOVERY_KEY security.login_discovery_key
SYNCTV_SECURITY_LOGIN_DISCOVERY_KEY_FILE security.login_discovery_key 文件
SYNCTV_SECURITY_WEBAUTHN_ENUMERATION_KEY security.webauthn_enumeration_key
SYNCTV_SECURITY_WEBAUTHN_ENUMERATION_KEY_FILE security.webauthn_enumeration_key 文件
SYNCTV_SECURITY_SSRF_ENABLED security.ssrf.enabled
SYNCTV_SECURITY_SSRF_ALLOW_PRIVATE_NETWORK_TARGETS security.ssrf.allow_private_network_targets
SYNCTV_SECURITY_SSRF_ALLOWED_HOSTS security.ssrf.allowed_hosts
SYNCTV_SECURITY_SSRF_ALLOWED_IP_RANGES security.ssrf.allowed_ip_ranges
SYNCTV_JWT_ACCESS_TOKEN_DURATION_HOURS jwt.access_token_duration_hours
SYNCTV_JWT_REFRESH_TOKEN_DURATION_DAYS jwt.refresh_token_duration_days
SYNCTV_JWT_GUEST_TOKEN_DURATION_HOURS jwt.guest_token_duration_hours
SYNCTV_JWT_CLOCK_SKEW_LEEWAY_SECS jwt.clock_skew_leeway_secs
SYNCTV_PASSWORD_COMPLEXITY_MIN_LENGTH password_complexity.min_length
SYNCTV_PASSWORD_COMPLEXITY_REQUIRE_UPPERCASE password_complexity.require_uppercase
SYNCTV_PASSWORD_COMPLEXITY_REQUIRE_LOWERCASE password_complexity.require_lowercase
SYNCTV_PASSWORD_COMPLEXITY_REQUIRE_DIGIT password_complexity.require_digit
SYNCTV_PASSWORD_COMPLEXITY_REQUIRE_SPECIAL password_complexity.require_special
SYNCTV_PASSWORD_COMPLEXITY_MAX_REPEATED_CHARS password_complexity.max_repeated_chars
SYNCTV_PASSWORD_COMPLEXITY_ZXCVBN_ENABLED password_complexity.zxcvbn_enabled
SYNCTV_PASSWORD_COMPLEXITY_ZXCVBN_MIN_SCORE password_complexity.zxcvbn_min_score
环境变量 对应配置
SYNCTV_LOGGING_LEVEL logging.level
SYNCTV_LOGGING_FORMAT logging.format
SYNCTV_LOGGING_OUTPUT logging.output
SYNCTV_LOGGING_COLOR logging.color
SYNCTV_LOGGING_OUTPUT_PATH logging.output.path
SYNCTV_LOGGING_OUTPUT_ROTATION_STRATEGY logging.output.rotation.strategy
SYNCTV_LOGGING_OUTPUT_ROTATION_MAX_FILES logging.output.rotation.max_files
SYNCTV_SERVER_LOGGING_LEVEL server.logging.level
SYNCTV_SERVER_LOGGING_FORMAT server.logging.format
SYNCTV_SERVER_LOGGING_OUTPUT server.logging.output
SYNCTV_SERVER_LOGGING_COLOR server.logging.color
SYNCTV_SERVER_LOGGING_OUTPUT_PATH server.logging.output.path
SYNCTV_SERVER_LOGGING_OUTPUT_ROTATION_STRATEGY server.logging.output.rotation.strategy
SYNCTV_SERVER_LOGGING_OUTPUT_ROTATION_MAX_FILES server.logging.output.rotation.max_files
SYNCTV_HEALTH_LOGGING_LEVEL health.logging.level
SYNCTV_HEALTH_LOGGING_FORMAT health.logging.format
SYNCTV_HEALTH_LOGGING_OUTPUT health.logging.output
SYNCTV_HEALTH_LOGGING_COLOR health.logging.color
SYNCTV_HEALTH_LOGGING_OUTPUT_PATH health.logging.output.path
SYNCTV_HEALTH_LOGGING_OUTPUT_ROTATION_STRATEGY health.logging.output.rotation.strategy
SYNCTV_HEALTH_LOGGING_OUTPUT_ROTATION_MAX_FILES health.logging.output.rotation.max_files
SYNCTV_METRICS_LOGGING_LEVEL metrics.logging.level
SYNCTV_METRICS_LOGGING_FORMAT metrics.logging.format
SYNCTV_METRICS_LOGGING_OUTPUT metrics.logging.output
SYNCTV_METRICS_LOGGING_COLOR metrics.logging.color
SYNCTV_METRICS_LOGGING_OUTPUT_PATH metrics.logging.output.path
SYNCTV_METRICS_LOGGING_OUTPUT_ROTATION_STRATEGY metrics.logging.output.rotation.strategy
SYNCTV_METRICS_LOGGING_OUTPUT_ROTATION_MAX_FILES metrics.logging.output.rotation.max_files
SYNCTV_CLUSTER_LOGGING_LEVEL cluster.logging.level
SYNCTV_CLUSTER_LOGGING_FORMAT cluster.logging.format
SYNCTV_CLUSTER_LOGGING_OUTPUT cluster.logging.output
SYNCTV_CLUSTER_LOGGING_COLOR cluster.logging.color
SYNCTV_CLUSTER_LOGGING_OUTPUT_PATH cluster.logging.output.path
SYNCTV_CLUSTER_LOGGING_OUTPUT_ROTATION_STRATEGY cluster.logging.output.rotation.strategy
SYNCTV_CLUSTER_LOGGING_OUTPUT_ROTATION_MAX_FILES cluster.logging.output.rotation.max_files
SYNCTV_MANAGEMENT_LOGGING_LEVEL management.logging.level
SYNCTV_MANAGEMENT_LOGGING_FORMAT management.logging.format
SYNCTV_MANAGEMENT_LOGGING_OUTPUT management.logging.output
SYNCTV_MANAGEMENT_LOGGING_COLOR management.logging.color
SYNCTV_MANAGEMENT_LOGGING_OUTPUT_PATH management.logging.output.path
SYNCTV_MANAGEMENT_LOGGING_OUTPUT_ROTATION_STRATEGY management.logging.output.rotation.strategy
SYNCTV_MANAGEMENT_LOGGING_OUTPUT_ROTATION_MAX_FILES management.logging.output.rotation.max_files
SYNCTV_LIVESTREAM_LOGGING_LEVEL livestream.logging.level
SYNCTV_LIVESTREAM_LOGGING_FORMAT livestream.logging.format
SYNCTV_LIVESTREAM_LOGGING_OUTPUT livestream.logging.output
SYNCTV_LIVESTREAM_LOGGING_COLOR livestream.logging.color
SYNCTV_LIVESTREAM_LOGGING_OUTPUT_PATH livestream.logging.output.path
SYNCTV_LIVESTREAM_LOGGING_OUTPUT_ROTATION_STRATEGY livestream.logging.output.rotation.strategy
SYNCTV_LIVESTREAM_LOGGING_OUTPUT_ROTATION_MAX_FILES livestream.logging.output.rotation.max_files
SYNCTV_WEBRTC_LOGGING_LEVEL webrtc.logging.level
SYNCTV_WEBRTC_LOGGING_FORMAT webrtc.logging.format
SYNCTV_WEBRTC_LOGGING_OUTPUT webrtc.logging.output
SYNCTV_WEBRTC_LOGGING_COLOR webrtc.logging.color
SYNCTV_WEBRTC_LOGGING_OUTPUT_PATH webrtc.logging.output.path
SYNCTV_WEBRTC_LOGGING_OUTPUT_ROTATION_STRATEGY webrtc.logging.output.rotation.strategy
SYNCTV_WEBRTC_LOGGING_OUTPUT_ROTATION_MAX_FILES webrtc.logging.output.rotation.max_files
环境变量 对应配置
SYNCTV_MANAGEMENT_ENABLED management.enabled
SYNCTV_MANAGEMENT_TRANSPORT management.transport
SYNCTV_MANAGEMENT_PORT management.port
SYNCTV_MANAGEMENT_UNIX_SOCKET_PATH management.unix_socket_path
SYNCTV_MANAGEMENT_AUTH_TOKEN management.auth_token
SYNCTV_MANAGEMENT_AUTH_TOKEN_FILE management.auth_token 文件
SYNCTV_MANAGEMENT_ENABLE_REFLECTION management.enable_reflection
环境变量 对应配置
SYNCTV_METRICS_ENABLED metrics.enabled
SYNCTV_METRICS_HOST metrics.host
SYNCTV_METRICS_PORT metrics.port
SYNCTV_METRICS_TLS_ENABLED metrics.tls.enabled
SYNCTV_METRICS_TLS_CERT_PATH metrics.tls.cert_path
SYNCTV_METRICS_TLS_KEY_PATH metrics.tls.key_path
SYNCTV_METRICS_AUTH_MODE metrics.auth.mode
SYNCTV_METRICS_AUTH_BEARER_TOKEN metrics.auth.bearer_token
SYNCTV_METRICS_AUTH_BEARER_TOKEN_FILE metrics.auth.bearer_token 文件
SYNCTV_METRICS_AUTH_BASIC_USERNAME metrics.auth.basic_username
SYNCTV_METRICS_AUTH_BASIC_PASSWORD metrics.auth.basic_password
SYNCTV_METRICS_AUTH_BASIC_PASSWORD_FILE metrics.auth.basic_password 文件
SYNCTV_METRICS_AUTH_KUBERNETES_AUDIENCE metrics.auth.kubernetes.audience
SYNCTV_METRICS_AUTH_KUBERNETES_AUTHENTICATION_CACHE_TTL_SECONDS metrics.auth.kubernetes.authentication_cache_ttl_seconds
SYNCTV_METRICS_AUTH_KUBERNETES_AUTHORIZATION_CACHE_TTL_SECONDS metrics.auth.kubernetes.authorization_cache_ttl_seconds
环境变量 对应配置
SYNCTV_WEBRTC_MODE webrtc.mode
SYNCTV_WEBRTC_ENABLE_BUILTIN_STUN webrtc.enable_builtin_stun
SYNCTV_WEBRTC_STUN_PORT webrtc.stun_port
SYNCTV_WEBRTC_STUN_HOST webrtc.stun_host
SYNCTV_WEBRTC_STUN_EXTERNAL_ADDR webrtc.stun_external_addr
SYNCTV_WEBRTC_FILTER_PRIVATE_ICE_CANDIDATES webrtc.filter_private_ice_candidates
SYNCTV_WEBAUTHN_ENABLED webauthn.enabled
SYNCTV_WEBAUTHN_RP_ID webauthn.rp_id
SYNCTV_WEBAUTHN_RP_ORIGIN webauthn.rp_origin
SYNCTV_WEBAUTHN_RP_NAME webauthn.rp_name
SYNCTV_WEBAUTHN_ALLOWED_ORIGINS webauthn.allowed_origins
SYNCTV_WEBAUTHN_APPLE_APP_IDS webauthn.apple_app_ids
SYNCTV_WEBAUTHN_ANDROID_APPS webauthn.android_apps
SYNCTV_WEBAUTHN_ALLOW_SUBDOMAINS webauthn.allow_subdomains
SYNCTV_WEBAUTHN_ALLOW_ANY_PORT webauthn.allow_any_port
SYNCTV_WEBAUTHN_TIMEOUT_SECONDS webauthn.timeout_seconds
环境变量 对应配置
SYNCTV_CACHE_L1_CAPACITY cache.l1_capacity
SYNCTV_CACHE_L1_TTL_SECONDS cache.l1_ttl_seconds
SYNCTV_CACHE_L2_TTL_SECONDS cache.l2_ttl_seconds
SYNCTV_CACHE_USERNAME_CACHE_CAPACITY cache.username_cache_capacity
SYNCTV_CACHE_USERNAME_CACHE_TTL_SECONDS cache.username_cache_ttl_seconds
SYNCTV_PROXY_SLICE_CACHE_ENABLED proxy_slice_cache.enabled
SYNCTV_PROXY_SLICE_CACHE_SLICE_SIZE_BYTES proxy_slice_cache.slice_size_bytes
SYNCTV_PROXY_SLICE_CACHE_MAX_CACHE_SIZE_BYTES proxy_slice_cache.max_cache_size_bytes
SYNCTV_PROXY_SLICE_CACHE_SEGMENT_TTL_SECONDS proxy_slice_cache.segment_ttl_seconds
SYNCTV_PROXY_SLICE_CACHE_STALE_MAX_AGE_SECONDS proxy_slice_cache.stale_max_age_seconds
SYNCTV_PROXY_SLICE_CACHE_STALE_WHILE_REVALIDATE proxy_slice_cache.stale_while_revalidate
SYNCTV_PROXY_SLICE_CACHE_FILE_BACKEND_ENABLED proxy_slice_cache.file_backend_enabled
SYNCTV_PROXY_SLICE_CACHE_FILE_CACHE_DIR proxy_slice_cache.file_cache_dir
SYNCTV_PROXY_SLICE_CACHE_EVICTION_INTERVAL_SECONDS proxy_slice_cache.eviction_interval_seconds
SYNCTV_PROXY_SLICE_CACHE_WATERMARK_RATIO proxy_slice_cache.watermark_ratio
环境变量 对应配置
SYNCTV_MEDIA_PROVIDERS_ALIST_REQUEST_TIMEOUT_SECONDS media_providers.alist.request_timeout_seconds
SYNCTV_MEDIA_PROVIDERS_ALIST_CONNECT_TIMEOUT_SECONDS media_providers.alist.connect_timeout_seconds
SYNCTV_MEDIA_PROVIDERS_BILIBILI_REQUEST_TIMEOUT_SECONDS media_providers.bilibili.request_timeout_seconds
SYNCTV_MEDIA_PROVIDERS_BILIBILI_CONNECT_TIMEOUT_SECONDS media_providers.bilibili.connect_timeout_seconds
SYNCTV_MEDIA_PROVIDERS_EMBY_REQUEST_TIMEOUT_SECONDS media_providers.emby.request_timeout_seconds
SYNCTV_MEDIA_PROVIDERS_EMBY_CONNECT_TIMEOUT_SECONDS media_providers.emby.connect_timeout_seconds
环境变量 对应配置
SYNCTV_LIVESTREAM_RTMP_PORT livestream.rtmp_port
SYNCTV_LIVESTREAM_PUBLIC_RTMP_HOST livestream.public_rtmp_host
SYNCTV_LIVESTREAM_GOP_CACHE_SIZE livestream.gop_cache_size
SYNCTV_LIVESTREAM_STREAM_TIMEOUT_SECONDS livestream.stream_timeout_seconds
SYNCTV_LIVESTREAM_CLEANUP_CHECK_INTERVAL_SECONDS livestream.cleanup_check_interval_seconds
SYNCTV_LIVESTREAM_PULL_MAX_RETRIES livestream.pull_max_retries
SYNCTV_LIVESTREAM_PULL_INITIAL_BACKOFF_MS livestream.pull_initial_backoff_ms
SYNCTV_LIVESTREAM_PULL_MAX_BACKOFF_MS livestream.pull_max_backoff_ms
SYNCTV_LIVESTREAM_MAX_FLV_TAG_SIZE_BYTES livestream.max_flv_tag_size_bytes
SYNCTV_LIVESTREAM_GOP_CACHE_MAX_MEMORY_MB livestream.gop_cache_max_memory_mb
SYNCTV_LIVESTREAM_HLS_STORAGE_TYPE livestream.hls_storage.type
SYNCTV_LIVESTREAM_HLS_STORAGE_MEMORY_MAX_MB livestream.hls_storage.memory_max_mb
SYNCTV_LIVESTREAM_HLS_STORAGE_PATH livestream.hls_storage.path
SYNCTV_LIVESTREAM_HLS_STORAGE_ENDPOINT livestream.hls_storage.endpoint
SYNCTV_LIVESTREAM_HLS_STORAGE_ACCESS_KEY_ID livestream.hls_storage.access_key_id
SYNCTV_LIVESTREAM_HLS_STORAGE_ACCESS_KEY_ID_FILE livestream.hls_storage.access_key_id 文件
SYNCTV_LIVESTREAM_HLS_STORAGE_SECRET_ACCESS_KEY livestream.hls_storage.secret_access_key
SYNCTV_LIVESTREAM_HLS_STORAGE_SECRET_ACCESS_KEY_FILE livestream.hls_storage.secret_access_key 文件
SYNCTV_LIVESTREAM_HLS_STORAGE_BUCKET livestream.hls_storage.bucket
SYNCTV_LIVESTREAM_HLS_STORAGE_REGION livestream.hls_storage.region
SYNCTV_LIVESTREAM_HLS_STORAGE_BASE_PATH livestream.hls_storage.base_path
SYNCTV_LIVESTREAM_FLV_MAX_CONNECTION_DURATION_SECONDS livestream.flv_max_connection_duration_seconds
SYNCTV_LIVESTREAM_FLV_WRITE_TIMEOUT_SECONDS livestream.flv_write_timeout_seconds
环境变量 对应配置
SYNCTV_FILE_STORAGE_DEFAULT_BACKEND file_storage.default_backend
SYNCTV_FILE_STORAGE_CHAT_ATTACHMENTS_BACKEND file_storage.chat_attachments_backend
SYNCTV_FILE_STORAGE_USER_AVATARS_BACKEND file_storage.user_avatars_backend
SYNCTV_FILE_STORAGE_MEDIA_COVERS_BACKEND file_storage.media_covers_backend
SYNCTV_FILE_STORAGE_ROOM_COVERS_BACKEND file_storage.room_covers_backend
SYNCTV_FILE_STORAGE_PLAYLIST_COVERS_BACKEND file_storage.playlist_covers_backend
SYNCTV_FILE_STORAGE_UNREFERENCED_OBJECT_RETENTION_SECONDS file_storage.unreferenced_object_retention_seconds
SYNCTV_FILE_STORAGE_BACKENDS file_storage.backends JSON object
SYNCTV_FILE_UPLOAD_TOKEN_SECRET file_storage.upload_token_secret
SYNCTV_FILE_UPLOAD_TOKEN_SECRET_FILE file_storage.upload_token_secret 文件

示例:关闭文件存储

终端窗口
SYNCTV_FILE_STORAGE_DEFAULT_BACKEND=disabled
SYNCTV_FILE_STORAGE_UNREFERENCED_OBJECT_RETENTION_SECONDS=86400
SYNCTV_FILE_STORAGE_BACKENDS='{}'

示例:使用 PostgreSQL 存储文件

终端窗口
SYNCTV_FILE_STORAGE_DEFAULT_BACKEND=database
SYNCTV_FILE_STORAGE_CHAT_ATTACHMENTS_BACKEND=database
SYNCTV_FILE_STORAGE_USER_AVATARS_BACKEND=database
SYNCTV_FILE_STORAGE_MEDIA_COVERS_BACKEND=database
SYNCTV_FILE_STORAGE_ROOM_COVERS_BACKEND=database
SYNCTV_FILE_STORAGE_PLAYLIST_COVERS_BACKEND=database
SYNCTV_FILE_STORAGE_UNREFERENCED_OBJECT_RETENTION_SECONDS=86400
SYNCTV_FILE_UPLOAD_TOKEN_SECRET_FILE=/run/secrets/file_upload_token_secret
SYNCTV_FILE_STORAGE_BACKENDS='{"database":{"type":"database","compression":"zstd","compression_min_size_bytes":4096,"compression_min_savings_percent":10}}'

示例:使用 S3-compatible 对象存储

终端窗口
SYNCTV_FILE_STORAGE_DEFAULT_BACKEND=s3_public
SYNCTV_FILE_STORAGE_CHAT_ATTACHMENTS_BACKEND=s3_public
SYNCTV_FILE_STORAGE_USER_AVATARS_BACKEND=s3_public
SYNCTV_FILE_STORAGE_MEDIA_COVERS_BACKEND=s3_public
SYNCTV_FILE_STORAGE_ROOM_COVERS_BACKEND=s3_public
SYNCTV_FILE_STORAGE_PLAYLIST_COVERS_BACKEND=s3_public
SYNCTV_FILE_STORAGE_UNREFERENCED_OBJECT_RETENTION_SECONDS=86400
SYNCTV_FILE_UPLOAD_TOKEN_SECRET_FILE=/run/secrets/file_upload_token_secret
SYNCTV_FILE_STORAGE_BACKENDS='{"s3_public":{"type":"s3","endpoint":"https://s3.example.com","access_key_id":"access-key","secret_access_key":"secret-key","bucket":"synctv-files","region":"auto","base_path":"files/","public_base_url":"https://cdn.example.com/files","upload_expires_seconds":900}}'
环境变量 对应配置
SYNCTV_CLUSTER_ENABLED cluster.enabled
SYNCTV_CLUSTER_HOST cluster.host
SYNCTV_CLUSTER_PORT cluster.port
SYNCTV_CLUSTER_ADVERTISE_HOST cluster.advertise_host
SYNCTV_CLUSTER_ADVERTISE_PORT cluster.advertise_port
SYNCTV_CLUSTER_SECRET cluster.secret
SYNCTV_CLUSTER_SECRET_FILE cluster.secret 文件
SYNCTV_CLUSTER_CRITICAL_CHANNEL_CAPACITY cluster.critical_channel_capacity
SYNCTV_CLUSTER_PUBLISH_CHANNEL_CAPACITY cluster.publish_channel_capacity
SYNCTV_CLUSTER_DISCOVERY_MODE cluster.discovery_mode
SYNCTV_CLUSTER_LEADER_ELECTION_MODE cluster.leader_election_mode
SYNCTV_CLUSTER_PEERS cluster.peers
SYNCTV_CLUSTER_CATCHUP_WINDOW_SECS cluster.catchup_window_secs
SYNCTV_CLUSTER_STREAM_MAX_LENGTH cluster.stream_max_length
环境变量 对应配置
SYNCTV_BUFFER_SIZES_WEBSOCKET_OUTBOUND buffer_sizes.websocket_outbound
SYNCTV_BUFFER_SIZES_AUDIT_BUFFER buffer_sizes.audit_buffer
环境变量 对应配置
SYNCTV_MESSAGING_RATE_LIMITS_CHAT_PER_SECOND messaging_rate_limits.chat_per_second
SYNCTV_MESSAGING_RATE_LIMITS_WINDOW_SECONDS messaging_rate_limits.window_seconds
SYNCTV_CONNECTION_LIMITS_MAX_PER_USER connection_limits.max_per_user
SYNCTV_CONNECTION_LIMITS_MAX_PER_ROOM connection_limits.max_per_room
SYNCTV_CONNECTION_LIMITS_MAX_TOTAL connection_limits.max_total
SYNCTV_CONNECTION_LIMITS_IDLE_TIMEOUT_SECONDS connection_limits.idle_timeout_seconds
SYNCTV_CONNECTION_LIMITS_MAX_DURATION_SECONDS connection_limits.max_duration_seconds
SYNCTV_CONNECTION_LIMITS_WS_MESSAGE_RATE_LIMIT_PER_SECOND connection_limits.ws_message_rate_limit_per_second
环境变量 对应配置
SYNCTV_REQUEST_RATE_LIMITS_AUTH_MAX_REQUESTS request_rate_limits.auth_max_requests
SYNCTV_REQUEST_RATE_LIMITS_AUTH_WINDOW_SECONDS request_rate_limits.auth_window_seconds
SYNCTV_REQUEST_RATE_LIMITS_WRITE_MAX_REQUESTS request_rate_limits.write_max_requests
SYNCTV_REQUEST_RATE_LIMITS_WRITE_WINDOW_SECONDS request_rate_limits.write_window_seconds
SYNCTV_REQUEST_RATE_LIMITS_READ_MAX_REQUESTS request_rate_limits.read_max_requests
SYNCTV_REQUEST_RATE_LIMITS_READ_WINDOW_SECONDS request_rate_limits.read_window_seconds
SYNCTV_REQUEST_RATE_LIMITS_MEDIA_MAX_REQUESTS request_rate_limits.media_max_requests
SYNCTV_REQUEST_RATE_LIMITS_MEDIA_WINDOW_SECONDS request_rate_limits.media_window_seconds
SYNCTV_REQUEST_RATE_LIMITS_ADMIN_MAX_REQUESTS request_rate_limits.admin_max_requests
SYNCTV_REQUEST_RATE_LIMITS_ADMIN_WINDOW_SECONDS request_rate_limits.admin_window_seconds
SYNCTV_REQUEST_RATE_LIMITS_SCOPES request_rate_limits.scopes
SYNCTV_REQUEST_RATE_LIMITS_STREAMING_MAX_REQUESTS request_rate_limits.streaming_max_requests
SYNCTV_REQUEST_RATE_LIMITS_STREAMING_WINDOW_SECONDS request_rate_limits.streaming_window_seconds
SYNCTV_REQUEST_RATE_LIMITS_WEBSOCKET_MAX_REQUESTS request_rate_limits.websocket_max_requests
SYNCTV_REQUEST_RATE_LIMITS_WEBSOCKET_WINDOW_SECONDS request_rate_limits.websocket_window_seconds

这些变量由 synctv 管理 CLI 读取,不属于服务端静态配置文件字段。config validate --strict 不会把它们当作未知 SYNCTV_ 配置变量报错。

环境变量 含义
SYNCTV_MANAGEMENT_ENDPOINT 管理 CLI 连接的 management endpoint,例如 unix:///var/lib/synctv/run/synctv.sockhttp://127.0.0.1:50052