Commit graph

182 commits

Author SHA1 Message Date
352ed1a433 Disable signup for new users in label studio
I'll manually create all the users myself
2025-10-03 15:01:36 +00:00
e569fcd7d4 Switch to custom built label-studio
I have a bug fix in to them for audio streaming
2025-10-03 15:01:36 +00:00
938b1863f4 Fix missing redirect for console login
Without this we get redirected to "/console" which doesn't load the UI
for some reason.
2025-10-03 15:01:36 +00:00
54b79f1437 Switch reverse proxy to also handle s3 API
Without this we only get the console but can't actually access the
S3-compatible portion of the API
2025-10-03 15:01:36 +00:00
0632df5a30 Add proper Authentik scopes to minio OIDC config
See https://integrations.goauthentik.io/infrastructure/minio/ for
details that I was following
2025-10-03 15:01:36 +00:00
dad759c4b3 Add minio module for S3-compatible object storage
Label Studio _really_ prefers using a direct object storage model. Can't
say I blame them, it makes sense given they are running Python.

I had to bump Authentik to not use its default port so that minio could
use its own default port. That seemed safest given that Authentik is
always proxied but minio/S3 may _not_ be. I'm just not sure.
2025-10-03 15:01:36 +00:00
dbbed7117a Set up reverse proxy, configure hostname
It was rather rediculously hard to get the CSRF settings correct. I
don't think I can register new users on anything but the commandline at
this point via:

podman exec -it podman-label-studio /bin/bash
label-studio start --username <username> --password <password>

Where <username> should actually be an email.
2025-10-03 15:01:36 +00:00
d246caa613 Connect label-studio to postgres 2025-10-03 15:01:36 +00:00
8790585e6b Add label-studio initial module
To make this work I have to map to the user 1001 inside the container.
I can't figure out how to do that intelligently after a bunch of
experimenting. Instead I'm just creating a new user "label-studio" with
uid 1001 and chowning the data directory to that user.

This is very brittle.

However, it's working, so I'm moving forward.
2025-10-03 15:01:36 +00:00
a30f3321b1 Stop copying the glitchtip directory inside itself
Over and over and over again
2025-10-03 15:01:36 +00:00
443af99364 Enable mosh on all servers
For times when I have to connect over cellular
2025-10-03 15:01:36 +00:00
e3cb729e42 Get fieldseeker-sync database backup working
The previous version only cleaned up previous backups because it was
missing a path or a set of dynamic files which is a feature for doing
cleanup. Instead I backported the unstable version so I could use
stdin-from-commend. Tested now and the upload completed.
2025-10-01 14:48:56 +00:00
a2c37bac70 Move glitchtip to big disk and clean up its temp files 2025-09-30 22:57:19 +00:00
fd032b72cb Stop waiting for completion on export on nixos-rebuild
I'm hoping this won't mess with the timer logic. For now, it drives me
nuts I'm waiting for timeout or completion of the export process, which
is slow.
2025-09-30 17:47:49 +00:00
5bd3003c4a Fix reference to webserver service 2025-09-30 17:47:32 +00:00
24ecd65cf0 Add backup for fieldseeker-sync files.
This required changing the directory of the user files so that I don't
accidentially backup Gleipnir test files.
2025-09-30 17:46:46 +00:00
a728e62a72 Add restic to all servers
Used for backups
2025-09-30 15:51:21 +00:00
1275e4d6aa Warning - generating hardware config ruins host 2025-09-29 22:48:47 +00:00
fc4a7519b0 Fix mismatched network interface device name 2025-09-29 22:48:47 +00:00
2670d00728 Rename nocix disks to be more descriptive
Since I need to replace sda/sdb, but I don't want to do it twice, miss
one, and have really confusing behavior
2025-09-29 22:48:47 +00:00
9020b3e6d5 Remove old commented-out authentik logic
This has been replaced with a separate authentik flake
2025-09-29 22:48:47 +00:00
bbc2bbb5e1 Break networking out to its own file.
This makes it easier to figure out what needs review and changing
Also switch to the latest detected hardware state.
2025-09-29 22:48:47 +00:00
122554c4aa Correctly pass in the timecard-bot parameter to all systems 2025-09-29 21:15:01 +00:00
7acb0fd016 Switch timers for "startAt" in fieldseeker-sync services
I'm trying to troubleshoot why I always have time out on these services
when I run nixos-rebuild. Simplification is a plus as well.
2025-09-29 21:13:25 +00:00
b0e373932e Release latest fieldseeker-sync 2025-09-29 21:13:25 +00:00
f5ea2676ef Add fieldseeker-sync migrate service
Avoids one of my other services randomly failing because they are racing
to migrate the DB.
2025-09-29 21:13:25 +00:00
40517face6 Add timecard-bot deployment to corp
This currently has the architecture hard-coded. That's bad, but nix is
hard, and there's probably a much better way to integrate this into the
system when I can be bothered to do it.
2025-09-26 19:08:26 +00:00
f8e532f138 Add tmux window title information 2025-09-26 17:32:15 +00:00
dcc294e979 Add ghostty terminfo support to all servers 2025-09-26 17:27:46 +00:00
09ba3f4abe Fix up static website hosting on corp 2025-09-26 17:27:46 +00:00
35777dc9cb Enable vikunja search for SSO users when editing teams
See https://vikunja.io/docs/config-options/#1-service-enableopenidteamusersearch
2025-09-26 17:27:46 +00:00
83c4802ff1 Add audio post-processing pipeline to fieldseeker-sync 2025-09-11 19:12:19 +00:00
70dca56cf8 Connect vikunja to the local database rather than the remote one 2025-09-09 21:34:38 +00:00
bb4d7e95a8 Update librechat rag to use locally-built and local DB
I have to do the local build because I no longer have access to the one
at docker.io.
2025-09-09 21:34:09 +00:00
c535915ae0 Move cloudreve to the latest version, and the data to the big disk 2025-09-09 21:33:45 +00:00
2c101e6aaa Get cloudreve working on new corp with local database
This was a huge hassle. I really wanted to see it working under a
non-root user since it writes files, but that ended up being impossible
because of several bugs in podman's rootless integration with NixOS.
I've kept pieces of the logic around and commented out in case I can fix
it in the future as it would be more secure.

