This commit is contained in:
redbeardymcgee 2024-11-02 14:39:15 -05:00
parent 575ba66989
commit 3fe655dc2c

View file

@ -8,7 +8,7 @@ My proof of concept server running this container stack is built on AlmaLinux
9.4. `podman` and `systemd` with `quadlet` support is required if you are using another 9.4. `podman` and `systemd` with `quadlet` support is required if you are using another
distro. distro.
- Perform `dnf update` immediately > [!WARNING] Perform `dnf update` immediately
### [Repositories](https://wiki.almalinux.org/repos/) ### [Repositories](https://wiki.almalinux.org/repos/)
@ -99,13 +99,13 @@ dnf install podman
systemctl enable --now podman systemctl enable --now podman
``` ```
> [!NOTE] Read the docs > [!NOTE] Read the docs.
> `man podman-systemd.unit` > `man podman-systemd.unit`
### slirp4netns ### slirp4netns
> [!TODO] > [!TODO]
> This may not be necessary but my system is currently using it > This may not be necessary but my system is currently using it.
```bash ```bash
dnf install slirp4netns dnf install slirp4netns
@ -115,7 +115,7 @@ dnf install slirp4netns
> [!TODO] > [!TODO]
> Not sure how to resolve these correctly yet but the journal logs it > Not sure how to resolve these correctly yet but the journal logs it
> so it's running for something > so it's running for something.
```bash ```bash
dnf install aardvark-dns dnf install aardvark-dns
@ -123,7 +123,7 @@ dnf install aardvark-dns
### Enable unprivileged port binding ### Enable unprivileged port binding
> [!NOTE] This is only necessary if you are setting up the reverse proxy > [!NOTE] This is only necessary if you are setting up the reverse proxy.
```bash ```bash
printf '%s\n' 'net.ipv4.ip_unprivileged_port_start=80' > /etc/sysctl.d/99-unprivileged-port-binding.conf printf '%s\n' 'net.ipv4.ip_unprivileged_port_start=80' > /etc/sysctl.d/99-unprivileged-port-binding.conf
@ -155,9 +155,9 @@ usermod --add-subuids 200000-299999 --add-subgids 200000-299999 $ctuser
loginctl enable-linger $ctuser loginctl enable-linger $ctuser
``` ```
> [!TIP] Optionally setup ssh keys to directly login to $ctuser > [!TIP] Optionally setup ssh keys to directly login to $ctuser.
> [!NOTE] The login shell doesn't exist > [!NOTE] The login shell doesn't exist.
> Launch `bash -l` manually to get a shell or else your `ssh` will exit with a > Launch `bash -l` manually to get a shell or else your `ssh` will exit with a
> status of 1. > status of 1.
@ -200,7 +200,7 @@ DNS=1.1.1.1
This is our VPN container. This example uses ProtonVPN. This is our VPN container. This example uses ProtonVPN.
> [!WARNING] I disabled SELinux to not deal with this for every other issue > [!WARNING] I disabled SELinux to not deal with this for every other issue.
> /etc/selinux/config -> `SELINUX=disabled` > /etc/selinux/config -> `SELINUX=disabled`
Temporarily set SELinux policy to allow containers to use devices. Temporarily set SELinux policy to allow containers to use devices.
@ -255,7 +255,7 @@ Environment=FIREWALL_DEBUG=on
This allows us to query the `gluetun` API for the forwarded port without This allows us to query the `gluetun` API for the forwarded port without
needing an API user and password. needing an API user and password.
> [!WARNING] Do not expose the API to the internet > [!WARNING] Do not expose the API to the internet.
```toml ```toml
[[roles]] [[roles]]
@ -266,7 +266,7 @@ auth = "none"
### ~/.config/containers/systemd/qbittorrent.container ### ~/.config/containers/systemd/qbittorrent.container
> [!NOTE] Check $qbt_version from tags on dockerhub > [!NOTE] Check $qbt_version from tags on dockerhub.
> [qbittorrentofficial](https://docker.io/qbittorrentofficial/qbittorrent-nox) > [qbittorrentofficial](https://docker.io/qbittorrentofficial/qbittorrent-nox)
```ini ```ini
@ -303,7 +303,7 @@ Environment=TZ=$timezone
This updates the `qbittorrent` configuration to match the forwarded port from This updates the `qbittorrent` configuration to match the forwarded port from
`gluetun`. `gluetun`.
> [!TIP] Check the ip address of most containers > [!TIP] Check the ip address of most containers.
> `podman exec -it $container_name ip addr show` > `podman exec -it $container_name ip addr show`
```ini ```ini
@ -341,7 +341,7 @@ Environment=GTN_ADDR=http://localhost:8000
This ensures that your torrent session stays in sync with your MAM session. This ensures that your torrent session stays in sync with your MAM session.
> [!NOTE] Set your dynamic session with ASN lock now to view the $mam_id > [!NOTE] Set your dynamic session with ASN lock now to view the $mam_id.
```ini ```ini
[Unit] [Unit]
@ -376,8 +376,8 @@ Environment=interval=1
### ~/.config/containers/systemd/pointspend.container ### ~/.config/containers/systemd/pointspend.container
> [!TIP] Optional bonus points spender > [!TIP] Optional bonus points spender.
> Useful to maintain VIP and not hit max 99999 > Useful to maintain VIP and not hit max 99999.
```ini ```ini
[Unit] [Unit]