Cloudflare Docs
Cloudflare Zero Trust
Visit Cloudflare Zero Trust on GitHub
Set theme to dark (⇧+D)

Run as a service on macOS

You can install cloudflared as a system service on macOS.

​​ Prerequisites

Before you install Cloudflare Tunnel as a service on your OS, follow Steps 1 through 4 of the Tunnel CLI setup guide. At this point you should have a named tunnel and a config.yml file in your $HOME/.cloudflared directory.

​​ 1. Configure cloudflared as a service

By default, Cloudflare Tunnel expects all of the configuration to exist in the $HOME/.cloudflared/config.yml configuration file. The available options are documented on the configuration file reference, but at a minimum you must specify the following arguments to run as a service:

ArgumentDescription
tunnelThe UUID of your tunnel
credentials-fileThe location of the credentials file for your tunnel

​​ 2. Run cloudflared as a service

You can install the service to either run at login or at boot.

​​ Run at login

Open a terminal window and run the following command:

$ cloudflared service install

Cloudflare Tunnel will be installed as a launch agent and start whenever you log in, using your local user configuration found in ~/.cloudflared/.

​​ Run at boot

Open a terminal window and run the following command:

$ sudo cloudflared service install

Cloudflare Tunnel will be installed as a launch daemon and start whenever your system boots, using your configuration found in /etc/cloudflared.

​​ 3. Manually start the service

Run the following command:

$ sudo launchctl start com.cloudflare.cloudflared

The output will be logged to /Library/Logs/com.cloudflare.cloudflared.err.log and /Library/Logs/com.cloudflare.cloudflared.out.log.

​​ Next steps

You can now route traffic through your tunnel. If you add IP routes or otherwise change the configuration, restart the service to load the new configuration:

$ sudo launchctl stop com.cloudflare.cloudflared
$ sudo launchctl start com.cloudflare.cloudflared