Update 'The Lab'
parent
b046c64e01
commit
f5430a975e
74
The-Lab.md
74
The-Lab.md
|
@ -11,3 +11,77 @@ How I'm building my personal lab.
|
|||
│ │ │ │
|
||||
└───────────────────────────┘ └──────────────────────────┘
|
||||
```
|
||||
|
||||
* Caddy for auto HTTPS
|
||||
* Rathole for NAT traversal
|
||||
* Docker and docker compose to run all services
|
||||
|
||||
|
||||
## Configuration
|
||||
### Rathole
|
||||
This is the server configuration
|
||||
|
||||
```
|
||||
[server]
|
||||
bind_addr = "0.0.0.0:7000"
|
||||
|
||||
[server.services.ssh]
|
||||
token = "REDACTED"
|
||||
bind_addr = "0.0.0.0:3389"
|
||||
|
||||
[server.services.web]
|
||||
token = "REDACTED"
|
||||
bind_addr = "127.0.0.1:7001"
|
||||
|
||||
[server.services.git]
|
||||
token = "REDACTED"
|
||||
bind_addr = "127.0.0.1:3000"
|
||||
|
||||
[server.services.gitssh]
|
||||
token = "REDACTED"
|
||||
bind_addr = "0.0.0.0:222"
|
||||
```
|
||||
|
||||
And this is the client configuration
|
||||
|
||||
```
|
||||
[client]
|
||||
remote_addr = "lab.guillemborrell.es:7000"
|
||||
|
||||
[client.services.ssh]
|
||||
token = "!6Jutges16"
|
||||
local_addr = "127.0.0.1:22"
|
||||
|
||||
[client.services.web]
|
||||
token = "!6Jutges16"
|
||||
local_addr = "127.0.0.1:8000"
|
||||
|
||||
[client.services.git]
|
||||
token = "!6Jutges16"
|
||||
local_addr = "127.0.0.1:3000"
|
||||
|
||||
[client.services.gitssh]
|
||||
token = "!6Jutges16"
|
||||
local_addr = "127.0.0.1:222"
|
||||
```
|
||||
|
||||
### Caddy
|
||||
|
||||
```
|
||||
lab.guillemborrell.es {
|
||||
reverse_proxy localhost:7001
|
||||
}
|
||||
|
||||
git.guillemborrell.es {
|
||||
reverse_proxy localhost:3000
|
||||
}
|
||||
```
|
||||
You probably get how to add an additional service with auto-http
|
||||
|
||||
## FAQ
|
||||
|
||||
### How small the small and cheap VM?
|
||||
It can be the smallest instance. Half a virtual core and less than a GB of RAM will do. Caddy and Rathole are very efficient, and within normal operation, the VM has a CPU load of less than 1%
|
||||
|
||||
### Why Caddy on the cloud VM?
|
||||
Certificate authorities require that the service that requests the cert runs in an IP related to a `A` or `AAAA` entry in an accessible DNS service. This is the way you prove that you "own" the service
|
Loading…
Reference in a new issue