1.2 KiB
1.2 KiB
Deployment (Kamal)
We deploy with Kamal. You do NOT need to manually set up web servers or Docker
on the VM. kamal setup provisions everything.
Requirements
Local machine
- Ruby + Bundler
- Docker (for building images)
- SSH key access to the VM
- Registry credentials (see
config/deploy.yml)
Remote VM
- Bare VM with SSH access
- Open ports: 22, 80, 443
- A domain name pointing at the VM (for SSL)
Configure
Update config/deploy.yml:
service: sanasto-wiki
image: your-registry/sanasto-wiki
servers:
web:
- your-server-ip
proxy:
ssl: true
host: sanasto.example.com
registry:
server: ghcr.io
username: your-github-username
ssh:
user: deploy
Set the registry password:
export KAMAL_REGISTRY_PASSWORD="your-token"
Make sure config/master.key is present locally.
First deploy
bundle exec kamal setup
Regular deploys
bundle exec kamal deploy
Useful commands
bundle exec kamal app logs --follow
bundle exec kamal app details
bundle exec kamal app exec --interactive --reuse "bin/rails console"
bundle exec kamal rollback
Initial app setup
Visit https://your-domain/setup once after the first deploy to create the
admin account.