I also tried to connect to Postgres over the unix domain socket, but the
problem here is that the container is built to run as root and I'd need
to do some elaborate mapping of the root user inside the container, the
non-root user outside the container, and the Postgres auth scheme.

This would be great stuff to sort out, but I'm out of time now to work
on it.
2025-09-09 19:47:22 +00:00
b652029e73 Remove seafile
I like Cloudreve well enough, and didn't like Seafile much
2025-09-09 15:07:32 +00:00
57843f6b8a Get matrix-synapse up and running on new corp
I move the secrets file to be more consistent with the naming.
I removed parts of the postgres config that is no longer needed now that
the database is running locally.
2025-09-09 15:05:28 +00:00
e025d2dce3 Increase open file limits for building the system
Without this I was hitting issues when building the authentik flake
which apparently is quite large and complex.
2025-09-09 15:03:52 +00:00
e78d5aacf5 Add missing new corp hardware change
Missed from a previous commit
2025-09-09 15:03:43 +00:00
4d5de177b5 Get authentik working on the new corp server without podman
The podman integration was pretty janky because it relied on running a
pod and the NixOS integration with pods are essentially non-existent.
This led to issues with the port being improperly forwarded when
partially restarted.

Now instead I use a flake dedicated to running authentik. This allows me
to specify some of the config in the module directly and some in
secrets, which is really nice. I've additionally added some changes to
the listen address so that the service isn't exposed over public IP
addresses.
2025-09-09 15:03:43 +00:00
696273efb8 Remove old corp-specific secrets 2025-09-09 12:33:47 +00:00
3a76566ac6 Add corp dev key
This makes it so I can modify secrets files directly on the server I'm
bringing up.
2025-09-09 12:32:58 +00:00
edf96e2159 Add missing vikunja.yaml secret 2025-09-08 23:44:17 +00:00
52a1da0940 Update keys for matrix secrets
Not sure why this was not decryptable, but it is now.
2025-09-08 23:35:33 +00:00
9949dddaaa Update key for new corp server 2025-09-08 23:33:42 +00:00
29fd7815d8 Remove old nocix experimental configs, solidify new corp configuration
At this point the new Nocix server is working (I'm writing this commit
on that machine) so I can clean up the various experiments and commit to
the more generalized configuration as it stands
2025-09-08 21:24:28 +00:00
79c577cfff Attempt to make new corp hardware the definitive corp hardware
This is...a big change. If I run this on the old corp server it will
break a lot, LOT of stuff. So don't do that. This is also the first time
I'm attempting to use disko to fully define a server in a single step
rather than as a bootstrapping step.
2025-09-08 20:36:59 +00:00
803e1d4b4f Merge in working separate nocix config to main nixos-anywhere config
This involves renaming the disks because when I rebooted the VM the disk
names changed. I also made the root disk just 50G and put the rest in
/var, as well as formatting and mounting the big rust disk.
2025-09-08 19:44:59 +00:00
b6f43b8795 Try a different disk layout with LVM
This is based on a discussion here:
https://github.com/nix-community/disko/issues/889

Had to do it since the last one didn't even build and was based on a
cobbling of LLM (Claude) assistance, reading example files, and reading
the disko module definition file.
2025-09-08 17:19:50 +00:00