Beam Up
A CLI tool to deploy your static sites. Support for Netlify, AWS S3, DigitalOcean and statichost
Installation
If you have a Ruby environment available, you can install:
gem install beam_up
Configuration
Create a config file:
beam_up init netlify
Or manually create .beam_up.yml (or config/beam_up.yml):
provider: netlify
# path: ./output # optional
netlify:
api_token: your_token_here
project_id: your_project_id
If both files exist, config/beam_up.yml takes priority.
Deploy
# Deploy using configured provider
beam_up ./output
# Override provider for this deploy
beam_up ./output --to bunny
# or
beam_up ./output --provider bunny
Supported providers
- aws_s3
- bunny
- digital_ocean_spaces
- hetzner
- neocities
- netlify
- sftp
- statichost
Usage from Ruby
require "beam_up"
BeamUp.deploy! "./output"
# Deploy with provider override
BeamUp.deploy! "./output", to: "bunny"
# or
BeamUp.deploy! "./output", provider: "bunny"
Hooks
Run commands before and after deployment:
provider: netlify
before_actions:
- npm run build
after_actions:
- echo "Deployment complete ✨"
netlify:
api_token: your_token_here
project_id: your_project_id
If a before_action fails, deployment is cancelled.
SFTP
Beam Up supports SFTP like the good ol’ days. Requires additional gems:
gem install net-ssh net-sftp
Configuration:
provider: sftp
sftp:
host: your-server.com
username: deploy_user
remote_path: /var/www/html
# Use either password OR key:
password: your_password
# key: ~/.ssh/id_rsa