Skip Navigation

Posts
3
Comments
71
Joined
3 yr. ago

  • Hunt: Showdown (crytek de) might be somewhere up there too, though it's hard to discern if their dev team is just understaffed, they have no QA/testing or their management is just incompetent.Either way they currently have a decent bug hydra problem and fixes often come late and cause other problems.

  • Dunno if its applicable to your rust http client but in python's aiohttp you can set maximum active (tcp) connections per host for the connection pool.It does not ensure it won't ever go over the rate (especially if your requests are small) just does not let the program burst the server down. It's usually my first choice - dumb in the long run but quick and cheap.

  • Firefox often let's you bypass this shit with holding shift + right click or select the text you want to paste and drag and drop it into the field.

  • No, the commenter ommited a lot of information, it's not full Nitro, it's just the features that can be enabled/worked around client-side, see my comment under the parent one.

  • To clarify about the fake nitro plugin of Vencord/Vesktop:

    It's not Nitro, it just enables some features you get with nitro, mainly better streaming quality and being able to "send" emojis from any server (this is all it does, cant use any emoji reacts nor send bigger files or server boost).

    Also

    About the emojis, the custom/other server emojis are sent as image links which discord will render but it is not a native discord emoji and will format differently when used inline.It also does nothing for custom emoji reacts.

    About streaming, Discord uses webrtc, that usually means P2P streaming which in turn means that the streaming client can send whatever they want (as long as the receiving clients understand it) and discord servers can't say no. It's not server authoritative communication, discord without nitro just hides the UI options, vencord gives them back.

  • whats the rest then?

  • Quick google search it seems your only options for HA are Xiaomi scales with bluetooth paired to a mcu with esphome.

  • I would really recommend just trying it out too (when RL time allows), all of the low-level stuff is often well hidden or not required to deal with unless you need it, well most of it is and everything having mostly one solution is a nice refresh compared to the hells of scripted languages.

    A long time python dev.

    "Import-time" execution was a huge mistake.

  • Your use-case and situation seems very close to mine except I specifically do not host communities.

    First of all, you can run as many services from single nginx as you want (or can handle), usually you do this by having each service on it's own (sub)domain and routing it all to the same IP, nginx then proxies the requests to the corresponding service running locally on a given port (see nginx reverse proxy).

    I would definitely recommend docker images unless you have specific needs, afaik the ansible recipe installs and manages a docker compose project too (unless they also added official bare-bones ansible setup). Might be wrong here, I do docker and manage it myself, updating is usually a file edit and two commands away.

    About the VPS being enough - from my monitoring, every foreign subscribed community increases the load, with bigger/more active communities increasing it more.The main limiting resource for my setup is disk space, sometime ago I've calculated my database size is increasing about 1G per month with about 500 subscribed communities and that's only the postgresql database size without any media. The stats from my s3 provider (you can host images locally too), hint that I am gaining 1-5GBs of media per month.

    I don't have any metrics how much the amount of active users drains the server as my instance is intentionally small, but I can imagine that having 10-100-1000 active users at the same time would drastically increase the load of at least postgres as well as increase the bandwith.

    And about my setup for comparison, I am renting a dedicated server from Hetzner (AX41-NVMe) running a bunch of other services as well (minecraft server, factorio server, file sharing service, ...) and as of the last 30 days my monitoring reports the "average" load average (same for all 1/5/15m) being around 1 core (out of 12 core processor, 6*2 smt).Memory is sitting at about 50% month average out of 64G.Though, most of the services are really under-utilized (minecraft) or don't require much (factorio).

    Rule of thumb, if your users subscribe to a lot of outside communities expect at least increased disk space consumption, at worst also increased bandwidth and load.If any of your hosted communities get popular on the wider fediverse, definitely expect increased bandwith and load - more servers hitting your server with more data (upvotes, comments, edits...) means nginx, lemmy and postgres also need to process more.At baseline there will be a lot of a spiky but small chatter from other instances and the biggest resource drain will be postgres.

    I wouldn't personally go into this with anything less then 4 vCPUs, 32G of RAM and non-shared/virtual storage (disk latency kills postgres performance).

  • You might have more success with something like wireguard tunnel for escape hatch/reverse tunnel.I did the forever reverse ssh tunnel once and it wasn't really stable.

  • The canvas void has been cats all this time

  • afaik this is configured in pictrs service and each instance has it set differently

  • Absolutely valid move here, we started a mp server, three total players and while we didn't do any kind of rush, we all agreed most of us will need a lot more hours to actually get to play with everything properly.

  • This.

    venvpip-tools

    Specify your primary dependencies in pyproject.toml and use pip-compile to keep stuff locked in requirements.txt to exact versions (or even hashes).Though after working with cargo a bit, I would love to have all of this in a first-class program, hope uv can get there.

  • Unexpected Three Body Problem reference

  • Numbers from my instance, running for about a 1 year and with average ~2 MAU. According to some quick db queries there is currently 580 actively subscribed communities (it was probably a lot less before I used the subscribe bot to populate the All tab).

    SELECT pg_size_pretty( pg_database_size('lemmy') ): 17 GB

    Backblaze B2 (S3) reports average 22.5 GB stored. With everything capped to max 1 USD, I pay cents - no idea how backblaze does it but it's really super cheap, except for some specific transactions done on the bucket afaik, which pictrs does not seem to do.

    According to my zabbix monitoring, two months ago (I don't keep longer stats) the DB had only about 14G of data, so with this much communities I am getting about 1.5G per month (it's probably a bit more as I was recently prunning stuff from some dead instances).

    Prometheus says whole lemmy service (I use traefik) is getting within about 5 req/s (1m average) though if I go lower it does spike a lot, up to 12 requests within a second then nothing for few.

  • Attach it to the VM

    Is this possible only with the extra, bought storage boxes ? Or is this possible even with the free 100G backup boxes offered with each dedicated machine ? (Or is this just nfs mount?)

    We have a dedicated machine in a project from Hetzner with big raided hard disks but the latency is starting creep up on us, moving some of the data off to the faster ssd/san boxes would be rather helpful.

  • When is an int not 32bits nowadays

    C standard does not actually define the exact sizes of long/int and so on, it's just what is now most popular (it does have some limitations and requirements on these types though)