update: /data seems to be properly mounting now (f2fs + encryption, assuming nothing went wrong)
just hoping it doesn't bootloop somewhere else now.
also, regenerating the caches on the initial boots are always pretty scary, as you cannot get a logcat, nor any visual indication that it's working other than the boot animation looping for what seems like forever
It's been almost 2-3 hours and I am still stuck on the LAST POSSIBLE STEP.
Because after each change, I have to re-run THE ENTIRE HALF HOUR BUILD.
The sad thing?
The last step is almost completely unrelated from the other steps, and in theory wouldn't take more than 5 seconds assuming everything goes well.
Oh, also I just tried upx, and it got the size down to 172K.
I also wanted to try compiling with musl instead of glibc, but I couldn't get it to work with xargo (sic)
Update: a "theoretically working" debugging version is 22M.
A release version (+ stripped) is 1.3M.
Using some tricks, I can get it down to just 980K.
If I disable some extra features, however: 368K
I imagine optionally replacing the config serialization lib might let me get even lower, though not entirely sure on that.
I managed to set everything up. The sad thing is that Drone always links to the backing Gitea server in their web UI, and I didn't see any way to remove those links, so if anyone other than me were to view the CI logs page (which is public on purpose) they get a missing avatar and source links that don't even have a valid domain. (outside my VPN)
This isn't that important of a problem, but still...
Honestly, After a lot of time searching in circles, I'll most likely just host a "hidden" Gitea server and manage Drone from there.
The other alternatives are either too heavy, or too complex.
Does anyone have any recommendations for self hosted #ci software that DOESN'T require special integration with Git repos?
I want something like Drone, but without the requirement of having to either host Gitea, or use one of the hosts they choose.
% du -sh target/debug/generator
% cargo clean
% rm Cargo.lock
... fixing some bugs ...
% cargo build
% du -sh target/debug/generator
... I actually expected all that scripting support code to be more than just half the size...
I just scrapped all the internal Lua interpeter glue code inside my site generator, and will now just make it run external executables instead.
- Do one thing, do it well
- Language choice
- Less complexity for me
- You now need more than the single binary to do anything reasonable
- I should probably stop calling it a site generator. It doesn't have any concept of HTML anymore.
- I'll probably have a companion binary for the basic tasks expected from a site generator.
(Un)fortunately, I couldn't implement the fully Regex replace Markdown parser, as nested lists of all things turned out to be a huge roadblock.
Instead, it ships with a Rust Markdown parser, but it's still optional for the end user.
Woo-hoo! I finally managed to finish a prototype of my static site generator!
I am still not entirely sure how it works with multiple pages, and there are missing features left to be done, but it converts its own README, so I'm happy with that.
Tomorrow, I'm planning to get a "demo" of sorts (probably its own documentation) working, and maybe work on how some planned optimizations might work. After all that, it should be usable, if buggy and weak in some areas.
I just set up unbound w/ custom internal domains, and an internal CA for SSL. All good, right?
Well, I have absolutely no use for any of that. Maybe one or two services, but that's about it.
Honestly, that might've been a little overkill for self-hosting a single tiny service. (Unless I want to MITM myself for some dumb reason, then I have the perfect framework up and running!)
What would be the best way to expose a local (home net) directory to the internet safely?
I could always just forward a port and run an HTTP open directory or something, but that feels insecure.
My end goal is to just host some binary artifacts, screenshots or other small static files from an unused drive I have laying around.
I might have to just pay for a server and put something like a cache in between anyway since my upload speeds are crap, but just looking for options.