Deployment

Shared hosting via FTP/SFTP using git-ftp. The yeet script wraps this into a single command.

The yeet script

Yeet lives in the project root and handles:

  1. Running any pre-deploy build steps
  2. Calling git ftp push with the right credentials
  3. Logging the deploy timestamp
./yeet

git-ftp setup (first time)

# Initialize (uploads everything)
git ftp init --ftp-url ftp://host/path --ftp-user user --ftp-passwd pass

# Subsequent deploys (only changed files)
git ftp push

Store credentials in .git/config or a .netrc file — never commit them.

Environment files

  • .env is gitignored
  • A .env.example lives in the repo with placeholder values
  • On first deploy, manually upload .env via SFTP

Kirby-specific notes

  • The content/ folder is gitignored on client sites — it's the source of truth on the server
  • storage/ is also excluded; created fresh on server
  • Always check config.php for environment-specific settings before deploying