Running Remote Projects
Phlow supports running remote projects directly from URLs or Git repositories. You can pass a .git
, .zip
, or .tar.gz
source — Phlow will automatically download, extract (if needed), and execute the flow from a main.yaml
.
# Git via SSH
phlow git@github.com:phlowdotdev/phlow-mirror-request.git
# Git via HTTPS
phlow https://github.com/phlowdotdev/phlow-mirror-request.git
# ZIP archive
phlow https://github.com/phlowdotdev/phlow-mirror-request/archive/refs/heads/main.zip
# Tarball (GZIP)
phlow https://github.com/phlowdotdev/phlow-mirror-request/tarball/main
Git branch selector
phlow git@github.com:phlowdotdev/phlow-mirror-request.git#develop
Custom SSH Key
By default, Phlow uses the SSH key at ~/.ssh/id_rsa to authenticate Git over SSH. To override this path, set the environment variable:
export PHLOW_REMOTE_ID_RSA_PATH=/path/to/your/private_key
Authorization Header for ZIP/GZIP Downloads
When downloading .zip
or .tar.gz
files that require authentication (e.g., from a private server), you can use the environment variable below to send an Authorization
header in the request:
export PHLOW_REMOTE_HEADER_AUTHORIZATION="Bearer your_token_here"
Phlow will include this header when performing the HTTP request for ZIP or GZIP downloads.
Inner directory selector (ZIP/GZIP)
If you are downloading a ZIP or GZIP archive and want to specify which folder inside the archive contains your flow, you can add #folder_name
at the end:
phlow https://github.com/phlowdotdev/phlow-mirror-request/archive/refs/heads/main.zip#phlow-mirror-request
Auto-detection of inner folder
If you don’t specify a folder name and the ZIP/GZIP file contains only one directory, Phlow will automatically treat it as the root and search for a main.yaml
inside it.
If the archive contains multiple folders or any loose files in the root and no folder is specified, Phlow will return an error.