no brainer dotfiles for homelabs
Useful commands, tools and first-time setup for homelab containers
This is developed for debian/ubuntu distros
Tested in Proxmox VE
wget -qO- https://raw.githubusercontent.com/Nerve-box/dotfiles/refs/heads/release/src/bin/nb_update | bash
Then refresh your terminal or source ~/.bashrc to perform initial setup.
Choosing a profile ($NB_PROFILE) which applies configurations and installs software
-
[M]inimal
hidepid: Enforces hidepid on non-root usersulimit: Bumps ulimit to65536unprivileged: Creates an unprivileged usernb_{HOSTNAME}
-
[N]ode
<Everything included in Minimal>git: Installs gitnode: Installs NVM + Node + npm (latest LTS), adds a.npmrcconfig with good security defaultsssh-agent: Sets up an ssh key for{USER}@{HOSTNAME}.arpaand adds it to the ssh-agent*
-
[B]un
<Everything included in Minimal>git: Installs gitbun: Installs Bun (latest LTS), adds abunfig.tomlconfig with good security defaultsssh-agent: Sets up an ssh key for{USER}@{HOSTNAME}.arpaand adds it to the ssh-agent*
-
[G]eneral
<Everything included in Minimal>git: Installs gitbuild-essential(make, g++, gcc, dpkg-dev libc6-dev)ssh-agent: Sets up an ssh key for{USER}@{HOSTNAME}.arpaand adds it to the ssh-agent*
-
[Z]ero
- (Nothing)
Security notes:
- Always prefer readonly Deploy keys assigned to a specific project, rather than root User SSH keys.
nb_autoscalesystemd units use the unprivileged user created by nb scripts. You should always install apps inside "/home/nb_$HOSTNAME"
nb_autoscale- Interactive script that creates a set of systemd services to wrap a command that binds to a socket. It spawns up when traffic arrives, shuts down if there's no activity and offers reverse proxying (all within systemd, no 3rd party tools)
nb_autoscale_revert- Interactive script that removes all autoscale systemd services for a command.
nb_update- Installs or updates the local nb scripts
nb_uninstall- Uninstalls the local nb scripts
NB_DIR: NB script directoryNB_PROFILE: Currently loaded profileNB_VERSION: Current NB scripts versionNB_USER: Unprivileged user created by NB scripts
Apache 2.0 - 2026 - Frederic Charette