221c84e4af4323b2c1d804816b8905e3fb195c3a
Albert’s 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. I’ve started with an old MacBook, but may add more nodes in the future. These steps assume that the nodes are running Linux.
- Docker Engine
- Add login user to the
dockeraccess 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.
- Configure router to use 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.
- We have registered the domain name
- Configure router to reserve a fixed IP address for each of the server nodes.
- Configure router to forward ports to the server nodes. The following ports are required:
| External Port | Internal Port | Reason |
|---|---|---|
| 80 | 80 | Caddy 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)
Description
Languages
HTML
76.9%
Just
23.1%