Advanced YAML Configuration

Fine-tune tunnel settings with the raw YAML editor

Using the Raw YAML Editor

FlareDeck includes a built-in YAML editor for cases when the visual interface doesn't expose the setting you need. Access it from any profile by clicking the YAML tab.

The editor provides:

  • Syntax highlighting for YAML
  • Validation before saving — FlareDeck checks for structural errors
  • Direct mapping to the ~/.cloudflared/<tunnel-id>.yml file

Changes in the YAML editor overwrite the visual configuration. If you switch back to the visual editor, your raw YAML changes are preserved but may be reformatted.

Config File Format

A cloudflared configuration file follows this structure:

~/.cloudflared/<tunnel-id>.yml
tunnel: <tunnel-uuid>
credentials-file: /home/user/.cloudflared/<tunnel-uuid>.json

ingress:
  - hostname: app.example.com
    service: http://localhost:3000
  - service: http_status:404

The tunnel and credentials-file fields are managed by FlareDeck — you should not need to change them manually.

Advanced Ingress Options

Each ingress rule supports an originRequest block for fine-grained control:

ingress:
  - hostname: app.example.com
    service: https://localhost:3000
    originRequest:
      noTLSVerify: true
      connectTimeout: 30s
      httpHostHeader: app.example.com
  - service: http_status:404

Common originRequest options

OptionTypeDescription
noTLSVerifybooleanSkip TLS certificate verification for the origin
connectTimeoutdurationTimeout for connecting to the origin (e.g., 30s)
tlsTimeoutdurationTimeout for TLS handshake (e.g., 10s)
httpHostHeaderstringOverride the Host header sent to the origin
originServerNamestringSNI server name for TLS verification
disableChunkedEncodingbooleanDisable chunked transfer encoding
proxyTypestringProxy protocol version ("", "v1", "v2")

Global vs per-rule originRequest

You can set originRequest at the top level to apply to all rules, or on individual rules:

# Global default
originRequest:
  connectTimeout: 30s

ingress:
  - hostname: secure.example.com
    service: https://localhost:8443
    originRequest:
      noTLSVerify: true  # Override for this rule only
  - hostname: app.example.com
    service: http://localhost:3000
    # Uses global connectTimeout: 30s
  - service: http_status:404

Backup and Restore

Manual backup

Copy your entire ~/.cloudflared/ directory:

# Backup
cp -r ~/.cloudflared/ ~/.cloudflared-backup/

# Restore
cp -r ~/.cloudflared-backup/ ~/.cloudflared/

What to back up

FilePurposeRequired?
cert.pemAccount authorizationYes — run cloudflared tunnel login to regenerate
<uuid>.jsonTunnel credentialsYes — cannot be regenerated
<uuid>.ymlTunnel configurationRecommended — recreatable via FlareDeck

Credential files (<uuid>.json) are generated once when a tunnel is created and cannot be regenerated. If lost, you must delete the tunnel and create a new one.

On this page