News for hackers. Stuff that matters.
Re:Deployment and infrastructure for a bootstrapped webapp w... by ed25519FUUU on Monday September 26, 2022 @04:22PM (#32987833)
I think we can safely put docker images (not k8s) in the "boring technology" category now. You don't need k8s or anything really. I like docker-compose because it restarts containers. Doesn't need to be fancy.
Re:Deployment and infrastructure for a bootstrapped webapp w... by stavros on Monday September 26, 2022 @05:09PM (#32988452)
I needed something that would restart containers automatically when I pushed to a branch, so I wrote a few lines of code to do it:

https://gitlab.com/stavros/harbormaster

As far as PaaSes go, it's probably the simplest, and works really well.

Re:Deployment and infrastructure for a bootstrapped webapp w... by justsomehnguy on Tuesday September 27, 2022 @06:00AM (#32993390)
> It also cleanly stores data for all apps in a single data/ directory, so you always have one directory that holds all the state, which you can easily back up and restore.

Ha! I'm store my data in /data for ages. The only difference is what at first I bothered with tinkering with datadir paths in configuration files, nowadays I just symlink /var/lib/whatsitsname to /data/whatsitsname. I'm lazy and boring.

Re:Deployment and infrastructure for a bootstrapped webapp w... by geek_at on Monday September 26, 2022 @05:28PM (#32988716)
Funny I did something similar but only much easier. A cron job that ran every 5 minutes doing a git pull on the production branch and since it was a PHP stack the new version was live instantly without needing rebuild or restart of any service

It's basically a oneliner in bash. KISS

Re:Deployment and infrastructure for a bootstrapped webapp w... by stavros on Monday September 26, 2022 @06:42PM (#32989563)
That's good when you only want updates, but I wanted to be able to launch new services on the server by just pushing a new YAML file to git. Harbormaster does it wonderfully, and it lets me see exactly what's running on the server and how with one look at the YAML.

I can also back everything up by just copying one directory, so that's great too.

Re:Deployment and infrastructure for a bootstrapped webapp w... by ed25519FUUU on Monday September 26, 2022 @06:10PM (#32989242)
This to me is boring and simple technology. Well done.
Re:Deployment and infrastructure for a bootstrapped webapp w... by stavros on Monday September 26, 2022 @06:42PM (#32989568)
Thank you! I really like it, it's been working great for a while now, with no hiccups.
Re:Deployment and infrastructure for a bootstrapped webapp w... by cutler on Monday September 26, 2022 @07:44PM (#32990081)
Disagree. The over-engineering rot starts with Docker. Solo devs do not need Docker. It's not a stability issue, it's an appropriateness issue.
Re:Deployment and infrastructure for a bootstrapped webapp w... by tqkxzugoaupvwqr on Monday September 26, 2022 @10:22PM (#32990974)
If you produce a static binary and can copy it to the server, sure, Docker might be overkill. But how do you reproduce an ensemble of services and their exact version in prod environment? Even just having a stable dev environment by using Docker images with fixed version for database and other auxiliary services is very valuable.
Re:Deployment and infrastructure for a bootstrapped webapp w... by RaitoBezarius on Tuesday September 27, 2022 @05:56AM (#32993373)
You can use something like Nix or Guix for example.

Bonus: it produces OCI images also.

Re:Deployment and infrastructure for a bootstrapped webapp w... by elevader on Tuesday September 27, 2022 @09:36AM (#32995040)
While this is definitely a valid option I'm not sure that introducing Nix/Guix simplifies the stack compared to using Docker. Depends on the setup and experience, I guess.
Re:Deployment and infrastructure for a bootstrapped webapp w... by zmgsabst on Monday September 26, 2022 @07:55PM (#32990168)
I love Docker as a solo dev:

- builds and dependency management, all in one

- works “the same” on my laptop and server

- there’s an easy way to reset services when they break

Re:Deployment and infrastructure for a bootstrapped webapp w... by cutler on Monday September 26, 2022 @11:29PM (#32991280)
How do you `docker push` from your laptop to the server with consumer broadband? I've heard docker times out after about 50-75%. Great fun.
Re:Deployment and infrastructure for a bootstrapped webapp w... by elevader on Tuesday September 27, 2022 @09:39AM (#32995070)
This might be a "person in a country with pretty fast internet connection" opinion but I don't think I ever had that issue. Might also depend on the container size, pushing > 1GB containers might be more error prone than pushing small(ish) containers.
Re:Deployment and infrastructure for a bootstrapped webapp w... by xnyanta on Tuesday September 27, 2022 @01:31AM (#32991814)
Sounds like you need a better internet connection.
Re:Deployment and infrastructure for a bootstrapped webapp w... by eezing on Tuesday September 27, 2022 @10:54AM (#32996070)
Why use Docker on a managed container service when you can just pay more to manage your own VMs, VPC, reverse proxy and blue/green deployment infrastructure?
Re:Deployment and infrastructure for a bootstrapped webapp w... by mistrial9 on Monday September 26, 2022 @09:32PM (#32990732)
agree at a gut level, but look how productive people are .. ps- checkout podman
Re:Deployment and infrastructure for a bootstrapped webapp w... by spyremeown on Monday September 26, 2022 @04:42PM (#32988087)
Agreed.

Containers... just work? Actually, Docker just works. It is rock solid and I'm very delighted I learnt so much of it.

The only thing I'm missing about Docker is a bigger focus on on-the-fly image editing. Like, I love to have these container development environments. I'd love to give some command inside the container and make it magically appear on the Dockerfile if it was successfully executed, so I don't have to manually copy things over when I want to have reproducibility for later.

Re:Deployment and infrastructure for a bootstrapped webapp w... by zegl on Monday September 26, 2022 @05:09PM (#32988450)
Docker is incredibly stable, and since it turns 10 years next year, OP will finally be able to migrate away from having a build step on production servers! ;-)
Re:Deployment and infrastructure for a bootstrapped webapp w... by yakshaving_jgt on Monday September 26, 2022 @05:22PM (#32988621)
> I like docker-compose because it restarts containers.

Still sounds like over-engineering to me. It's trivial to make systemd supervise a service and automatically restart it on failure.

Re:Deployment and infrastructure for a bootstrapped webapp w... by ed25519FUUU on Monday September 26, 2022 @06:12PM (#32989268)
Honestly they're both easy technologies to learn and master.
Re:Deployment and infrastructure for a bootstrapped webapp w... by BlargMcLarg on Monday September 26, 2022 @04:26PM (#32987894)
Can say the same for ci/cd. Author talks about integration tests, setting a barebones "build this and deploy it" pipeline is far more trivial and skips having to do it manually every time.
Re:Deployment and infrastructure for a bootstrapped webapp w... by ed25519FUUU on Monday September 26, 2022 @04:27PM (#32987907)
It's interesting that some engineers look at docker and ci/cd and say "that's too complicated" and others look at a system without it and say "it needs to be simplified"
Re:Deployment and infrastructure for a bootstrapped webapp w... by BlargMcLarg on Monday September 26, 2022 @04:36PM (#32988010)
Inexperience or difference in experiences. I wouldn't necessarily advocate containers as my experience has been mostly "this takes far longer than the gain" (given the OP's scenario).

Meanwhile, my experience is a minimal CICD pipeline takes half an hour once you know manual deployment, and I lose far more having to SSH and run scripts myself than telling a machine to do it for me (not just time but mental satisfaction too).

Though I wouldn't call either fancy in this year. Only past that stage, where the benefits drop sharply for individuals.

Re:Deployment and infrastructure for a bootstrapped webapp w... by intrepidsoldier on Monday September 26, 2022 @04:41PM (#32988076)
Containers are more than just Kubernetes
Re:Deployment and infrastructure for a bootstrapped webapp w... by RaitoBezarius on Tuesday September 27, 2022 @05:54AM (#32993365)
I definitely not believe that Docker images are boring, they are full of constant issues and stuff you have to keep track on the top of the fact they are not composable in many ways.

Rootfs is the boring technology, their semantics is clear and most kernels have support for them.

Better: use systemd which has became truly boring and restarts your services automatically and if you don't like systems, plenty of alternatives such as s6 do exist.

Re:Deployment and infrastructure for a bootstrapped webapp w... by xani_ on Monday September 26, 2022 @05:18PM (#32988569)
For few of the small API-mostly apps I am particular to just embedding the statics into binary and have one blob to run and deploy, go:embed making it particularly easy.

Container with it is just a few files in etc and binary blob itself. Same with container-less deployment.