tumu
v2.0.1
Published
1. Create a DigitalOcean droplet or a ubuntu vm with a public IP address 2. Install Caddy2, node.js, npm, git (nodejs > 10) 3. Generate a new ssh key for the server 4. Copy the public ssh key to your dev environment (for encrypting configuration) 5. Copy
Downloads
30
Readme
Tumu
- Create a DigitalOcean droplet or a ubuntu vm with a public IP address
- Install Caddy2, node.js, npm, git (nodejs > 10)
- Generate a new ssh key for the server
- Copy the public ssh key to your dev environment (for encrypting configuration)
- Copy the public ssh key to GitHub for access
- Install a firewall and only open 22, 80, 443
- Deploy an encrypted specification to GitHub gist
- Copy the gist's raw url and add it to an .env file on the server
- Install tumu (npm i -g tumu)
- Install tumu as a service (systemctl)
- Run tumu
- Install GitHub webhooks
Notes
- The instructions contained in the encrypted specification explain which apps to start
- Only someone with the server's public ssh key can encrypt the specification.
- Only someone who can edit that gist can change the specification.
Todo
- Seacreature logs
- Update strategies: rolling, recreate
- Upgrade whole app
- Run using npx? https://caddyserver.com/docs/install https://getpino.io/#/ vs https://github.com/rvagg/bole ndjson logs / events pull vs push https://github.com/lrlna/pino-colada