Community
Chat Logs
Thursday, February 26, 2026
- bluehi phaleth
- phalethhi blue
- bluedreamreal: can we give phaleth access to the bytenews/nevet repo? I can't make it run on linux with docker, and porting it to nspawn has already cost me 2 hours of nothing... he's the nspawn expert here
- blueplus, if he gets it done, it'll be RP-ready
- blueI'm REALLY not good at devops
- phalethyou wanna deploy nevet onto the VPS?
- blueI wanna deploy it locally on nspawn, so I can test the primate component I'm writing for it
- bluebut yes, eventually, if dreamreal is fine with that, I'll have it run on RP
- blueI already have it building on buildkit in <90s, which isn't bad, but I just can't figure out networking
- bluehe's using docker compose, which is bad voodoo magic, but works for him on mac. it doesn't work for me on linux
- blueit uses a postgresql container, it's not a really complex setup but I can't make it work
- phalethdocker compose is cool, yeah
- phalethand did you already look at any of the postgres setup that I've documented?
- bluenot yet
- phalethI hope bytenews/nevet is not hosted on github btw
- blueit is, unfortunately
- phalethoh
- blueI'm currently messing around in the endless blackhole that is systemd-networkd and systemd-resolved
- phalethlately, I've been having trouble logging into github
- blueis there anything poettering didn't write a daemon for?
- bluesystemd-make-me-my-coffeed
- dreamrealphaleth: github user account? The only request that I have is that you don't merge anything to main
- blueI'm stuck at "java.net.UnknownHostException: nevet-db
- phalethsystemd-poke-me-in-the-eyed is still prolly not a thing
- dreamrealPR all you want, the ops side is NOT my skill area
- phalethdreamreal: and you want me to do any change to that nevet repo?
- dreamrealphaleth: Well, here's the thing: I'm good at certain things, yeah? I fake everything else. The ops side is one of those faked things.
- dreamrealI have it deployed on MY server successfully, but the UI is still MIA, because, well, ops.
- phalethnah, but if you use docker compose that means you've everything perfectly documented
- dreamrealSo if you look at it and go "oh, man, this is dumb from an ops perspective" or "this is incorrect" or "here's better" I'm happy to look at PRs, I just don't want changes applied without KNOWING about them
- dreamrealI have everything WORKING here
- dreamrealbut I'd like to unblock blue
- dreamrealand I don't know how to describe what he's doing wrong, since it works for me
- phalethI'm not gonna try to change anything about the repo itself
- dreamrealWell, I mean, you see what I said about it :D
- phalethbut let me have one question, why is it on github when it's private?
- dreamrealbecause eventually I want it to not be
- phalethoh, ok, makes sense
- dreamrealas soon as I have a fully-working deployment, I'm copying it over to a different repo, one that isn't private, and saying "have at it"
- dreamrealso: pm me the github user name?
- blueit's the same user
- phalethwhatever, I guess download the repo as zip and upload it to VPS to /home/phaleth and that's all that's needed, sounds like a horror right?
- dreamrealphaleth: should work :D
- blue100%
- bluethe only thing that drives me nuts is the network situation, like I don't get it at all
- blueI thought networkd should solve that, but no
- bluepoettering and his daemons
- dreamreal"phaleth?"
- * dreamreal is tryna confirm before guessing in any way
- dreamrealmy finger's hovering over the button
- phalethwell, just let blue download it, I won't be able to log into github anyway
- phalethbut yeah, I'm phaleth on github
- phalethas much as you think my profile looks weird
- blueit's this guy https://github.com/phaleth
- nevetphaleth - Overview
- bluey'know, the guy who has the primate repo pinned on his profile
- dreamrealphaleth: you still on discord?
- phalethblue: I don't see why would you need to do anything with systemd-networkd other than restart it after you change a couple of configs for the bridge, but I've already documented that
- bluemhm
- dreamrealphaleth: I just sent it to you there
- phalethdreamreal: you can pm me on discord if you want, yeah
- bluemaybe I need to stop being lazy and not try to get it down in one script
- bluedone*
- bluebut this --network-zone flag is kinda cool, I gotta admit it
- nevetbut this now has karma of -1.
- dreamrealheh
- dreamrealkarma has so many freaking exceptions
- dreamrealthat plugin is a nightmare
- blueindeed
- phalethdreamreal: ok
- blueif you can just help me get it set up phaleth, I'd be so happy. I feel like a total idiot
- dreamrealIt has the ability to ignore manual emdashes (I just don't have that on anywhere) but detecting "program arguments" is another area of problems... and sometimes people DO want to mention "C with objects"
- blueI just want to test my primate frontend against it, it can't be that hard
- blueor well, my primate app
- dreamrealphaleth: and if you see what makes it difficult for blue, I want to fix that, because I don't see the holes
- bluehopefully all this nonsense will soon go away. I started working on @rcompat/container, so I can programmatically create and start containers
- blueI need it for primate itself, for testing the postgresql module, but we also need it for RP
- blueI've been running postgresql all this directly on the host which is legit insane
- blueall this time*
- blueI want to throw it away
- blueI'm still on the old computer, but I'm not willing to repeat the same mistakes on the new one
- phalethblue: ok, but if you at least tried to deploy it to the VPS I could take a look and see what's wrong there, also just forget about --network-zone
- nevetblue: ok, but if you at least tried to deploy it to the VPS I could take a look and see what's wrong there, also just forget about now has karma of -1.
- dreamrealblue: nevet in production is using postgres in a docker container
- phalethheh
- bluehm
- bluedreamreal: you fine with me uploading a copy of the nevet repo to the RP gitea?
- bluethat way I don't even need to run it on my computer, I can CI it on RP
- blue(RP gitea is private, only phaleth and I have access to it)
- dreamrealsure.
- phalethI didn't have a chance to try the CI on our gitea, but I think it should just work
- phalethwould be curious if it does/doesn't
- blueya
- dreamrealblue: I'm going to revisit the karma plugin to see if I can fix some of that
- dreamrealsome of the issues are unavoidable, period, if karma's in play, but we should be able to apply some intelligence to cut down on the false positives
- phalethdreamreal: the deployment looks very straightforward, even package-lock.json is included, so the build of the frontend should just work
- bluephaleth: https://gitea.repopack.app/jottinger/bytecode.news
- bluebrb
- phalethblue: cool, well, I thought making a zip copy would be a horror, which is what I have now, but two repos of the same project, hmm
- bluephaleth: the ideal is a git checkout inside the container...
- bluebut I don't know if you care about setting that up, wouldn't work right now with the way gitea is set up
- bluecan you deploy the frontend on nevet.repopack.app ?
- bluehe's got an experimental frontend
- blueI think you noticed that
- phalethwell the repo is private on both github and gitea so just need to get PAT (token)
- phalethnextjs being experimental?
- blueno, the nextjs one is just another one
- bluethere's a reference one at.. let me see
- dreamrealphaleth: the idea is that eventually we'll have a whole suite of front ends: nextjs, primate, xhtml, jsf, thymeleaf, etc
- dreamrealall with different "base hostnames" so if you wanted to use a nextjs frontend you'd hit nextjs.bytecode.news, and if you wanted to COMPARE that to primate, you could SIMILARLY go to primate.bytecode.news and see the differences
- dreamrealthe backend server is intended to be the same in all cases
- blueoh, he hasn't merged it yet
- blueit's pr'd though
- dreamrealand then there's a "bytecode.news" and "www.bytecode.news" domain that resolves to whatever frontend is the best of breed
- bluehttps://github.com/jottinger/bytecode.news/pull/110
- blueI can't get you the PR branch to gitea, if you want
- blueI can*
- dreamrealblue: nobody's even commented on it yet that I've seen!
- phalethI can deploy the nextjs frontend, that's fine
- dreamrealI have LITTLE confidence in a UI, so any UI I put together is put together with spit, nerves, fear, trembling, etc
- dreamrealphaleth: note that the nextjs frontend was built on a prior version of the service-blog so it's not likely to be complete or right
- blueI'm not srue the nextjs frontend is up to date with the backend
- dreamrealI'm sure it's not
- dreamrealthe reference in 110 is the only one that is known-good with the OTP stuff
- bluephaleth, I can add the primate frontend, and then you can deploy that to nevet.repopack.app
- bluethat good? that's what I'll work with, anyway
- dreamrealand now that I think about it, I bet the OIDC stuff is mandatory, that's gonna be something that NEEDS to be handled
- dreamrealdamn it
- dreamrealblue: I'm swamped right now, the OIDC stuff HAS to be configured, it may be okay with faked token values
- bluewhat's OIDC?
- blueyou mean sign with google?
- dreamrealthe github/google login crap
- dreamrealyeah
- blueoh
- phalethok, then I will deploy postgres and the java backend first
- dreamrealphaleth: ^^^ note the .env.default
- blueyeah just do that. meanwhile I'll add the primate backend though I'll be mostly blindly coding until I can run the postgres/java backends
- dreamrealI don't think the reference hooks in the OIDC endpoints yet but the backend won't start without them being configured
- dreamrealblue: note that in 110 the openapi.json is generated *as an artifact of the build* - so packaging WILL update that file, the repo shoudl always be current as a result
- phalethblue: alright
- dreamrealI don't commit until a full backend test cycle passes, and that file is generated as an artifact of that process; it's sorted in processing so diffs don't show up unless the actual API changes
- phalethdreamreal: ok, looks like docker compose takes care of setting up a lot of those env vars
- bluemostly I just need the postgtes/java to run reliably on nspawn
- dreamrealI don't think there would be a problem providing invalid API keys for services like the LLM, weather, google, github
- dreamrealthey don't get verified on startup
- blueplease note some of this stuff is currently built outside of the container. namely `./mvnw app`. it should move inside nspawn, ideally
- bluephaleth: https://dpaste.com/GWFBVPGA3
- phalethoh, there's maven
- bluethis builds everything inside buildkit
- blueb/c obv we don't want to need mvn on the host system
- dreamrealyeah, mvnw will download the proper version of maven if you like
- dreamrealwould have used gradle but wanted the build to work
- bluedreamreal: the problem is the RP server has next to nothing on the host, except nspawn itself. so anything that is needed for building, needs to be inside the Containerfile
- dreamreal*nod* yeah, well, maven wrapper is there for a reason
- blueyeah, but we don't build anything directly on the host. it would be possible to run mvnw inside the container, but also the Containerfile I linked works in the same way without the wrapper
- blueit built locally in 90 seconds, should be faster on RP
- phaleththere is an ubuntu image for that java thing, so that should run without a problem on systemd-nspawn https://paste.debian.net/plainh/259f874c
- nevetStarvation. The same thing.
- phalethhuh
- phalethwell, actually, I should go eat something and sleep
- bluealright
- bluephaleth: nevet sums up urls.. in this case, I have no idea where it got that from, possibly an AI hallucination
- dreamrealThat is FASCINATING. I think debian.net needs to be added to the ignored urls for the urltitle thing - some sites respond differently based on source and client identifiers.
- phalethit saw podman, it proceeded to talk to a peasant
- dreamrealurl ignore add paste.debian.net
- nevetAdded paste.debian.net to ignored hosts.
- dreamrealurl ignore list
- nevetIgnored hosts include: pastebin.com, x.com, pastebin.org, paste.debian.net, dpaste.com, bpa.st, and twitter.com
- dreamrealLet's try it: https://paste.debian.net/plainh/259f874c
- dreamrealbeauty.
- bluedreamreal: one of the declared goals of RP is to redeploy fast enough that developres can save themselves the hassle of a local setup; you'll notice it as soon as you want to test google oauth: it is an absolute PITA to do it locally. You need weird shenaningans like ngrok
- bluehaving ubiquitously reachable DEV systems is a bliss
- bluewhether it's doable in acceptable times, is another questions. 90s is obviously too much
- bluequestion*
- dreamrealWell, I have a system that takes 17m to build...
- phalethat work I take care of java system that takes ~12min to build, but only when all that is not necessary is excluded from the build, dunno how long a full build would take, prolly well over half of an hour
- dreamrealours does a graalvm native compile, so it's pretty serious :D
- phaleththat one uses ant script leading to a ton of other ant scripts and also a whole bunch of groovy script, it's totally meh
- phalethgroovy scripts*
- dreamrealant + groovy, eh. Yeah, that sounds like a horror.
- dreamrealwhy not ant+jelly? :D
- bluewelp, Containerfile / Dockerfile are generally layered, so redeployments should ideally be lightning fast. next step: hooking up primate's hot-reloading to a subdomain (doable? probably)
- phalethnoone can be arsed changing anything about it even tho we get huge surprises on prod system lately after each deployment
- dreamrealphaleth: yeah. I get it - migrating an ant build can be 100% unfun
- bluemaybe `npx primate --proxy-via=localhost:some-port, though you'd still need a tool like ngrok :(
- nevetmaybe `npx primate now has karma of -1.
- blueweb app is such a total and absolute pain inthe butt
- blueweb dev*
- blueor maybe primate could bridge directly, hm
- bluethat would be sick
- phalethI'd understand ant, I'm that kinda person, but the groovy stuff is not to be touched
- bluephaleth, do you think we can build into primate the ability to reverse proxy incoming stuff? as in, someone hits my-primate-app.repopack.app, and that gets redirected to my local dev app?
- bluebecause that would be beautiful
- dreamrealblue: BTW, I'm workshopping karma improvements
- blueredirected is the wrong verb, tunnelled*
- bluedreamreal: that's AWESOME!
- phalethblue: sounds like a security problem, but if you have IPv6 it's prolly doable, just maybe too complicated
- bluewell yes it could be a security problem, but it's also te entire business model of ngrok
- bluengrok does exactly that. but if you want a stable subdomain, it costs money
- blueif you don't, you get random-1234.ngrok.app, and changing that EVERY time you test in google's oauth client, is a total pain
- blueI used to have to d owith socialcloud, that wan't nice
- blueto do it*
- phalethok, maybe we can think of that later
- bluedreamreal: with a bit of luck, he'll get it done this week and I'll be able to get moving
- dreamrealthat would be awesome
- dreamrealI figure he'll have a lot of nasty comments like "what maroon wrote this bit" etc and that'll be 100% deserved and hopefully give me a way to fix it :D
- blueit's likely: he's not the guy to hold back when he sees something he doesn't like
- bluewhich is exactly why I like working with him
- bluealso, I know jack about devops
- dreamrealRight there with you
- bluefyi, this gitea situation is temporary until RP can bootstrap itself, and host git repos. we just don't want to put company secrets on github
- bluebut gitea in itself won't be enough, it needs a bespoke implementation
- bluedreamreal: does mvn do incremental builds, or how does that work? what happens if you change one line in one module, do you need to recompile everything?
- dreamrealIt will do incremental builds, sure.
- dreamrealit'll build a DAG as required
- dreamrealyou can turn that off, but the default behavior is to compile only things that have changed
- blueI'm interested in that mostly for the sake of RP; I want to reach redeployment times of <10s
- dreamrealit's the tests that are the problem
- bluewouldn't it test just the component that changed?
- bluealso, my idea is mostly for dev: the 'did I break stuff' comes to me before the commit. in between, you could have many redeployments
- dreamrealno, it runs TESTS
- dreamreal"you want me to run tests? I'mma run your suite" and you can control what suite/tests run, but it's expecting to be thorough
- dreamrealfor nevet, the actual *full build* takes about 25 seconds; the actual build with tests takes around 2m
- dreamrealand both of thore are from clean builds; a "rebuild" is MUCH faster but the test suite still takes a while
- blueI get it, but the point of quick rebuilds is to get direct feedback, during development. Think about it less as of a deployment, but as if you were changing something in your code, running it locally. You don't want to waste 2m, or even 25 seconds, every time.
- dreamrealI know EXACTLY what you're talking about.
- dreamrealI'm pretty long in the tooth.
- dreamrealI'm just telling you the way it is.
- blueNow imagine you get that feedback on nevet.repopack.app; why? Because you want to change something about oauth or anything else that requires external interaction with your app -- which is historically a catastrophe if you run it locally, due to security, firewalling, inaccessibility.
- dreamrealAgain, totally aware.
- blueThis is a real painpoint I've been struggling with for years, and I'm not the only one, otherwise things like ngrok wouldn't exist
- blueIt's one of THE reasons I'm working on RP
- dreamreal*nod*