Files
2026-05-13 14:49:09 -04:00

48 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)