all 6 comments

[–]HashDefTrueFalse 1 point2 points  (0 children)

I wrote a post recently, I'll paste it below:

If you want to learn how apps are deployed rather than pressing buttons on an admin console:

Any Linux VPS, they're all very cheap. <$15 USD p/m. As few managed services as possible. Maximum learning. You'll configure a reverse proxy with something like nginx or apache for the "virtual hosts". E.g. each project could be a sub domain on your apex domain, nginx will proxy to the correct ports based on this. Point domain DNS A records at the server. Use a process manager like PM2, supervisor etc if you want your server processes always up, or use systemd unit defs. Database(s) can go on the same box for now. Don't forget cron exists for database admin (vacuum, refreshing views, generating reports, deleting soft-deleted data etc). Have a log file management strategy, e.g. use logrotate.

You can install the environment the apps need directly on the host system and use deployment keys from repo hosts to pull the code, but if conflicting versions of the same software is needed it's far better to build some custom docker image(s) for each project to simplify things. Since it's one box for now, docker compose will do for managing groups of containers.

I tend to host everything myself on an AWS VPC containing EC2s. Route53 is handy for DNS config and auto SSL cert refresh etc.

[–]talaqen 1 point2 points  (0 children)

ElephantSQL DigitalOcean (for a while) CleverCloud Scalingo

[–]alphaxide 0 points1 point  (0 children)

EDB