Skip to content

Commit e4914c2

Browse files
committed
docs: migrate from torrust-demo.dev to staging-torrust-demo.com
Complete domain migration across all documentation and configuration files: • Replace torrust-demo.dev with staging-torrust-demo.com in operational files • Update deployment guides, DNS setup documentation, Grafana guides • Update staging templates and deployment scripts • Update Hetzner provider configuration guides • Update testing documentation and manual session logs Domain purchased: staging-torrust-demo.com (cdmon.com, Hetzner DNS) Preserves: ADR and nginx README documentation context per user request Fixes systematic domain references for Hetzner staging deployment Closes #28 domain migration requirements
1 parent f6d9b8e commit e4914c2

12 files changed

+282
-280
lines changed

docs/guides/deployment-guide.md

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ This guide provides comprehensive deployment instructions for the Torrust Tracke
88
across all supported environments:
99

1010
- **🏠 Local Development**: KVM/libvirt for development and testing
11-
- **🧪 Staging Environment**: Hetzner Cloud with `torrust-demo.dev` domain
11+
- **🧪 Staging Environment**: Hetzner Cloud with `staging-torrust-demo.com` domain
1212
- **🚀 Production Environment**: Hetzner Cloud with `torrust-demo.com` domain
1313

1414
The deployment follows **twelve-factor app methodology** with Infrastructure as Code
1515
principles for reproducible, maintainable deployments.
1616

1717
### Deployment Environments
1818

19-
| Environment | Provider | Domain | Purpose | Status |
20-
| --------------- | ------------- | ------------------ | ----------------------------- | ------------------------ |
21-
| **Development** | KVM/libvirt | `test.local` | Local testing and development |**Fully Implemented** |
22-
| **Staging** | Hetzner Cloud | `torrust-demo.dev` | Pre-production testing | 🚧 **In Development** |
23-
| **Production** | Hetzner Cloud | `torrust-demo.com` | Live service | 🚧 **Planned** |
19+
| Environment | Provider | Domain | Purpose | Status |
20+
| --------------- | ------------- | -------------------------- | ----------------------------- | ------------------------ |
21+
| **Development** | KVM/libvirt | `test.local` | Local testing and development |**Fully Implemented** |
22+
| **Staging** | Hetzner Cloud | `staging-torrust-demo.com` | Pre-production testing | 🚧 **In Development** |
23+
| **Production** | Hetzner Cloud | `torrust-demo.com` | Live service | 🚧 **Planned** |
2424

2525
## 📋 Prerequisites
2626

@@ -506,7 +506,7 @@ Infrastructure: Hetzner Cloud servers with floating IPs
506506

507507
Register your domains at any registrar. For this guide:
508508

509-
- **Staging Domain**: `torrust-demo.dev`
509+
- **Staging Domain**: `staging-torrust-demo.com`
510510
- **Production Domain**: `torrust-demo.com`
511511

512512
**Note**: You can use any registrar (cdmon.com, Namecheap, GoDaddy, etc.). The key is
@@ -518,7 +518,7 @@ pointing the nameservers to Hetzner DNS.
518518

