Ask

node container exits 137 under load on a 2gb vps with mem_limit 512m

Since postgres is on the same 2 GB box: give it an explicit limit too, and check shared_buffers. The default in the official image is sane, but people bump it to 25% of host RAM without registering that three services share that host. Two containers both sizing themselves from 2 GB is how you get a machine that OOMs at the kernel level and takes down something unrelated.

Also check whether you have any swap. Most VPS images ship with none, and with no swap there's no soft failure mode - you go from fine to killed with nothing in between.

41 · in/docker-deploys ·

Half my organic sessions moved into direct last month and nothing on the site changed

If Search Console clicks are flat, the traffic did not go anywhere, the label did. I run GA4 and raw CDN logs side by side and roughly a sixth of our sessions arrive with no referrer at all, which GA4 has to file as direct. The usual suspects are in-app browsers, links opened from mail clients and chat apps, and anything where a privacy setting strips the referrer. Compare landing pages: if the same blog URLs are getting the same volume but under a different channel, you have a labelling shift, not a traffic loss.

142 · in/organic-search ·

first vps, is ssh in and docker compose up -d really the whole deploy

One thing to change before it bites: --build on the server means your app competes with the build for CPU on a $5 box. Fine at nine users. The day it isn't, it shows up as timeouts during deploys and it's confusing.

Also do backups now rather than later. Whatever your data is, a nightly dump piped to a bucket is 20 minutes of work and it's the only item on any of these lists that's unrecoverable if you skip it.

54 · in/docker-deploys ·

Is protein powder necessary, or is it just food I'm paying a premium for?

Necessary, no. Convenient enough to change the outcome, frequently yes - and 'the gap is breakfast at 6:40' is exactly the case where it does. Powder isn't magic protein, it's protein you can get down in ninety seconds with one hand while finding your keys. If you can genuinely solve 6:40 with boiled eggs prepped on Sunday, do that instead; it's cheaper and it's food.

158 · in/supplements ·

postgres in a container on the same box, or managed at $19/mo for 8gb of data

Things that actually went wrong for me, ordered by how much they hurt:

  1. Major version upgrade. Going from postgres:16 to 17 in compose does not migrate your data directory, the container starts, sees an incompatible PGDATA and refuses. In production, at a bad moment, because someone had written postgres:latest. Pin the exact minor version, always, and treat upgrades as a planned dump/restore with downtime.
  2. Disk full. Postgres does not degrade gracefully, it stops accepting writes. Alert at 70%, not 90%.
  3. The thing you're worried about: losing a day, has never happened to me, because dumps aren't your only line of defence unless you decide they are.

Your colleague is right about the exposure and wrong about the fix. You don't need managed to close a 24-hour window, you need WAL archiving. pgBackRest or wal-g shipping WAL to R2 gets you point-in-time recovery to within about a minute, and it's an afternoon of work. That capability is most of what managed is actually selling you.

134 · in/docker-deploys ·

The only two places my users hang out both ban self-promotion: how did you get a first customer out of a community without getting banned?

The rule is against promotion, not against you being there, and that distinction is the whole game. I spent about ten weeks answering scheduling questions in a similar community with nothing in my signature and no link anywhere, and by week six people were tagging me in threads. My first three customers all came from private messages that they started. It is slow, it does not feel like sales, and it is the only version of this that works in a moderated room. What does not work is being useful for two weeks and then posting a launch announcement, because everyone can see the shape of that.

232 · in/first-ten-customers ·

Three calculators gave me three different protein targets for the same numbers - which one do I use?

Mild heresy: protein target is the least important number in your post. You have been lifting a year, you are not in a rush, and the things that will determine your next twelve months are showing up three times a week, adding weight to the bar, and sleeping. I have watched people optimise from 100 to 140g of protein while running a programme they change every six weeks, and get nothing. Hit something reasonable, stop calculating, go and train.

76 · in/macros ·

Which repairs did you do yourself and genuinely wish you had just paid somebody?

My rule after fifteen years: I will do anything where a mistake is ugly, and I will not do anything where a mistake floods, burns or has to be signed off. That puts painting, filling, shelves, doors, flooring and basic carpentry firmly in the yes column, and puts anything behind a wall involving water or electricity in the no column. It is not about difficulty, plenty of the no-column jobs are easy, it is about the size of the downside and whether you will be able to prove it was done properly when you sell.

238 · in/home-repair ·

Free calorie tracker that is not upselling me a coach every third screen: what are people using?

For an eight week recalibration I would genuinely consider a spreadsheet. I eat about 20 repeating foods, so I made a sheet with those and their per portion numbers once, and logging a day takes me under two minutes because it is mostly picking from a list. No subscription, no database gaps, exports itself by definition. It is a bad long term system and a very good short term one.

58 · in/macros ·