updating documentation

This commit is contained in:
2026-05-13 14:49:09 -04:00
parent 1ca802dc2a
commit 0d89135826
+46 -7
View File
@@ -1,8 +1,47 @@
Before using this playbook, the target hosts must have:
- Public key of control node in ~/.ssh/authorized_keys
- Passwordless sudo enabled (see: <https://spinupwp.com/doc/passwordless-sudo/>)
- Docker installed
- Add user to docker group
# Alberts Self-hosting Project
My goal here is to host some SaaS inside the home to reduce dependency on cloud providers.
## Services
This list will hopefully grow as I add more.
| Service | Replaces | Address |
| -------- | -------- | ------- |
| Gitea | GitHub | https://git.tingker.ddns.net |
## Set up
The servers will run in Docker containers managed by a Compose file. Ive started with an old MacBook, but may add more nodes in the future. These steps assume that the nodes are running Linux.
- [Docker Engine](https://docs.docker.com/engine/install/)
- Add login user to the `docker` access group:
```
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
```
## Networking
In order to make the server accessible via the Internet, some networking configuration is required on our home router.
1. Configure router to use [NoIP.com](https://noip.com) to create a dynamic DNS record. This makes it so that we have a fixed domain name that translates to the IP address of our home Internet connection, updating as required if our ISP changes our IP address.
- We have registered the domain name `tingker.ddns.net`.
2. Configure router to reserve a fixed IP address for each of the server nodes.
3. Configure router to forward ports to the server nodes. The following ports are required:
| External Port | Internal Port | Reason |
| ------------- | ------------- | ------ |
| 80 | 80 | [Caddy](https://caddyserver.com/) listens for all HTTP and HTTPS requests and will route to applications |
| 443 | 443 | Ditto |
| 22 | 2222 | Gitea support for pushing and pulling repositories via SSH |
## TODOs
- Setup off-site backup solution
- Setup Gitea action runners
- Host alchoi.com website repo here, and set up deployment action to DigitalOcean (or we can switch hosting providers)
- Setup NextCloud (file sharing)
- Setup some kind of notes app (e.g. Joplin)
On this local machine:
- Create docker context for the remote host