519519
1. Go to [Hetzner DNS Console](https://dns.hetzner.com/)
520520
2. Click **"Create zone"**
521-
3. Enter your domain: `torrust-demo.dev`
521+
3. Enter your domain: `staging-torrust-demo.com`
522522
4. Click **"Create zone"**
523523

524524
Repeat for production domain: `torrust-demo.com`
@@ -537,7 +537,7 @@ After creating the zone, note the assigned nameservers:
537537

538538
1. Log in to your cdmon.com control panel
539539
2. Navigate to **"Domain Management"****"DNS Management"**
540-
3. Find your domain (`torrust-demo.dev`)
540+
3. Find your domain (`staging-torrust-demo.com`)
541541
4. Click **"Modify DNS"** or **"Change Nameservers"**
542542
5. Replace existing nameservers with Hetzner nameservers:
543543
- `hydrogen.ns.hetzner.com`
@@ -558,10 +558,10 @@ The process is similar for other registrars:
558558
#### 4.1 Using Hetzner DNS Console
559559

560560
1. Go to [Hetzner DNS Console](https://dns.hetzner.com/)
561-
2. Click on your zone (`torrust-demo.dev`)
561+
2. Click on your zone (`staging-torrust-demo.com`)
562562
3. Add the following records:
563563

564-
**Staging Environment (`torrust-demo.dev`)**:
564+
**Staging Environment (`staging-torrust-demo.com`)**:
565565

566566
| Type | Name | Value | TTL |
567567
| ---- | --------- | ----------------------- | --- |
@@ -616,11 +616,11 @@ create_record() {
616616

617617
# Setup staging DNS
618618
setup_staging_dns() {
619-
echo "Setting up DNS for torrust-demo.dev..."
620-
ZONE_ID=$(get_zone_id "torrust-demo.dev")
619+
echo "Setting up DNS for staging-torrust-demo.com..."
620+
ZONE_ID=$(get_zone_id "staging-torrust-demo.com")
621621

622622
if [[ -z "$ZONE_ID" ]]; then
623-
echo "Error: Zone not found for torrust-demo.dev"
623+
echo "Error: Zone not found for staging-torrust-demo.com"
624624
exit 1
625625
fi
626626

@@ -696,27 +696,27 @@ chmod +x manage-dns.sh
696696

697697
```bash
698698
# Check if nameservers have propagated
699-
dig NS torrust-demo.dev
699+
dig NS staging-torrust-demo.com
700700

701701
# Should show Hetzner nameservers:
702-
# torrust-demo.dev. 3600 IN NS hydrogen.ns.hetzner.com.
703-
# torrust-demo.dev. 3600 IN NS oxygen.ns.hetzner.com.
704-
# torrust-demo.dev. 3600 IN NS helium.ns.hetzner.de.
702+
# staging-torrust-demo.com. 3600 IN NS hydrogen.ns.hetzner.com.
703+
# staging-torrust-demo.com. 3600 IN NS oxygen.ns.hetzner.com.
704+
# staging-torrust-demo.com. 3600 IN NS helium.ns.hetzner.de.
705705
```
706706

707707
#### 5.2 Test DNS Resolution
708708

709709
```bash
710710
# Test staging domain resolution
711-
dig tracker.torrust-demo.dev
712-
dig AAAA tracker.torrust-demo.dev
711+
dig tracker.staging-torrust-demo.com
712+
dig AAAA tracker.staging-torrust-demo.com
713713

714714
# Test production domain resolution
715715
dig tracker.torrust-demo.com
716716
dig AAAA tracker.torrust-demo.com
717717

718718
# Verify the records point to your floating IPs
719-
nslookup tracker.torrust-demo.dev
719+
nslookup tracker.staging-torrust-demo.com
720720
nslookup tracker.torrust-demo.com
721721
```
722722

@@ -729,7 +729,7 @@ Use online tools to verify global propagation:
729729

730730
Search for:
731731

732-
- `tracker.torrust-demo.dev` (A record)
732+
- `tracker.staging-torrust-demo.com` (A record)
733733
- `tracker.torrust-demo.com` (A record)
734734

735735
### Step 6: DNS Management Scripts
@@ -743,7 +743,7 @@ For ongoing DNS management, create utility scripts:
743743
# list-dns-records.sh
744744

745745
HDNS_TOKEN="your-hetzner-dns-token"
746-
DOMAIN=${1:-"torrust-demo.dev"}
746+
DOMAIN=${1:-"staging-torrust-demo.com"}
747747

748748
# Get zone ID
749749
ZONE_ID=$(curl -s -H "Auth-API-Token: $HDNS_TOKEN" \
@@ -772,7 +772,7 @@ curl -s -H "Auth-API-Token: $HDNS_TOKEN" \
772772
# update-dns-record.sh
773773

774774
HDNS_TOKEN="your-hetzner-dns-token"
775-
DOMAIN="torrust-demo.dev"
775+
DOMAIN="staging-torrust-demo.com"
776776
SUBDOMAIN="tracker"
777777
NEW_IP="78.47.140.132"
778778

@@ -815,8 +815,8 @@ automatic subdomain concatenation. Configure each service domain separately.
815815
When you configure:
816816

817817
```bash
818-
TRACKER_DOMAIN=tracker.torrust-demo.dev
819-
GRAFANA_DOMAIN=grafana.torrust-demo.dev
818+
TRACKER_DOMAIN=tracker.staging-torrust-demo.com
819+
GRAFANA_DOMAIN=grafana.staging-torrust-demo.com
820820
```
821821

822822
The system uses these exact domain names:
@@ -827,8 +827,8 @@ The system uses these exact domain names:
827827
#### Required Domain Configuration
828828

829829
- **Staging**:
830-
- `TRACKER_DOMAIN=tracker.torrust-demo.dev`
831-
- `GRAFANA_DOMAIN=grafana.torrust-demo.dev`
830+
- `TRACKER_DOMAIN=tracker.staging-torrust-demo.com`
831+
- `GRAFANA_DOMAIN=grafana.staging-torrust-demo.com`
832832
- **Production**:
833833
- `TRACKER_DOMAIN=tracker.torrust-demo.com`
834834
- `GRAFANA_DOMAIN=grafana.torrust-demo.com`
@@ -975,21 +975,21 @@ HCLOUD_FLOATING_IPV6=2a01:4f8:1c17:a01d::1
975975

976976
# === HETZNER DNS CONFIGURATION ===
977977
HDNS_TOKEN=your-hetzner-dns-token
978-
HDNS_ZONE_NAME=torrust-demo.dev
978+
HDNS_ZONE_NAME=staging-torrust-demo.com
979979

980980
# === VM CONFIGURATION ===
981981
VM_TYPE=cx22 # 4 vCPU, 8GB RAM, 80GB SSD
982982
VM_LOCATION=nbg1 # Nuremberg
983983
VM_IMAGE=ubuntu-24.04
984984

985985
# === DOMAIN CONFIGURATION ===
986-
TRACKER_DOMAIN=tracker.torrust-demo.dev
987-
GRAFANA_DOMAIN=grafana.torrust-demo.dev
986+
TRACKER_DOMAIN=tracker.staging-torrust-demo.com
987+
GRAFANA_DOMAIN=grafana.staging-torrust-demo.com
988988

989989
# === SSL CONFIGURATION ===
990990
ENABLE_SSL=true
991991
SSL_GENERATION_METHOD=letsencrypt
992-
CERTBOT_EMAIL=admin@torrust-demo.dev
992+
CERTBOT_EMAIL=admin@staging-torrust-demo.com
993993

994994
# === DATABASE CONFIGURATION ===
995995
MYSQL_ROOT_PASSWORD=secure_staging_root_password
@@ -1138,11 +1138,11 @@ make app-health-check ENVIRONMENT_TYPE=staging
11381138

11391139
```bash
11401140
# Test staging endpoints
1141-
curl -s https://tracker.torrust-demo.dev/api/health_check | jq
1142-
curl -s "https://tracker.torrust-demo.dev/api/v1/stats?token=$ADMIN_TOKEN" | jq
1141+
curl -s https://tracker.staging-torrust-demo.com/api/health_check | jq
1142+
curl -s "https://tracker.staging-torrust-demo.com/api/v1/stats?token=$ADMIN_TOKEN" | jq
11431143

11441144
# Monitor staging
1145-
open https://grafana.torrust-demo.dev
1145+
open https://grafana.staging-torrust-demo.com
11461146
```
11471147

11481148
### Production Workflow (Coming Soon)
@@ -1194,14 +1194,14 @@ ssh [email protected] \
11941194

11951195
#### Cloud Services
11961196

1197-
| Service | Staging URL | Production URL | Purpose |
1198-
| ----------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ------------ |
1199-
| **Tracker API** | `https://tracker.torrust-demo.dev/api/health_check` | `https://tracker.torrust-demo.com/api/health_check` | Health check |
1200-
| **Tracker Stats** | `https://tracker.torrust-demo.dev/api/v1/stats?token=TOKEN` | `https://tracker.torrust-demo.com/api/v1/stats?token=TOKEN` | Statistics |
1201-
| **HTTP Tracker** | `https://tracker.torrust-demo.dev/announce` | `https://tracker.torrust-demo.com/announce` | HTTP tracker |
1202-
| **UDP Tracker** | `udp://tracker.torrust-demo.dev:6868/announce` | `udp://tracker.torrust-demo.com:6868/announce` | UDP tracker |
1203-
| **UDP Tracker** | `udp://tracker.torrust-demo.dev:6969/announce` | `udp://tracker.torrust-demo.com:6969/announce` | UDP tracker |
1204-
| **Grafana** | `https://grafana.torrust-demo.dev` | `https://grafana.torrust-demo.com` | Monitoring |
1197+
| Service | Staging URL | Production URL | Purpose |
1198+
| ----------------- | ------------------------------------------------------------------- | ----------------------------------------------------------- | ------------ |
1199+
| **Tracker API** | `https://tracker.staging-torrust-demo.com/api/health_check` | `https://tracker.torrust-demo.com/api/health_check` | Health check |
1200+
| **Tracker Stats** | `https://tracker.staging-torrust-demo.com/api/v1/stats?token=TOKEN` | `https://tracker.torrust-demo.com/api/v1/stats?token=TOKEN` | Statistics |
1201+
| **HTTP Tracker** | `https://tracker.staging-torrust-demo.com/announce` | `https://tracker.torrust-demo.com/announce` | HTTP tracker |
1202+
| **UDP Tracker** | `udp://tracker.staging-torrust-demo.com:6868/announce` | `udp://tracker.torrust-demo.com:6868/announce` | UDP tracker |
1203+
| **UDP Tracker** | `udp://tracker.staging-torrust-demo.com:6969/announce` | `udp://tracker.torrust-demo.com:6969/announce` | UDP tracker |
1204+
| **Grafana** | `https://grafana.staging-torrust-demo.com` | `https://grafana.torrust-demo.com` | Monitoring |
12051205

12061206
### Service Management Commands
12071207

@@ -1299,7 +1299,7 @@ curl -I https://tracker.torrust-demo.com
12991299

13001300
**⚠️ Important**: Grafana requires manual setup after deployment.
13011301

1302-
1. **Access Grafana**: `https://grafana.torrust-demo.dev` (or production URL)
1302+
1. **Access Grafana**: `https://grafana.staging-torrust-demo.com` (or production URL)
13031303
2. **Login**: `admin/admin` (change password immediately)
13041304
3. **Add Prometheus data source**: `http://prometheus:9090`
13051305
4. **Import dashboards** from `application/share/grafana/dashboards/`
@@ -1414,11 +1414,11 @@ systemctl status ufw
14141414

14151415
```bash
14161416
# Check nameserver propagation
1417-
dig NS torrust-demo.dev
1417+
dig NS staging-torrust-demo.com
14181418

14191419
# Test DNS resolution
1420-
dig tracker.torrust-demo.dev
1421-
nslookup tracker.torrust-demo.dev
1420+
dig tracker.staging-torrust-demo.com
1421+
nslookup tracker.staging-torrust-demo.com
14221422

14231423
# Check global propagation
14241424
# Use whatsmydns.net or dnschecker.org

0 commit comments

Comments
 (0)