-
Notifications
You must be signed in to change notification settings - Fork 4
Self‐Hosting: B. Cloud Buddy
To self-host Buddy in the cloud, you will:
- ✅ Create a Slack app through the Slack website (this creates the access tokens so you can talk to Slack).
- 📌 Run a server at a cloud provider.
- Update Slack connection info.
- Use the bot through your regular Slack desktop! 💃
If you get stuck, check out your 💡 support resources.
You will need to create an account with cc details💳, though this should run on the free tier. You will then need to install the flyctl tool and flyctl auth login so it gets connected.
- Copy
fly.template.tomltofly.toml. -
Choose a name for your app.
https://< your app name>.fly.devis where it will be hosted, and labeled in the Fly dashboard. - 🥂 Run
flyctl launch --name < your app name> --no-deployto get the app initialized with Fly.io. It will write an updated config to thefly.tomlfile, so don't be alarmed when it does. - If you want your data to persist between deployments:
-
Create a volume for your instance. I set this to 1 GB, but you get up to 3 GB on the free tier. I also picked
ordsince I'm in the US, but pick any region near you.flyctl -a <your app name > volumes create workflowbuddy_vol --size 1 -r ord -
(Optional) Ensure
fly.tomlhas the mount added (Optional since this has already been implemented in the template. Remove it if you don't want persistence.):[mounts] source="workflowbuddy_vol" destination="/usr/app/data/" -
(Optional) update
fly.tomlconfig settings.
-
- Add secrets from
.env(documented inSlack App Setup) to the Fly environnment usingflyctl secrets.- run:
flyctl secrets -a <your app name > set <name>='<secret>' <name2>='<secret2>'....
- run:
- 🚀 Finally, get a running app with
flyctl deploy -a < your app name >!- If you run into issues with remote builders, you can always do it on Docker locally with
flyctl deploy --local-only.
- If you run into issues with remote builders, you can always do it on Docker locally with
Currently the recommended best practice for updating Workflow Buddy:
-
(Optional) Backup the DB.
- Run
flyctl ssh sftp shell -a < your app name >, then> get /usr/app/data/workflow_buddy.db. - Automated backups are on the roadmap.
- Run
- (if necessary) manually create any volumes that hadn't existed before. See notes above^.
-
cdto your cloned WB repo. Rungit fetch --all --tagsso you're local knows about all versions that have been tagged, then change to a specific version withgit checkout tags/v0.0.x -b v0.0.x-branch.⚠️ If you were using Workflow Buddy prior to v1.0.0, your Event Configuration settings (what you created from the App Home) are stored in the old storage schema and will NOT be automatically imported. Recommended approach to upgrade is to make sure toExportthose settings before you change versions of Workflow Buddy, then manually create matching ones once you have the new version running. Most users will only have 1 or 2, if you have many that need to be migrated feel free to reach out to our support for assistance.- If there were changes to
slack_app_manifest.template.yml, you'll need to update your Slack app with the latest and greatest. - If there were changes to the secrets in Setup, you will need to add those like was done above in Cloud: Fly.io.
- If there were changes to
- Run
fly deploy -a < your app name >to put your changes in to the wild!
😱 Running into trouble?
📩 Our support is available via email at support@happybara.io.