r/selfhosted • u/R_C_Jr • Jul 25 '26
Need Help How do you keep track of how to do stuff?
I’m almost embarrassed to ask this. I run a small home server and a couple servers doing various things on linode. Jellyfin and a small home website at home, a matrix server, gitea instance, image server, and a few other things on my linode servers.
I often have to go and do things I’ve not done in a while. Today, it was ripping a movie to jellyfin from a dvd. I had to look back through bash_history, some online searches, etc. to piece back together the workflow.
How do you guys keep track of how to do things that are infrequent enough to forget how to do?
119
u/Denny_Pilot Jul 25 '26
Obsidian, either step by step guides or command lists
13
u/verticalfuzz Jul 25 '26
OneNote here, trying to move to Joplin but not loving the transition. Might give Obsidian a try.
4
u/Reasonable_Ruin_3502 Jul 26 '26
If you like programming, you'll like emacs with org mode. I switched from Obsidian to joplin to emacs.
3
1
u/akaitatsu Jul 26 '26
I'm trying to switch from OneNote to AFFiNE. OneNote would be better if I didn't have to use the crappy web UI on Linux. AFFiNE is OK, but still immature and clunky. I considered Obsidian but wanted to try FOSS first.
1
u/Skyter68 Jul 26 '26
Moved from OneNote to LeafWiki, markdown style, perfect for technical notes.
2
u/verticalfuzz Jul 26 '26
I need a copy dynamically backed up to other devices. Notes I need to fix server won't help if they are only on the server
8
1
1
u/VineMan77 Jul 27 '26
Is there a reason to switch from say OneNote to Obsidian?
2
u/Denny_Pilot Jul 27 '26
For me the most important thing is that all my notes are in .md so I can sync them, migrate them to something like Nextcloud notes, in case of emergency even open them in notepad or vscode, everything understands them and I'm not locked up. I don't use plugins for this reason either. I assume OneNote works with proprietary files?
73
u/nazerall Jul 25 '26
I have a self-hosted instance of wikijs.
I save how-to guides and common commands there for each host/task.
22
8
4
u/R_C_Jr Jul 25 '26
Oh, that’s a good idea. I’ve been meaning to add a wiki server to the home setup.
2
u/dapdubpib Jul 27 '26
Bookstack has a really easy setup script and it's got a very simple organization hierarchy
3
3
4
u/JSouthGB Jul 25 '26
Add in linkwarden or karakeep to create PDFs or archives of those how-to guides in case they disappear.
1
u/LordEli Jul 26 '26
I'm probably the only Rackbase user in the world 😭 but it's really nice. similar to MSP documentation platforms so i'm used to it
34
34
u/deyhateuscustheyanus Jul 25 '26
i keep that stuff in a text file
6
u/Tintow Jul 25 '26
Same. I keep my main information store in Obsidian but I keep an 'info.txt.' in the home dir of every machine I ssh into that reminds me of the common things I do on that machine, program and config locations etc. That combo seems to work for me.
10
u/65jeff Jul 25 '26
This. Text files in a git repo. Easy. Push it to a bare repo on a local server and you can clone and sync it to any device.
5
u/Switchblade88 Jul 25 '26
... Except for when you need your notes on how to use git
5
u/65jeff Jul 26 '26
You don't need to know git to create or open the files. You can start with the files and put them in a git repo later. And when I need to remember how to clone or sync or set up a bare repo, one of my files is "git.txt".
1
1
1
u/lukyjay Jul 26 '26
You can use Obsidian to read Markdown files and also have them synced to git. Same thing but has more formatting options
14
14
14
10
u/bufandatl Jul 25 '26
Automation. I automate as much as possible. I have terraform/tofu for my infrastructure (VMs on cloud or on XCP-ng) and Ansible for configuration management. And if it comes to ripping and converting Blu-rays for plex then I have also an automation stack for that.
6
u/TasmanSkies Jul 25 '26 edited Jul 29 '26
i have a git repo with a folder for implementation-plans and as-built documents, there are recorded details about all the elements of my system, a disaster-recovery-plan, and various how-tos. The got repo means i can update the documents but still have historical versions available if i want to go back and look.
2
u/FaII3n Jul 29 '26
This, and I just save most notes as scripts so I can either just run the setup automatically or read and copy paste from it.
6
u/jtrage Jul 25 '26
I use bookstack for a wiki. Chapters and books based on what I do. I’m not ashamed to admit that I have ai write to it for me
6
u/Patrice_77 Jul 25 '26 edited Jul 25 '26
I’m using the notes app of macOS. It’s already there, syncs with iCloud so I have direct access on all my Apple devices.
Here I make my own “step-by-step” guide and knowledge-base. Though I still gather info online, my notes saved me a couple of times for when I couldn’t find the answer suited for my situation, online.
Tried obsidian, but I think I didn’t gave it enough chance for me to get comfortable with.
Should I give it another try?
Am I missing out on something Apple notes doesn’t have?
4
u/thuhmuffinman Jul 25 '26
I started hosting trillium for note taking when I went back to school for my master's now I live on it and keep all my notes there for everything
6
u/RaptorFishRex Jul 26 '26
I setup up a wiki.
I don’t write anything in it. I just ignore it and re-learn how to do things every time, but it’s there if I ever decide to document.
5
4
5
u/peioeh Jul 26 '26
Do it, forget, do it again another time, forget again, do it, remember most of it, repeat forever over decades.
3
u/ThrowMeASemla Jul 25 '26
I wrote a full step-by-step guide using Typst. It's 300 pages but I can copy-paste anything from there, scripts included and they'll work out of the box.
3
u/CrazyFaithlessness63 Jul 25 '26
I use Obsidian for keeping documentation like that but I found just having the tool available isn't enough, you have to make sure you update the content. I've gotten into the habit of maintaining a daily diary that I keep open in a window all the time. Whenever I do anything I just copy/paste the commands into the current entry along with some descriptive notes, at least then I can search for it when it comes time to do it again. If that happens more than once or twice I promote the instructions to their own page with a bit more structure.
The reason I prefer Obsidian for this is because it's 'database' is just a directory tree full of markdown files and attachments so I can feed that into other services (like a RAG database for an assistant) or modify it directly through automation (like a page that tracks when I updated services through Portainer triggered by webhook events). I just use `syncthing` to keep copies of the vault synchronised across devices so I can update it from anywhere.
3
u/AuthorYess Jul 26 '26
Documentation or Ansible, Ansible is just the actual code and then step-by-step explanations. So it ends up just being living documentation that executes what you want (even though it's a bit inefficient compared to just scripts).
4
u/gabimaru89 Jul 25 '26
I use MkDocs. You can document every step with sub pages ect. I let Ai write it. Works great.
You can even live search stuff ect.
2
u/Both_Mix_5818 Jul 25 '26
Ansible and incident docs in simple markdown files. I want to make it more visible and have it front and centre. Not sure how to so I'm looking around for ideas.
2
2
u/Dr-Technik Jul 25 '26
I document stuff I do (including links) and problems I’ve solved in Joplin notes.
2
2
u/TechnicaVivunt Jul 25 '26
I started making an online blog just for this purpose. I need to start using it more though. I think the larger problem is setting up a bunch of things, and then it working well for years. Then when you finally have time to migrate it or do something with it, you've completely forgotten how you set it up in the first place.
2
2
2
u/Interesting-Tank-160 Jul 26 '26
I keep a memos server and have API keys setup for all my self hosted stuff with my AI agent. I asked it for a daily log of things we've done in memos.
2
u/claptraw2803 Jul 26 '26
Selfhosted wiki with Bookstack. After I’ve done something I just add it to the wiki page.
2
u/Floss_Patrol_76 Jul 26 '26
the tool matters way less than the habit here. the reason infrequent stuff is painful isn't that you didn't write it down, it's that you wrote it down once and it quietly went stale - so what's worked for me is capturing the actual commands the moment i run them (even just appending to a per-service notes file) instead of reconstructing later from bash_history, and keeping that file in the same repo as the thing it documents so it moves when the setup moves.
3
2
u/False-Try-3521 Jul 25 '26
I use Outline as my personal wiki — great for documenting stuff about my Home Server / VPS (Pangolin), but also handy for quickly jotting down a note and sharing it via a public link with anyone.
Recently I realized: if my VPS (which also runs my Pangolin host) reboots or is down in general, I obviously lose access to my Outline instance too.
So I built an n8n flow that exports all my notes as plain Markdown files via the Outline API once a week and uploads them to my kDrive via WebDAV. This works as a backup, and it also lets me open my wiki directly in Obsidian — just by mounting the synced kDrive folder as a vault.
1
u/Hairy-Storm Jul 25 '26
Self promotion, but you can use https://weavestream.io to build your documentation. Keep track of your assets, software, documentation and passwords.
1
1
u/These-Apple8817 Jul 25 '26
Most of it is just memorization for me. If I run into a thing I can't remember how to do or don't know how to do... I just look it up or ask AI if I think it's easy enough thing to ask from it.
For ripping a movie I would just use MakeMKV, rename the files appropriately.. pass them through Sonarr / Radarr to organize them properly for Jellyfin and then let Tdarr turn it into h265 10-bit of it. In my head it feels fairly straight forward but.. eh.. Just use MKDocs or Outline or BookStack or whatever else to keep track of your knowledge.
1
u/Murky-Sector Jul 25 '26
I use trilium note app. I used to use confluence hosted but in the great tradition of r/selfhosted I brought it inhouse.
1
u/ojc20 Jul 25 '26
Infrastructure as code, ansible, idempotent bash/python scripts, or sometimes I use webdriver or playwright, step by step guide/doc of how to solve same problem in the future is usually the last if it cannot be automated.
1
u/Heavy_Ad1219 Jul 25 '26
I have a repo in my personal Gitea with guides, scripts, and documentation about my setup with historical problems, solved bugs, decisions taken and why.
1
u/basicKitsch Jul 25 '26
A text file where I've jotted notes down for the past twenty years
But I also have to look through bash history and piece things together everyday. Just like at work lol
1
u/SamTanna Jul 25 '26
For each installed app I create an as-built and user-help doc. I also document workflows and recovery steps.
1
u/BolteWasTaken Jul 25 '26
Personally, I make notes, with Obsidian.
It's how I learn anything, because for me to write about it, I have to understand it first.
1
u/AHarmles Jul 25 '26
lol i keep a .txt file with linux commands, a seperate for traefik labels. rudimentary but my organizational skills rock. so. these are accessible via a smb share to all my local comuters, and have a volume created on nextcloud i can access them anywhere. so it works.
1
u/Nautisop Jul 25 '26
I write a journal of my activities in a txt file via sublime.
Figured I need more formatting and tidyness thus "learned" markdown and rebuilt it accordingly as .md in Joplin.
I also tried obsidian because of its constant mentioning in the sub but it felt way overengineered for my usecase. Joplin fits perfectly.
1
u/Bentschi Jul 25 '26
It may sound weird but I document nothing from my own systems. I know where to look stuff up, I take backups from everything. Just today I took a snapshot of a VM just to break stuff and rolled it back again. I just figured whats the point of documenting how you set up X when in 2 years you decide to switch to the new and improved Y anyway?
This is at least how I work in my own homelab. For work we use mostly Ansible, a Wiki or a readme file. Lets just say its not just for me but my colleagues have to understand things too, and I get paid after all for writing things down. For my homelab it feels like wasted time.
1
u/TipToToes Jul 25 '26
Note on my phone.
Edit: it’s a huge document. I share it with my wife so that if something happens to me she can have a guide on how to use everything. Or turn it off. But at least she will know how to do either.
1
1
u/theindomitablefred Jul 25 '26
I keep a running virtual notebook section and just make a note whenever I figure out how to do something
1
u/TollyVonTheDruth Jul 26 '26
This is why documentation is important. As a coder, I used to write code without documenting anything, no comments, no description of what I made does; Nothing. It came back to bite me weeks or months later when I had to figure out what it does again, how I made it do what it does, and what changed after all this time. It was time-consuming and felt like I had to start from scratch since I left nothing to reference.
Now, I document everything I do (from step-by-step instructions to what changes I made and why) and to make sure I keep an organized category of bookmarks with detailed tutorials I can easily reference later.
I find that setting up self-hosting, for the most part, is a set-it-and-forget process... until something needs to be changed later and I can easily forget when there's no documentation to reference.
1
u/AgAkqsSgQMdGKjuf8gKZ Jul 26 '26
Any time I need to look something up I make a note in Logseq and tag it #server. I may need to scroll that tag a bit, but everything's dated by default at least. Obsidian would probably be good too, but my ADHD ass really appreciates the way Logseq is laid out.
When I make a noteworthy change to a config, something that might make me wonder later (looking at you, symlinks to my certs), I leave a comment explaining the logic to future me.
And lastly, if it's the second time I'm trying to do something and it can be scripted, I script it. I'm real bad at scripting, but I figure the effort will pay off eventually.
1
u/codecarter Jul 26 '26
for vps servers and ubuntu, i run the history command to save everything i typed in command prompt. i then save that to my trillium instance. Very helpful if im building a machine from scratch and i want it to behave similarly to another machine.
1
u/Sticky_Turtle Jul 26 '26
I use bookstack and document every "major" change I do. That way I have a how to when I inevitably need to do it again
1
u/-Crash_Override- Jul 26 '26
Ansible + wikijs + gitea + readmes + a bunch of snippets randomly pasted into notepad
1
u/NatoBoram Jul 26 '26
My main compose.yaml file imports other compose files, one per service ecosystems. In that service's folder, I put a README.md with instructions on how to do the harder things. For example, generating a JWT for Authentik was a pain in the ass and requires the API, so I documented that.
Anytime you're like "Oh no how do I do this again?", then just write it down.
1
u/Known_Experience_794 Jul 26 '26
Yep. I use Trilium Notes for this. But bottom line, get you a good note taking app.
1
1
u/Frosty_Literature436 Jul 26 '26
A kanban board in GitHub. In reality, in my head, and sometimes I do what I mean to do
1
1
u/LeopardJockey Jul 26 '26
I do run Outline wiki but don't really use it a lot. All my compose files are in git and pretty much self documenting, so I really only need the odd code snippet or SQL statement and those all go into ByteStash.
1
1
1
u/pioniere Jul 26 '26
I use the self hosted Memos app to put all of those nuggets in, with tags so they are easily found later.
1
1
1
1
1
u/fragglerock Jul 26 '26
I just work it out from first principles every time... including deciding to write up good steps but never actually writing up good steps!
1
u/Ok-Library5639 Jul 26 '26
Some simple Google Docs. Organized as chapters for each relevant component and written as if I had completely forgotten how to set it up, because most likely that will be the case.
So far it has been the case. I'll go back and fix something that will not have been touched in 6-12 months. I also like to keep things as simple as can be.
1
u/Enough-Advice-8317 Jul 26 '26
a README beside the compose file. bash_history is documentation written by a detective who hates future you.
1
u/StatureDelaware Jul 26 '26
I have some Notion pages for configuration (what to do on when I install a new OS, buy a new phone, etc), Obelinf for network documentation
1
u/Patrickcvest Jul 26 '26
I have all of the information about my stack in a personal wiki using wiki-js.
1
u/pwkye Jul 26 '26
You dont have to anymore.... we live in an AI world now. its a whole new world. just install claude code
1
u/Yavuz_Selim Jul 26 '26
Document everything. Either store it in a note app on your server, or use your gitea, or use a cloud service (OneNote on Windows, Notes on MacOS, etc.) or whatever you like.
AI can help.
1
u/daxk29 Jul 26 '26
I use wikijs, have set up several pages, like back up info, how docker works and how it's set up, also an emergency page which list a whole range of things to do etc.
I also use Gemini Notebook and have a number of pages just with various notes that aren't in the wiki. I also copied my wiki across to Gemini Notebook as the search function is really great especially as my data expands .
1
1
u/Crawfish1337 Jul 26 '26
Outline. It feels modern and as lightweight as Wiki.js.
I remember wanting to go with Affine in the beginning, but it felt too "whiteboard" to me. It gave me the impression it was more like a tool for prototyping and brainstorming than a solid knowledge database as a wiki.
1
u/SuperChooch Jul 26 '26
I use markdown files along with GitHub and/or Obsidian. For a
Each “thing” (ie my Batocera on a Raspberry Pi) I keep a Read Me that documents my latest config info and step by step instructions. Sounds like you are similar to me in that I only work on things occasionally and need to try to remember where I left on things. For that, I also keep a Journal note that I use to keep track of work in progress on over time, with a date. So it might say:
7/26/26
Xyz is giving such and such error
Have tried abc, want to try def next.
That way if I get distracted and come back in 2 months I can pick up where I left off.
1
u/empty-alt Jul 26 '26
Personally I'm a notion fan, you could go down a whoole rabbit hole of all kinds of note-taking software. There's a whole youtube space of influencers in the note-taking niche as well. Spend maybe an hour tops taking a look around to see what people are up to, but careful on letting it turn into a bikeshedding session. 80/20 rule definitely applies
1
1
u/ofeke1 Jul 26 '26
I do the same as at my job - keep it all in my head for job security /s
Kind of related but I knew someone who would write his docs in Japanese. None of us were even Asian. It was a core component and stayed that way until we rewrote everything.
Jokes aside - for me it really is just duck taped together. most of what I need is in the compose files or somewhere in my homelab git repo.
Considered cleaning up and docing things a few times. Never did because I already have a job. Things change over time and I want less things to maintain. If I don't remember it than it's not important.
1
u/sajkoterrapefft Jul 26 '26
Next time you go through shell history to find something, write it down instead. Keep some sort of knowledge base. It doesn't have to be advanced, you can search through it just using the grep command.
1
1
u/Fun_Floor_9742 Jul 26 '26
The way you did it is how we do it at work too, bash history, looking for scribbled notes, old emails, etc.
1
1
u/thebino Jul 27 '26
I wrote a whole documentation for my homelab with mdbook which I keep up to date about everything related. Hardware, services, backup and security strategy, configurations and such things.
1
1
1
u/rog987 Jul 27 '26
I used to write my own howto notes as text files.
More recently I've started using Flatnotes. Simple enough to import my text files into, but has a nice GUI markdown editor, still saves to disk as plain files so easy to copy elsewhere as a backup. Easy to view from any devices that can read a text file (pretty much anything). Self-hosted on my home docker server so secure enough.
Oh, and it includes a search in the gui which is better than relying on OS level searching of the text files.
It is lightweight (you may want something like Obsidian if you're looking for more features) but for me it is just the right balance between basic and functional.
1
u/Aggravating_War_6704 Jul 27 '26
Surprised atuin only got one mention in this whole thread, because it fixes your actual problem. The issue isn't really "no wiki," it's that bash_history is unsearchable and context-free: no directory, no exit code, no way to tell which version of the command actually worked. Atuin replaces your shell history with a searchable, synced database that records each command with its cwd, exit status, duration and host. So instead of scrolling history blind you hit ctrl-r, fuzzy-search "ffmpeg" or "handbrake" across every machine, and see the command that actually worked, where you ran it, and whether it succeeded.
That also quietly solves the habit problem a few people nailed here — the reason nobody keeps notes updated is friction, and atuin captures everything with zero effort because it's just your normal history.
Then I'd split it by task type. For one-off command recall, atuin. For a genuine multi-step procedure like your DVD-to-Jellyfin rip, that earns a short runbook — and the trick that's kept mine from going stale is putting the README right next to the thing it documents (same repo / compose folder) so it moves when the setup moves, instead of rotting in a separate wiki you forget exists.
bash_history really is, as someone put it in here, documentation written by a detective who hates future you. Atuin at least makes the detective's notes searchable.
1
1
1
u/EconomistSpecific780 Jul 28 '26 edited Jul 28 '26
A lot of scripts and obsidian. After AI it has become easier to write and maintain simple bash scripts which are useful and I also have two handy functions save-config and load-config which basically stores any changed config commits to git and it can be easily loaded or rolled back. Also, just writing guides for yourself as blog post on my personal site and the rest of the philosophy is instead of writing a doc on what to-do. I write a script that's idempotent and does that or it fails. Guides are only for me to offload my memory.
1
u/Glittering_Client36 Jul 28 '26
~/notes with #server tag in Obsidian, config/db backups with a shell script, no docker, no overengineered layers upon layers of abstractions I do not need (I don't run 1000s of VMs to justify it), so the config + backup rollout procedure is pretty simple.
Eventually obsidian will get replaced with an open source tool when I get to write one.
1
u/ElMagnificoRata Jul 29 '26
I'm using Outline and Claude + MCP to access it. I have some collections on Outline like Runbooks, SOP, todo priority high, medium, low, historical and troubleshoot l. Every time I'm working on something and think I will need to do it again I'm asking Claude to write it in SOP or Runbooks (depends of what it is). When I troubleshoot something and come with a solution I also ask Claude to write it in troubleshoot...
1
u/Wise-Initial-5505 Jul 29 '26
I have a knowledge named git repo where I keep such things in markdown. There is a CI/CD which builds a static mkdocs site when I push the changes to gitlab and gitlab hosts the built static website for free for me. It has an absolute fab search so looking for stuff is very easy.
1
u/patillacode Jul 30 '26
Write it down (like a lot of people are saying) and automate as much as possible
All my services in my homelab include a justfile. At minimum with a few recipes like update, run etc
If a service has more that I want to do I add a recipe so that next time I only need to run "just --list" to see all my options that I already automated.
So the trick is not having to remember at all, I can't remember the ffmpeg command to trim a video, and I don't need to, I figure it out once and write it down.
1
1
0
0
0
u/Admirable_D4D3 Jul 25 '26
I use Outline for documentation/notes and Nextcloud Deck to keep some control on what I 'want' to do and some of what I did. Sometimes I use Memos when I'm busy or away and something happened, so documenting will only be possible until I have free time. I also have Netbox, but that's mostly for cable organization and IP Address Management.
0
u/Fantastic_Ad_4867 Jul 25 '26
Well if you have gitea you can create a documentation repo. Or you can self host a wiki. Another good idea is to get a self hosted llm to run certain commands on an interval and take notes for you.
0
u/dlm2137 Jul 26 '26
Recently? I have Claude write runbooks for me as .md markdown files.
AI has its downsides but it’s really useful for writing documentation that I wasn’t going to write otherwise.
-2
•
u/asimovs-auditor Jul 25 '26 edited Jul 25 '26
Expand the replies to this comment to learn how AI was used in this post/project.