IONOS DNS setup — rafaelgonzalezalbes.com¶
Yes — you must do this in the IONOS website. There is no folder mapping.
Two VPS IPs:
| Server | IP | Use for |
|---|---|---|
| Infra VPS | 85.215.32.166 |
Platform subdomains (git, ci, pm, status, …) |
| Apps VPS | 82.165.177.110 |
Product apps (wearlab, bioscan, …) |
Step-by-step in IONOS (website)¶
- Go to https://www.ionos.com and log in
- Domains & SSL (or Domains)
- Click rafaelgonzalezalbes.com
- Click DNS (or gear icon → DNS)
You should see a table of DNS records.
Important: fix the catch-all record¶
IONOS often has a wildcard record like this:
| Type | Host | Points to |
|---|---|---|
| A | * |
217.160.0.155 |
That sends all subdomains (git, ci, wearlab) to IONOS parking — this is why it did not work.
Either delete the * A record, or change it — but you still need the records below.
Platform records (infra VPS 85.215.32.166)¶
Click Add record (or edit if they already exist):
| Type | Host name | Value / Points to |
|---|---|---|
| A | git |
85.215.32.166 |
| A | ci |
85.215.32.166 |
| A | pm |
85.215.32.166 |
| A | status |
85.215.32.166 |
| A | bridge |
85.215.32.166 |
| A | mcp |
85.215.32.166 |
| A | docs |
85.215.32.166 |
| A | security |
85.215.32.166 |
| A | metrics |
85.215.32.166 |
| A | ci-grpc |
85.215.32.166 |
ci-grpc is optional — only needed if the apps Woodpecker agent uses Traefik gRPC mode instead of the reverse SSH tunnel. See Woodpecker agents.
Remove preview: WearLab uses wearlab.* on the apps VPS. Delete or repoint any preview A record in IONOS (it often still points to infra and returns 404).
Application records (apps VPS 82.165.177.110)¶
| Type | Host name | Value / Points to | App |
|---|---|---|---|
| A | wearlab |
82.165.177.110 |
WearLab (live / migrating) |
| A | testing1 |
82.165.177.110 |
Idea→Done staging bay 1 (Ship human QA) |
| A | testing2 |
82.165.177.110 |
Idea→Done staging bay 2 |
| A | testing3 |
82.165.177.110 |
Idea→Done staging bay 3 |
| A | bioscan |
— | BioScanCheck not deployed — do not point DNS until re-onboarded |
| A | dronecolonies |
82.165.177.110 |
DroneColonies (planned) |
| A | cats |
82.165.177.110 |
Cat tree (planned) |
testing1–testing3 must point at the apps VPS (not infra). Without these A records, Let's Encrypt TLS for Ship previews fails.
Host name = only wearlab, not wearlab.rafaelgonzalezalbes.com
Type = A, not CNAME, not "Domain redirect"
Click Save.
Do NOT use these (wrong place)¶
| Wrong | Why |
|---|---|
| Domain forwarding / redirect | Not DNS — won't work for subdomains |
| Web hosting subdomain folder | That's for files, not your VPS |
Change www |
Your other site uses it — leave it |
Optional: IPv6 (AAAA)¶
If you see AAAA records for git, ci, pm, wearlab, or * pointing to IONOS IPv6:
- Delete them, or
- Add AAAA → VPS IPv4 won't work (IPv6 needs a different address)
Safest: delete stray AAAA for subdomains you route to the VPSes.
Test after saving (wait 15–60 min)¶
PowerShell:
nslookup git.rafaelgonzalezalbes.com 8.8.8.8
nslookup docs.rafaelgonzalezalbes.com 8.8.8.8
nslookup wearlab.rafaelgonzalezalbes.com 8.8.8.8
Expected:
git,ci,docs, … → 85.215.32.166wearlab,bioscan, … → 82.165.177.110
Platform URLs¶
| Tool | URL |
|---|---|
| Git | https://git.rafaelgonzalezalbes.com |
| CI/CD | https://ci.rafaelgonzalezalbes.com |
| Kanban | https://pm.rafaelgonzalezalbes.com |
| Docs | https://docs.rafaelgonzalezalbes.com |
| Security | https://security.rafaelgonzalezalbes.com |
| Metrics | https://metrics.rafaelgonzalezalbes.com |
| Status | https://status.rafaelgonzalezalbes.com |
Application URLs¶
| App | URL |
|---|---|
| WearLab | https://wearlab.rafaelgonzalezalbes.com |
| BioScanCheck | Not deployed — bioscan.* DNS should stay unset |
TLS / HTTP/2 / HTTP/3 for these hosts: TLS and HTTP versions. Portfolio apex/www Cloudflare steps: Portfolio.