# MkDocs Decommission - Complete Procedure

**Status:** Ready to Execute  
**Priority:** Tier 3 - Cleanup  
**Time Estimate:** 15 minutes  
**Last Updated:** 2026-02-17

---

## Overview

Decommission MkDocs documentation service, which has been replaced by Wiki.js. Clean removal of containers, files, and DNS records.

**Why decommission:**
- Wiki.js provides better features (WYSIWYG editing, permissions, search)
- Two documentation systems create confusion
- MkDocs was Git-native but harder for non-technical users
- Consolidation simplifies infrastructure

**What's replacing it:**
- **Wiki.js Subscribers** (docs.firefrostgaming.com) - Public documentation
- **Wiki.js Staff** (staff.firefrostgaming.com) - Internal documentation

---

## Current State

**MkDocs Location:** Ghost VPS (64.50.188.14)  
**Container:** Running via Docker  
**URL:** docs.firefrostgaming.com  
**Content:** Migrated to Wiki.js

---

## Pre-Decommission Checklist

**CRITICAL: Verify before proceeding!**

- [ ] Wiki.js Subscribers is fully operational
- [ ] All MkDocs content migrated to Wiki.js
- [ ] No external links pointing to MkDocs URLs
- [ ] DNS ready to update (or remove)
- [ ] Backup of MkDocs content exists (in Git)

**If any item is NOT checked, STOP and resolve before proceeding.**

---

## Decommission Procedure

### Phase 1: Stop MkDocs Service (2 min)

```bash
# SSH to Ghost VPS
ssh root@64.50.188.14

# Find MkDocs container
docker ps | grep mkdocs

# Stop the container
docker stop mkdocs-container-name

# Verify stopped
docker ps | grep mkdocs
# Should return nothing
```

### Phase 2: Remove Docker Resources (3 min)

```bash
# Remove container
docker rm mkdocs-container-name

# Remove MkDocs image (if no other containers use it)
docker images | grep mkdocs
docker rmi mkdocs-image-name

# Clean up unused images
docker image prune -a

# Verify removal
docker ps -a | grep mkdocs
# Should return nothing
```

### Phase 3: Clean Up Files (5 min)

```bash
# Navigate to MkDocs directory
cd /opt/mkdocs  # Or wherever MkDocs files are stored

# Archive before deletion (safety measure)
tar -czf /root/mkdocs-archive-$(date +%Y%m%d).tar.gz .

# Remove MkDocs directory
cd /
rm -rf /opt/mkdocs

# Verify removal
ls -la /opt/ | grep mkdocs
# Should return nothing
```

### Phase 4: Update DNS (3 min)

**Option A: Redirect to Wiki.js**

Update DNS record:
- `docs.firefrostgaming.com` → Point to Wiki.js server IP

**In your DNS provider:**
```
BEFORE:
docs.firefrostgaming.com  A  64.50.188.14 (Ghost VPS)

AFTER:
docs.firefrostgaming.com  A  [Wiki.js server IP]
```

**Option B: Remove DNS Record**

If docs.firefrostgaming.com is not being used:
- Delete the A record entirely

**DNS Propagation:** May take up to 24-48 hours

---

### Phase 5: Update Nginx (if applicable) (2 min)

```bash
# If Nginx reverse proxy was set up for MkDocs
cd /etc/nginx/sites-available/

# Remove MkDocs configuration
rm mkdocs.conf
rm /etc/nginx/sites-enabled/mkdocs.conf

# Test Nginx config
nginx -t

# Reload Nginx
systemctl reload nginx
```

---

### Phase 6: Document Decommission

```bash
# Add entry to infrastructure manifest
# Note: MkDocs decommissioned [date]
# Replaced by: Wiki.js Subscribers
```

**Update docs/core/infrastructure-manifest.md:**

```markdown
## Decommissioned Services

### MkDocs (Decommissioned 2026-02-XX)
- **Previous URL:** docs.firefrostgaming.com
- **Location:** Ghost VPS
- **Reason:** Replaced by Wiki.js for better features
- **Replacement:** Wiki.js Subscribers (docs.firefrostgaming.com)
- **Archive:** mkdocs-archive-20260217.tar.gz on Ghost VPS
```

---

## Verification

### Check 1: Service is Down

```bash
# From any machine
curl https://docs.firefrostgaming.com

# Should either:
# - Return Wiki.js page (if DNS redirected)
# - Timeout (if DNS record removed)
# - NOT return MkDocs page
```

### Check 2: Docker Clean

```bash
# On Ghost VPS
docker ps -a | grep mkdocs
docker images | grep mkdocs

# Both should return nothing
```

### Check 3: Files Removed

```bash
# On Ghost VPS
ls -la /opt/ | grep mkdocs

# Should return nothing
```

### Check 4: Archive Exists

```bash
# On Ghost VPS
ls -la /root/ | grep mkdocs-archive

# Should show: mkdocs-archive-YYYYMMDD.tar.gz
```

---

## Rollback Plan

**If something goes wrong and you need MkDocs back:**

### Quick Rollback (15 min)

```bash
# Restore from archive
cd /opt
tar -xzf /root/mkdocs-archive-YYYYMMDD.tar.gz -C mkdocs/

# Restart Docker container
docker start mkdocs-container-name

# Or recreate container from compose file
cd /opt/mkdocs
docker-compose up -d

# Revert DNS (point back to Ghost VPS)
```

---

## Post-Decommission Cleanup

### Week 1

- [ ] Monitor for any broken links referencing MkDocs
- [ ] Check if anyone complains about missing MkDocs
- [ ] Verify Wiki.js is fulfilling documentation needs

### Month 1

- [ ] If no issues, delete mkdocs-archive-YYYYMMDD.tar.gz
- [ ] Remove any remaining references to MkDocs in docs
- [ ] Update any guides that mentioned MkDocs

---

## Common Issues

### "I need content from MkDocs!"

**Solution:**
- All content should already be in Wiki.js
- If something is missing, restore from Git (MkDocs was Git-native)
- Or extract from archive: `tar -xzf mkdocs-archive-YYYYMMDD.tar.gz`

### DNS still points to old server

**Issue:** DNS propagation delay

**Solution:**
- Wait 24-48 hours for full propagation
- Clear your browser cache
- Use `dig docs.firefrostgaming.com` to check DNS

### Nginx still trying to serve MkDocs

**Issue:** Nginx config not removed

**Solution:**
```bash
rm /etc/nginx/sites-enabled/mkdocs.conf
nginx -t
systemctl reload nginx
```

---

## Related Documentation

- **Wiki.js Deployment** - Replacement service
- **Infrastructure Manifest** - Update decommissioned services
- **DNS Management** - Update records

---

**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️

---

**Document Status:** COMPLETE  
**Ready to Execute:** When verified Wiki.js is operational (15 minutes)  
**Dependencies:** SSH access to Ghost VPS, DNS management access  
**Risk Level:** LOW (content backed up in Git and archive)
