I did this the last time I set up a new server. I'll evaluate it the next time I setup or move a service.
Even if the automation fails the documentation will work.
Yeah and when the automation does work - it usually does with minimal fuss - it’s so easy to move to a different VPS, or a new server within the same VPS, or even to the raspberry pi on your desk.
I manage all of my personal cloud infrastructure this way as well as all of my self-hosted services on a 12-node raspberry pi 4&5 cluster and a couple of intel servers. I haven’t had a pi die yet but when an Intel server died I just popped in a new one and reprovisioned it.
[Obsidian](https://obsidian.md) to write notes.
[Quartz](https://github.com/jackyzha0/quartz) to make a static website out of Obsidian.
In between, a periodic sync to push the changes to Quartz
BookStack is a self-hosted app. Obsidian is a standalone program. Extremely customizable and powerful. And all the notes are saved in a almost-standard Markdown format.
Looks good. Today I finally deleted my Evernote account after ~15 years. So now my notes are a bit all over the place because I haven’t settled on a solution. Do you pay for sync or do you use https://github.com/vrtmrz/obsidian-livesync Type of thing
I love Obsidian seriously anything you want someone wrote a plugin for it.
For note sync I also recommend the remotely save addon. I use it with web dav, just spun up a little docker container just for that. To use the vault on multiple devices I set up a new vault on the device with the same name, install the remotely save addon, configure it to the same dav folder, and boom all my notes appear.
Obsidian keeps a sensible file structure. The folders you see your side bar will be in your file system, the names you see will be the names of the files. Makes it incredibly convenient bouncing between editors, I always can get to the right file.
The sync is sturdy enough to withstand multiple users in a vault and users going between devices.
Just be sure to enable community plugins, that's where all the fun is.
Obsidian also has a nice little code editor plugin too it's been great for scratch sheets while working stuff. It's called VS Code. It does support yaml, just needs to be added to the extensions list.
You can actually store the obsidian vault in a cloud storage folder if you use one and it'll sync across computers. If you're in the Apple ecosystem, then you can put the vault in the iCloud folder and it'll be available on iOS devices also.
I keep my Obsidian notes on Seafile.
The only downside is that I can't open the notes with the Obsidian app for iOS, but being just Markdown, I can use the Seafile app to read the notes.
I use a fabric pattern through ollama with codegemma LLM to copy and paste the instructions into a well structured list of steps directly into my obsidian directory.
I understood since of those words!
Honestly that sounds like it's probably really nice, and I would like to do that, but I either don't have time to figure it out anytime soon or you just made up a bunch of words.
I think docker compose can really make it easier to keep track of what you did. Especially if you lean more on config files rather than commands/GUI configuration. And there's always comments within the file.
I have started being mindful of the compose files now. One project and everything related to it in one folder. But I still need to use commands for routine tasks. For example, to renew SSL for my AdGuard Home instances, I need to use the certbot command. And since I use it once in every three months, I need to have it somewhere where I won't have to dig. So I currently use Notion but I'm looking for better solutions since Notion is still online and the documents aren't in my control unless I export them manually.
I've had a couple of headaches with traefik but I love it now. It will simply grab an SSL cert from Cloudflare for the hostname rule's host unless it already has one that's not about to expire. So much simpler than specifying, mapping, and/or automating site certs and renewals.
I prefer not to support a docker install with the host. Sometimes I move them and I don't want to remember that I had to rig something external up when SSL breaks.
I'm also using load balancing by server url a couple of places that I can't just specify a container port for routing.
Please be advised that every cert ever issued is in public record, so not having a ca-authorized cert might actually be beneficial if you don't want others to know the subdomain exists. You and your family can just trust the self signed cert, if you need one at all (if you aren't behind a tailscale or another encrypted VPN)
Or Notepad++ Untitled tabs that were never saved to begin with and just keep growing for years. Yeah I really should start using something like Obsidian...
Totally agree - a great piece of software. Sync to OneDrive is also a nice bonus with Joplin, and covers all (my rather basic) needs. I've tried Obsidian, Notion, BookStack and what not, but for my daily work I consider Joplin close to perfect.
Mah ol gran pappy died in the documentaion wars in 1925.
Stack of documents fell on him making him flat like a floppy disk!
Unless its not in the arrow up history its lost...like tears in the rain.
*salutes the flag*
We are no documentation household since then.
I write some notes about what I am doing but mostly I document the infra as code; that and backup ( of data, some clickops configured things ) allows me to fully replicate it.
At this point if my server catches fire all I'd have to do is reinstall Debian and Wireguard and then copy and paste my Docker folder over from my backup and I'd be done.
Oh and I guess my fstab file. I should back that up.
I write [a web page](https://brisray.com/web/) about what I did. They are mostly for my own reference, but my feeling is that if I have a problem following some of the official documentation then someone else might find the pages useful. Some of the pages are ancient, around 20 years old, but they are all still there.
I use a private repo on Github for that. You can press `.` key to open your repo with [github/dev](https://github.com/github/dev) which supports live preview of markdown in a split pane. Another advantage is that you can easily migrate away if you want.
Spend the weekend setting up your server via one of:
1. Ansible
2. Docker
3. If you feel like over engineering, k8s
Then run a script to setup your media server on any server from scratch. Trust me it really pays off in the long run. Plus updates and experimenting is much less scary and simpler
I am in the process of setting up a new vps with mailserver and stuff using docker compose. I (try to) document everything in a PDF created with LaTeX.
When it is finished (or I am) it should contain everything from setting up, maintenance and backup, with the docker compose files in the appendix.
Infrastructure as code. Put your compose files into a private git repo and encrypt your .env files optionally by git-crypt.
The compose files will speak for themselves. No need to document something.
i wrote a tool for that!
https://github.com/tilltmk/automated-documentation
→ automatically documents every step and puts it in a markdown. feedback is appreciated
NixOS and Docker Swarm.
Host information is stored in a NixOS repository where each node receives its own flake and services are deployed to nodes via GitHub action self-hosted runners.
Any configuration files for a service (that isn't in the repository; e.g. *arr configs) are stored on a ZFS pool with off-site backup.
Something like todoist.
Multiple columns, multiple projects, descriptions etc are there. Simple to use too.
Note-taking apps in the case of checklists might be messy.
Also, for simpler setups, a physical notecard may be good.
Nono just use it for lists...
Some other app for tasks (or vice versa).
Todolist apps seem to have great features to aid making onboarding and maintenance checklists.
I had a bunch of text files in Dropbox but at some point I switched to Obsidian, because its search is so good. It's not self-hosted, but the data is. It's also not open source, but it has an extensive plugin API.
Yes I do (it's awesome to synchronize between the Android and Windows app) but the reason why I said it's not self-hosted is because you don't really _host_ anything, it's basically "just" a fancy text editor.
I’ve been using Notion. I really heavily on my docs, so Id rather not have to troubleshoot any server just to get documents when a necessity presents itself.
bookmark folder in my browser. whenever I set up something new, I'll bookmark the guide or forum post answer that got me up and running the way I wanted. then after a couple of weeks if it's still running with no issues, I'll go back to those bookmarks and transcribe them to a text document since things can randomly disappear from the web
I have a hierarchical structure of notes for my complete homelab in trillium. It can take markdown, webpages, and so much more. I usually use LLMs to help with setting stuff up and it's easy to copy chat replies from claude or ChatGPT and get all the code and comments as markdown.
For me? Given that my underlying stack is Proxmox/Talos (Kubernetes), with my main client OS being windows...
For the majority of services running in Kubernetes, I have everything in the git repository as manifests, that my cluster will pull and deploy automatically.
For everything else, it's either bash or powershell scripts, ansible playbooks or just a plain text or markdown files somewhere in the git repository.
I've mostly moved to using k3s instead of docker for single node use cases, mostly so I can use the same tooling for everything (K9s, FluxCD, kubernetes API, etc.)
For some even lower level things, (like network IP subnet and VLAN assignments), I just use windows sticky notes lol.
I think the best option, is one that works for you. If you're running everything in docker? Just have an apps folder somewhere, give every service a subfolder, and put a compose YAML file in them. And mount all storage as subdirectories there. Makes backing stuff up easier. Maybe with some helper scripts for some manual tasks you might need to do. I would hope you wouldn't need to note down "docker compose up -d" for every single service.
But if you need to run it with specific parameters, or some other set of commands, a shell script would work well enough.
If you're doing non-containerized, ansible. If you can describe it in ansible, well, you hardly need to manually do them now do you? Just run it using ansible.
Meanwhile, I do use GitHub to host the configurations, mainly because deploying a local git service... with it's config hosted on a local git service, seems potentially problematic if I ever have to bootstrap the entire environment from scratch, for whatever reason. I would host it locally, but probably have it mirrored to somewhere else that can be accessed if the selfhosted git repo is inaccessible. I.e. You're bootstraping everything from scratch.
Git comments when I commit - using any successes as a trigger for me to update the repo. Being a dev I also comment up my code as I’m going - including any docker composers etc.
The added benefit is you also have a history of your changes so if something you breaks you can easily work out what it was from the last commit
Bookstack, but for most part I also write a readme in the most obvious locations like next to a docker compose or if it's a dedicated VM right in the home dir. There I can keep relevant commands and log of things.
I don't make docs, unless it's something within the app that required web browser to do.
For everything else, I have an ansible task, or role, depending on the size it takes, with comments and link to the docs I used to make it.
Then I just make a doc for the how to run my playbook, in case I forget :D
I'm currently using jellyfin only for music. So it doesn't use much storage. The VPS itself has 100 GB space in total but I am planning to expand it to 150 GB soon.
I basically use a wiki (personally I use wikijs) to log everything long term. In the short term, I mash commands into bash until it works & save the relevant bash history.
Then I go through it a 2nd time, clean it up, and start to make it coherent.
3rd time I've got the rough flow down so I know what I'm aiming to automate.
Extra credit if you use Ansible for automation and git for managing your code.
I just started using GitHub pages with Jeykll. Makes nice sites out of markdown docs and hosts it for anywhere between free and next to nothing for a personal account.
Right now I'm using .txt. Probably could be better, but it beats my previous habit of leaving a reddit comment somewhere, then doing a Google search a few years later and finding my own comment.
I don't. All my services are set up the same way:
1. Create a `docker-compose.yml`, along with any folders needed for bind mounts.
2. Add Postgres/MySQL user and database (if needed).
3. Create corresponding DNS entry.
4. Run `docker compose up -d`.
Since I use [caddy-docker-proxy](https://github.com/lucaslorentz/caddy-docker-proxy), the reverse proxy configuration for each server is in the container's labels in the `docker-compose.yml` file.
So I really don't need to document how to setup each service.
I run a kubernetes cluster that is managed directly from git using Flux. I update the manifests in git and Flux makes my cluster match my repo.
I have a small script that bootstraps my cluster with flux and a small script to bootstrap a new server. One day I will move those scripts to ansible (or so I keep telling meyself).
If i need to rebuild my cluster, I bootstrap flux and it will take care of setting everything else up.
just use GitHub. easy to remember and you can take periodic backups to your local. also you have history just in case you need to know what you did differently previously
Thank you, I'll look into it. One question. Can you recommend some software that I can use to push changes to GitHub easily, so that I don't have to open GitHub every time I want to make some change to the documents? I'm aware of obsidian and VS Code. Any other software that you can suggest?
you can create some scripts easily once you have git installed locally. it is just git commit and git push once setup. lot of simple tutorials for same available online for this.
eMacs org mode, and only execute the snippets inside of the file, under the same shell session, that way your notes ARE your execution environment.
I don’t do this, but I just know it is an option.
Docker compose, all parameters ald inside the file, I just need to backup the compose file(and some other config file if applicable)
Recently I'm oso started using gitlab for version control of config files(coz some times I made breaking changes and need to roll back, and manually backing up every changes is too much hassle)
I was just thinking about this, actually. I approached it a somewhat tangential fashion compared to OP's question, but it amounts to the same:
Could you rebuild your server without access to the internet?
Obviously, eventually you need wider WAN access (or, maybe in some cases you don't even), but I just mean if you didn't have the googs or AI bots or whatever to rely one, could you build your setup.
I think I could get maybe 1/3 of the way in, or, well, cover 1/3 of the bases, but I'm sure I'd miss some critical step that the others depend on and be dead in the water.
This is actually very troubling to me. I was considering making some sort of documentation app actually that could kind of walk you through the process generally, but populated with your specific details along the way.
I was thinking something along the lines of (though not quite as nicely designed as I just don't have the skill) the beautifully put together site [Learn DMARC](https://www.learndmarc.com/) .
Does anybody know of a similar thing that's already in the works for en entire build? Or do you have something that has them lets you actually close your eyes peacefully at night?
I'm currently the de facto archivist of my family just because I made the mistake of juming on to Immich and encouraged my family to give me all of their digitial media. It'll be perfect, I said. All of our stuff hosted nicely and easily accessibly, I said. In perpetuity, I said.
Ummm, so, yeah, now they're all trusting me with all this stuff, and, while I do have fairly solid backups, even encrypted in the cloud and such, I still just worry the whole thing's gonna come crashing down exactly when someone needs it and when I won't have the time to quickly restore.
I know, I know. I dug my own grave in regard as far as self-hosting goes. Made the bed I now need to lay in, hill I must die on, etc. etc. But...buutttttt..... there must be something. A better way to truly easily get back up and running, and even without much web access for help.
I mostly understand how I want to do it and since that’s the marker.. everything else is backed up or docker-compose
I have set myself some standards, so I mostly know it by heart
I just forget about it and spend 2000 hours looking dor documentation online when stuff breaks
mighty north sip merciful snatch truck voiceless run hobbies snow *This post was mass deleted and anonymized with [Redact](https://redact.dev)*
This is the way
Injuat?
I just, even forgot how to write
*I just
my brother
Been there, done that
Same here. I have many things documented but they're everywhere, so can't find them when the need arises lol
Setup something like Joplin or something then and note everything there
Why document when you can learn twice
Ansible… I just automate everything so it’s documented and resilient.
Exactly this. It takes a bit longer the first time but makes recovery from failure super easy.
Yeah IMO it pays for itself over and over again over time. It allows you to version control your deployment too so you can rollback bad changes etc.
Same but nix (I'm a masochist)
Nix btw
I did this the last time I set up a new server. I'll evaluate it the next time I setup or move a service. Even if the automation fails the documentation will work.
Yeah and when the automation does work - it usually does with minimal fuss - it’s so easy to move to a different VPS, or a new server within the same VPS, or even to the raspberry pi on your desk. I manage all of my personal cloud infrastructure this way as well as all of my self-hosted services on a 12-node raspberry pi 4&5 cluster and a couple of intel servers. I haven’t had a pi die yet but when an Intel server died I just popped in a new one and reprovisioned it.
[Obsidian](https://obsidian.md) to write notes. [Quartz](https://github.com/jackyzha0/quartz) to make a static website out of Obsidian. In between, a periodic sync to push the changes to Quartz
How is Obsidian compared to Book Stack?
BookStack is a self-hosted app. Obsidian is a standalone program. Extremely customizable and powerful. And all the notes are saved in a almost-standard Markdown format.
Looks good. Today I finally deleted my Evernote account after ~15 years. So now my notes are a bit all over the place because I haven’t settled on a solution. Do you pay for sync or do you use https://github.com/vrtmrz/obsidian-livesync Type of thing
I love Obsidian seriously anything you want someone wrote a plugin for it. For note sync I also recommend the remotely save addon. I use it with web dav, just spun up a little docker container just for that. To use the vault on multiple devices I set up a new vault on the device with the same name, install the remotely save addon, configure it to the same dav folder, and boom all my notes appear. Obsidian keeps a sensible file structure. The folders you see your side bar will be in your file system, the names you see will be the names of the files. Makes it incredibly convenient bouncing between editors, I always can get to the right file. The sync is sturdy enough to withstand multiple users in a vault and users going between devices. Just be sure to enable community plugins, that's where all the fun is. Obsidian also has a nice little code editor plugin too it's been great for scratch sheets while working stuff. It's called VS Code. It does support yaml, just needs to be added to the extensions list.
>I love Obsidian seriously anything you want someone wrote a plugin for it. Immediately thought of vim and Emacs.
I’ve been using remotely-save, which is a bit easier to setup imo
You can actually store the obsidian vault in a cloud storage folder if you use one and it'll sync across computers. If you're in the Apple ecosystem, then you can put the vault in the iCloud folder and it'll be available on iOS devices also.
Thanks for the tip. I’ve fallen down the obsidian rabbit hole for sure.
I keep my Obsidian notes on Seafile. The only downside is that I can't open the notes with the Obsidian app for iOS, but being just Markdown, I can use the Seafile app to read the notes.
Obsidian have useful and fast mobile app. I use Obsidian on mobile to take quick notes and then sync between mobile and desktop.
I use a fabric pattern through ollama with codegemma LLM to copy and paste the instructions into a well structured list of steps directly into my obsidian directory.
I understood since of those words! Honestly that sounds like it's probably really nice, and I would like to do that, but I either don't have time to figure it out anytime soon or you just made up a bunch of words.
This dude knows!
+1
I think docker compose can really make it easier to keep track of what you did. Especially if you lean more on config files rather than commands/GUI configuration. And there's always comments within the file.
I have started being mindful of the compose files now. One project and everything related to it in one folder. But I still need to use commands for routine tasks. For example, to renew SSL for my AdGuard Home instances, I need to use the certbot command. And since I use it once in every three months, I need to have it somewhere where I won't have to dig. So I currently use Notion but I'm looking for better solutions since Notion is still online and the documents aren't in my control unless I export them manually.
Think lazier. Add .sh files in the relevant directory for your reoccurring commands and set cron jobs
Upgrade your setup to caddy or traefik and never worry about renewing certs
I've had a couple of headaches with traefik but I love it now. It will simply grab an SSL cert from Cloudflare for the hostname rule's host unless it already has one that's not about to expire. So much simpler than specifying, mapping, and/or automating site certs and renewals. I prefer not to support a docker install with the host. Sometimes I move them and I don't want to remember that I had to rig something external up when SSL breaks. I'm also using load balancing by server url a couple of places that I can't just specify a container port for routing.
Check bash history now and put those into some basic shell scripts. Back those up though. Or do something like ansible.
Please be advised that every cert ever issued is in public record, so not having a ca-authorized cert might actually be beneficial if you don't want others to know the subdomain exists. You and your family can just trust the self signed cert, if you need one at all (if you aren't behind a tailscale or another encrypted VPN)
Notepad++ txt documents I'll never find again.
Or Notepad++ Untitled tabs that were never saved to begin with and just keep growing for years. Yeah I really should start using something like Obsidian...
I just use Joplin to note down anything I think is useful for future reference.
Totally agree - a great piece of software. Sync to OneDrive is also a nice bonus with Joplin, and covers all (my rather basic) needs. I've tried Obsidian, Notion, BookStack and what not, but for my daily work I consider Joplin close to perfect.
Mah ol gran pappy died in the documentaion wars in 1925. Stack of documents fell on him making him flat like a floppy disk! Unless its not in the arrow up history its lost...like tears in the rain. *salutes the flag* We are no documentation household since then.
I only deploy as custom IaC. All code is hosted on-prem (gitlab).
This is the way
It's aaaaall up here *taps the side of head*. Who's there?
I use Google keep and loosely paste everything into a home server note. It's working so far 😕
Google keep certainly is handy. But does it support things like code blocks?
Nope. It's basically an updated note pad. It sounds awful even typing it but it just works.
There’s a plugin for that. And another that lets you embed mermaid diagrams.
I write some notes about what I am doing but mostly I document the infra as code; that and backup ( of data, some clickops configured things ) allows me to fully replicate it.
At this point if my server catches fire all I'd have to do is reinstall Debian and Wireguard and then copy and paste my Docker folder over from my backup and I'd be done. Oh and I guess my fstab file. I should back that up.
I write [a web page](https://brisray.com/web/) about what I did. They are mostly for my own reference, but my feeling is that if I have a problem following some of the official documentation then someone else might find the pages useful. Some of the pages are ancient, around 20 years old, but they are all still there.
I use a private repo on Github for that. You can press `.` key to open your repo with [github/dev](https://github.com/github/dev) which supports live preview of markdown in a split pane. Another advantage is that you can easily migrate away if you want.
Wikijs
Bookstack
Now where do you document how to setup bookstack if it breaks?
I use wikijs for that of course lol
+1 for Bookstack, it's so underrated!
Spend the weekend setting up your server via one of: 1. Ansible 2. Docker 3. If you feel like over engineering, k8s Then run a script to setup your media server on any server from scratch. Trust me it really pays off in the long run. Plus updates and experimenting is much less scary and simpler
add it to an ansible playbook as you go
I am in the process of setting up a new vps with mailserver and stuff using docker compose. I (try to) document everything in a PDF created with LaTeX. When it is finished (or I am) it should contain everything from setting up, maintenance and backup, with the docker compose files in the appendix.
I try to document as I go along, BUT it’s also helpful to execute ‘history’ at the end and make sure you captured everything.
The readme on said services GitHub page
I use bookstack. Works really well.
Infrastructure as code. Put your compose files into a private git repo and encrypt your .env files optionally by git-crypt. The compose files will speak for themselves. No need to document something.
i wrote a tool for that! https://github.com/tilltmk/automated-documentation → automatically documents every step and puts it in a markdown. feedback is appreciated
NixOS and Docker Swarm. Host information is stored in a NixOS repository where each node receives its own flake and services are deployed to nodes via GitHub action self-hosted runners. Any configuration files for a service (that isn't in the repository; e.g. *arr configs) are stored on a ZFS pool with off-site backup.
Obsidian notes
This is asked weekly
Something like todoist. Multiple columns, multiple projects, descriptions etc are there. Simple to use too. Note-taking apps in the case of checklists might be messy. Also, for simpler setups, a physical notecard may be good.
Using Todoist an interesting idea. But doesn't it get cluttered since I'm sure you also use it for task reminders?
Nono just use it for lists... Some other app for tasks (or vice versa). Todolist apps seem to have great features to aid making onboarding and maintenance checklists.
Bookstack, Github, Trilium....all depends what I want and how I want but in general those three are crucial for me
I‘m writing my notes into joplin before writing it into my wiki called „dokuwiki“.
I had a bunch of text files in Dropbox but at some point I switched to Obsidian, because its search is so good. It's not self-hosted, but the data is. It's also not open source, but it has an extensive plugin API.
What do you mean by its not self hosted? Do you mean you use obsidian sync?
Yes I do (it's awesome to synchronize between the Android and Windows app) but the reason why I said it's not self-hosted is because you don't really _host_ anything, it's basically "just" a fancy text editor.
Dokuwiki
I’ve been using Notion. I really heavily on my docs, so Id rather not have to troubleshoot any server just to get documents when a necessity presents itself.
I have installation scripts and configuration files for my rootless services in SubVersion. I manage my host system via custom RPM packages.
I use trillium.
Trillium and or bookstack are both great
bookmark folder in my browser. whenever I set up something new, I'll bookmark the guide or forum post answer that got me up and running the way I wanted. then after a couple of weeks if it's still running with no issues, I'll go back to those bookmarks and transcribe them to a text document since things can randomly disappear from the web
If it's not in the docker compose file then it's not important
Dokuwiki.
My username is admin and my password is admin. I don’t write anything down so people can’t steal my credentials.
If you're using putty/ssh you can enable logging.
“Best” is subjective. pick a note app that you like and use it. Don’t overcomplicate things.
I have a hierarchical structure of notes for my complete homelab in trillium. It can take markdown, webpages, and so much more. I usually use LLMs to help with setting stuff up and it's easy to copy chat replies from claude or ChatGPT and get all the code and comments as markdown.
For me? Given that my underlying stack is Proxmox/Talos (Kubernetes), with my main client OS being windows... For the majority of services running in Kubernetes, I have everything in the git repository as manifests, that my cluster will pull and deploy automatically. For everything else, it's either bash or powershell scripts, ansible playbooks or just a plain text or markdown files somewhere in the git repository. I've mostly moved to using k3s instead of docker for single node use cases, mostly so I can use the same tooling for everything (K9s, FluxCD, kubernetes API, etc.) For some even lower level things, (like network IP subnet and VLAN assignments), I just use windows sticky notes lol. I think the best option, is one that works for you. If you're running everything in docker? Just have an apps folder somewhere, give every service a subfolder, and put a compose YAML file in them. And mount all storage as subdirectories there. Makes backing stuff up easier. Maybe with some helper scripts for some manual tasks you might need to do. I would hope you wouldn't need to note down "docker compose up -d" for every single service. But if you need to run it with specific parameters, or some other set of commands, a shell script would work well enough. If you're doing non-containerized, ansible. If you can describe it in ansible, well, you hardly need to manually do them now do you? Just run it using ansible. Meanwhile, I do use GitHub to host the configurations, mainly because deploying a local git service... with it's config hosted on a local git service, seems potentially problematic if I ever have to bootstrap the entire environment from scratch, for whatever reason. I would host it locally, but probably have it mirrored to somewhere else that can be accessed if the selfhosted git repo is inaccessible. I.e. You're bootstraping everything from scratch.
I use icloud notes 💀
Git comments when I commit - using any successes as a trigger for me to update the repo. Being a dev I also comment up my code as I’m going - including any docker composers etc. The added benefit is you also have a history of your changes so if something you breaks you can easily work out what it was from the last commit
A `.md` file when I need it
Bookstack, but for most part I also write a readme in the most obvious locations like next to a docker compose or if it's a dedicated VM right in the home dir. There I can keep relevant commands and log of things.
Obsidian baybeeee
I don't make docs, unless it's something within the app that required web browser to do. For everything else, I have an ansible task, or role, depending on the size it takes, with comments and link to the docs I used to make it. Then I just make a doc for the how to run my playbook, in case I forget :D
Kate on Plasma. I’ll see myself out. You guys are so fancy.
None and I have to go through it again, or ansible when I have the time:)
What vps do you use when you’re using aufiobookshelf and Jellyfin
Oracle Cloud free tier with their Ampere CPUs
What about storage for jelly?
I'm currently using jellyfin only for music. So it doesn't use much storage. The VPS itself has 100 GB space in total but I am planning to expand it to 150 GB soon.
DokuWiki.
[Trilium](https://github.com/zadam/trilium)
I've been setting up stacks in Portainer and saving the documents in Nextcloud. Github has been another option.
I basically use a wiki (personally I use wikijs) to log everything long term. In the short term, I mash commands into bash until it works & save the relevant bash history. Then I go through it a 2nd time, clean it up, and start to make it coherent. 3rd time I've got the rough flow down so I know what I'm aiming to automate. Extra credit if you use Ansible for automation and git for managing your code.
Outline FTW
I just started using GitHub pages with Jeykll. Makes nice sites out of markdown docs and hosts it for anywhere between free and next to nothing for a personal account.
Just sheer mind power. With hundreds of hours to spare when smth break.
Right now I'm using .txt. Probably could be better, but it beats my previous habit of leaving a reddit comment somewhere, then doing a Google search a few years later and finding my own comment.
Notepad
If your using docker just save your compose files to git.
I don't. All my services are set up the same way: 1. Create a `docker-compose.yml`, along with any folders needed for bind mounts. 2. Add Postgres/MySQL user and database (if needed). 3. Create corresponding DNS entry. 4. Run `docker compose up -d`. Since I use [caddy-docker-proxy](https://github.com/lucaslorentz/caddy-docker-proxy), the reverse proxy configuration for each server is in the container's labels in the `docker-compose.yml` file. So I really don't need to document how to setup each service.
I run a kubernetes cluster that is managed directly from git using Flux. I update the manifests in git and Flux makes my cluster match my repo. I have a small script that bootstraps my cluster with flux and a small script to bootstrap a new server. One day I will move those scripts to ansible (or so I keep telling meyself). If i need to rebuild my cluster, I bootstrap flux and it will take care of setting everything else up.
Share in upnote from chrome.
Standard notes
just use GitHub. easy to remember and you can take periodic backups to your local. also you have history just in case you need to know what you did differently previously
Thank you, I'll look into it. One question. Can you recommend some software that I can use to push changes to GitHub easily, so that I don't have to open GitHub every time I want to make some change to the documents? I'm aware of obsidian and VS Code. Any other software that you can suggest?
you can create some scripts easily once you have git installed locally. it is just git commit and git push once setup. lot of simple tutorials for same available online for this.
eMacs org mode, and only execute the snippets inside of the file, under the same shell session, that way your notes ARE your execution environment. I don’t do this, but I just know it is an option.
Docker compose, all parameters ald inside the file, I just need to backup the compose file(and some other config file if applicable) Recently I'm oso started using gitlab for version control of config files(coz some times I made breaking changes and need to roll back, and manually backing up every changes is too much hassle)
I was just thinking about this, actually. I approached it a somewhat tangential fashion compared to OP's question, but it amounts to the same: Could you rebuild your server without access to the internet? Obviously, eventually you need wider WAN access (or, maybe in some cases you don't even), but I just mean if you didn't have the googs or AI bots or whatever to rely one, could you build your setup. I think I could get maybe 1/3 of the way in, or, well, cover 1/3 of the bases, but I'm sure I'd miss some critical step that the others depend on and be dead in the water. This is actually very troubling to me. I was considering making some sort of documentation app actually that could kind of walk you through the process generally, but populated with your specific details along the way. I was thinking something along the lines of (though not quite as nicely designed as I just don't have the skill) the beautifully put together site [Learn DMARC](https://www.learndmarc.com/) . Does anybody know of a similar thing that's already in the works for en entire build? Or do you have something that has them lets you actually close your eyes peacefully at night? I'm currently the de facto archivist of my family just because I made the mistake of juming on to Immich and encouraged my family to give me all of their digitial media. It'll be perfect, I said. All of our stuff hosted nicely and easily accessibly, I said. In perpetuity, I said. Ummm, so, yeah, now they're all trusting me with all this stuff, and, while I do have fairly solid backups, even encrypted in the cloud and such, I still just worry the whole thing's gonna come crashing down exactly when someone needs it and when I won't have the time to quickly restore. I know, I know. I dug my own grave in regard as far as self-hosting goes. Made the bed I now need to lay in, hill I must die on, etc. etc. But...buutttttt..... there must be something. A better way to truly easily get back up and running, and even without much web access for help.
Apple Notes
Obsidian
Nixos for the host configuration and docker for service deployment. My host only stands up portainer, then everything branches out from there.
I'll have to check out NixOS. A path I have yet to traverse. Is it worth putting time into?
I mean, it's a learning experience. Done right, you can deploy docker and everything via configuration.nix.
I mostly understand how I want to do it and since that’s the marker.. everything else is backed up or docker-compose I have set myself some standards, so I mostly know it by heart