onecrayon / api.ashes.live

Backend API for a fan-developed deckbuilder and community website for the card game Ashes Reborn
ISC License
13 stars 3 forks source link

Design CI/CD deployment and remote hosting architecture #3

Closed onecrayon closed 3 years ago

onecrayon commented 4 years ago

I need server architecture designed with a related CI/CD flow, but I hate doing this stuff myself. Things I would love to have:

My goals for remote architecture are: low maintenance (I don't want to worry about setting up database backups, for instance; they just need to happen); ideally define infrastructure as code, since I'd rather not manage stuff through control panels; automated deployments (which means deploying latest code, automatically updating dependencies based on the Poetry lock file, and running any pending migrations); and ideally scalable infrastructure (things like Digital Ocean and Linode look very nice, since I can start very small and dial up the service as needed; Heroku similarly looks great, except their Postgres options are $$$).

onecrayon commented 3 years ago

Current plan:

Open questions:

onecrayon commented 3 years ago

Found my perfect solution! https://render.com supports everything I care about (standalone, managed database; arbitrarily scalable Docker nodes for the API; static site hosting for the Vue.js app; automated builds when pushing to the main GitHub branch).

Only thing I need now is a CI workflow for automated testing in GitHub PRs.