Add better intro to README
All checks were successful
Podman DDNS Image / build-and-push-ddns (push) Successful in 59s
All checks were successful
Podman DDNS Image / build-and-push-ddns (push) Successful in 59s
This commit is contained in:
83
README.md
83
README.md
@@ -1,13 +1,34 @@
|
|||||||
# Homelab
|
# Homelab
|
||||||
|
|
||||||
A project to store homelab stuff.
|
Welcome to my homelab!
|
||||||
|
|
||||||
Just here for the Arch distoolbox?
|
This repo is an in-flux collection of my personal notes, docs, and tutorials of
|
||||||
|
things I find interesting and self-host.
|
||||||
|
|
||||||
[Arch Distoolbox](active/software_distoolbox/distoolbox.md)
|
Take a look around!
|
||||||
|
|
||||||

|
categories:
|
||||||
|
- `aws_` is for aws notes
|
||||||
|
- `device_` is for hardware
|
||||||
|
- `kubernetes_` is for helm charts or other kubernetes hosted software
|
||||||
|
- `os_` is for operating system setup guides and notes
|
||||||
|
- `podman_` is for containerized projects
|
||||||
|
- `software_` is for cli tools, projects without a specific way to host them,
|
||||||
|
or other misfits
|
||||||
|
|
||||||
|
All active projects will have a markdown file named after the project. This is
|
||||||
|
for quick access via shortcuts like `ctrl + p` in vscode. For example, I want
|
||||||
|
to check my notes for `virsh` so I would type `ctrl + p` "virsh" to open
|
||||||
|
"virsh.md".
|
||||||
|
|
||||||
|
"Retired" projects (/retired) is a graveyard of things I didn't want to delete.
|
||||||
|
|
||||||
|
"Template" projects (/templates) are quick templates for creating new active
|
||||||
|
projects with sane defaults.
|
||||||
|
|
||||||
|
I keep my GPG and SSH keys in `keys` if you want to add those to your keyring
|
||||||
|
or give me access to your servers.
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
@@ -18,6 +39,7 @@ Status](https://gitea.reeseapps.com/services/homelab/actions/workflows/distoolbo
|
|||||||
- [inputrc](#inputrc)
|
- [inputrc](#inputrc)
|
||||||
- ["find ." shortcuts](#find--shortcuts)
|
- ["find ." shortcuts](#find--shortcuts)
|
||||||
- [tmux](#tmux)
|
- [tmux](#tmux)
|
||||||
|
- [bash](#bash)
|
||||||
- [SSH Setup](#ssh-setup)
|
- [SSH Setup](#ssh-setup)
|
||||||
- [Git GPG Commit Signing](#git-gpg-commit-signing)
|
- [Git GPG Commit Signing](#git-gpg-commit-signing)
|
||||||
- [Important Dates and Times](#important-dates-and-times)
|
- [Important Dates and Times](#important-dates-and-times)
|
||||||
@@ -62,6 +84,40 @@ find . -type d -exec chmod 755 {} \;
|
|||||||
- Even Vertical Distribution: ctrl + b + alt + 2
|
- Even Vertical Distribution: ctrl + b + alt + 2
|
||||||
- Swap pane order: ctrl + b + : -> swap-pane -t 0
|
- Swap pane order: ctrl + b + : -> swap-pane -t 0
|
||||||
|
|
||||||
|
### bash
|
||||||
|
|
||||||
|
<https://tecadmin.net/bash-special-variables/>
|
||||||
|
|
||||||
|
Here are some handy references for default bash variables
|
||||||
|
|
||||||
|
```text
|
||||||
|
$0 – The name of the script being executed.
|
||||||
|
$1-$9 – The first nine command-line arguments.
|
||||||
|
$# – The number of command-line arguments.
|
||||||
|
$* – All command-line arguments as a single string.
|
||||||
|
$@ – All command-line arguments as an array.
|
||||||
|
$? – The exit status of the last executed command.
|
||||||
|
$$ – The process ID of the current shell.
|
||||||
|
$! – The process ID of the last background command.
|
||||||
|
$- – Shows the current shell options or flags.
|
||||||
|
```
|
||||||
|
|
||||||
|
And here are the meanings of the shell options
|
||||||
|
|
||||||
|
```text
|
||||||
|
h – Remember the location of commands as they are looked up
|
||||||
|
i – Interactive shell
|
||||||
|
m – Job control is enabled
|
||||||
|
B – Brace expansion is enabled
|
||||||
|
H – History substitution is enabled
|
||||||
|
```
|
||||||
|
|
||||||
|
So to check if you are in an interactive shell:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
[ $- == *i* ]] && Some command here
|
||||||
|
```
|
||||||
|
|
||||||
## SSH Setup
|
## SSH Setup
|
||||||
|
|
||||||
Generate a key (password protect it!)
|
Generate a key (password protect it!)
|
||||||
@@ -176,12 +232,10 @@ All projects will be prefixed with one of the following categories:
|
|||||||
|
|
||||||
- `device_`
|
- `device_`
|
||||||
- `os_`
|
- `os_`
|
||||||
- `cloud_`
|
- `software_`
|
||||||
- `systemd_`
|
|
||||||
- `podman_`
|
- `podman_`
|
||||||
- `docker_`
|
- `docker_`
|
||||||
- `kubernetes_`
|
- `kubernetes_`
|
||||||
- `software_`
|
|
||||||
|
|
||||||
Note, some projects will be named with just the prefix. These are projects for
|
Note, some projects will be named with just the prefix. These are projects for
|
||||||
configuring the underlying technology. The `podman` project, for example, will
|
configuring the underlying technology. The `podman` project, for example, will
|
||||||
@@ -203,24 +257,15 @@ be prefixed with the cloud's name, not the word "cloud". So AWS services will
|
|||||||
be prefixed with `aws_` and azure would be `azure_`. This should make them more
|
be prefixed with `aws_` and azure would be `azure_`. This should make them more
|
||||||
searchable.
|
searchable.
|
||||||
|
|
||||||
`systemd_` projects are designed to be installed with ansible and run via
|
`software_` projects record configuration for common software agnostic to
|
||||||
systemd on a linux VM or other linux hardware.
|
operating system or linux flavor.
|
||||||
|
|
||||||
`podman_` projects are either designed to be run as quadlets or as podman
|
`podman_` projects are either designed to be run as quadlets or as podman
|
||||||
containers outright.
|
containers outright.
|
||||||
|
|
||||||
`docker_` projects are either docker-compose or some form of docker run
|
|
||||||
command.
|
|
||||||
|
|
||||||
`kubernetes_` projects are helm, kustomize, kubectl, or some other kubernetes
|
`kubernetes_` projects are helm, kustomize, kubectl, or some other kubernetes
|
||||||
compliant deployment.
|
compliant deployment.
|
||||||
|
|
||||||
`software_` projects record configuration for common software agnostic to
|
|
||||||
operating system or linux flavor.
|
|
||||||
|
|
||||||
`security_` projects record security best practices and might reference other
|
|
||||||
projects, but are usually just best practices and how-tos.
|
|
||||||
|
|
||||||
## Active Project Requirements
|
## Active Project Requirements
|
||||||
|
|
||||||
- [ ] Installation is documented
|
- [ ] Installation is documented
|
||||||
|
|||||||
Reference in New Issue
Block a user