HT-002 - Docker Recovery Drive Migration

ATLANTIS ITS

How-To Guide #002

Docker Recovery After Drive Migration


Field Detail

Document ID HT-002

Version 1.0

Date March 10, 2026

Author Ozzy (Claude --- Atlantis AI)

Reviewed By Shane Hardin

Applies To Atlantis ITS Infrastructure

Difficulty Intermediate

Est. Time 15--20 minutes

Related Docs HT-001 --- Cloudflare Connector Rebuild


1. Overview

This guide covers how to recover Docker Desktop and restore all Atlantis containers after a Windows drive migration (e.g. moving from C: to E: drive).

Drive migrations can cause Docker Desktop to hang on startup, lose containers, or fail to connect to the Cloudflare Tunnel. This guide walks through the full recovery process step by step.

⚠️ NOTE: Docker on Windows stores container data in a WSL2 virtual disk file (docker_data.vhdx) --- NOT in a folder you can browse. This means your data survives drive migrations as long as WSL2 remains intact.

2. What Happens During a Drive Migration

When you move your working directory from one drive to another, Docker Desktop may:

  • Hang on startup showing \'Starting the Docker Engine...\'

  • Show zero containers even though they existed before

  • Lose the Cloudflare Tunnel (cloudflared) container

  • Fail to find n8n data if the volume path changed

The good news: your actual workflow data in n8n is stored in two places:


Data Location What It Contains Survives Migration?

E:\Data\AtlantisITS\n8n n8n config, workflows, Yes --- if you credentials migrated this folder

C:\Users\shane\AppData\Local\Docker\wsl\disk\docker_data.vhdx Docker internal WSL2 Yes --- stays on virtual disk (\~7GB) C: drive always


3. When to Use This Guide

  • Docker Desktop hangs on \'Starting the Docker Engine...\'

  • docker ps shows no containers after a reboot

  • n8n.atlantisits.co returns a 530 error

  • You just completed a drive migration

  • Docker was uninstalled and reinstalled

4. Prerequisites


Requirement Details

Docker Desktop Installed --- even if it is currently broken

PowerShell Available (no admin needed)

n8n data folder E:\Data\AtlantisITS\n8n exists on E: drive

Cloudflare access dash.cloudflare.com login ready (see HT-001)


5. Step-by-Step Recovery

Step 1 --- Show Hidden Folders in Windows

You may need to access AppData folders which are hidden by default.

  1. Open File Explorer

  2. Click View in the top menu

  3. Click Show > Hidden Items --- check this box

⚠️ NOTE: Do NOT click the Properties checkbox for Hidden on any folder --- that hides the folder, which is the opposite of what you want.

Step 2 --- Kill Docker Completely

If Docker is hanging, force quit it before doing anything else.

  1. Right-click the Docker whale icon in the Windows taskbar

  2. Click Quit Docker Desktop

  3. If it does not quit, open Task Manager (Ctrl+Shift+Esc)

  4. Go to the Details tab

  5. End all processes named com.docker.* and Docker Desktop.exe

💡 TIP: Wait 10 seconds after killing Docker before restarting it.

Step 3 --- Shut Down WSL2

Open PowerShell and run:

wsl --shutdown

This cleanly resets the WSL2 virtual machine that Docker depends on. Then relaunch Docker Desktop and wait for it to fully start.

Step 4 --- Verify Docker Settings

Once Docker is running, check the settings file to confirm it is not pointing to the old drive:

  1. Open File Explorer and navigate to: C:\Users\shane\AppData\Roaming\Docker\

  2. Open settings-store.json in Notepad

  3. Verify there is no diskPath pointing to C: --- if Docker uses WSL2 storage (default), this file will NOT contain a diskPath entry and that is correct

💡 TIP: The absence of diskPath means Docker is using the WSL2 virtual disk at C:\Users\shane\AppData\Local\Docker\wsl\disk\docker_data.vhdx --- this is normal and expected.

Step 5 --- Restart n8n Container

Your n8n container needs to be recreated pointing to your E: drive data folder. Run this in PowerShell:

docker run -d --name n8n --restart unless-stopped -p 5678:5678 -v E:\Data\AtlantisITS\n8n:/home/node/.n8n n8nio/n8n

Then verify it is running:

docker ps

You should see n8n listed with status Up and port 0.0.0.0:5678->5678/tcp.

⚠️ NOTE: If you get a conflict error saying the name n8n is already in use, run: docker rm n8n --- then retry the run command above.

Step 6 --- Verify n8n Workflows

Open your browser and go to: http://localhost:5678

Log in to n8n and confirm your workflows are visible. You should see the Roofing Lead Engine and any other workflows you had before the migration.

💡 TIP: If workflows are missing, your n8n data folder on E: may not have been migrated correctly. Check that E:\Data\AtlantisITS\n8n contains a database.sqlite file.

Step 7 --- Rebuild Cloudflare Connector

The Cloudflare Tunnel (cloudflared container) will need to be rebuilt after Docker is reset. Follow HT-001 --- Cloudflare Connector Rebuild for full instructions.

Quick version --- check if cloudflared is running:

docker ps

If cloudflared is NOT listed, go to HT-001 Step 4 to get a fresh token, then run:

docker run -d --name cloudflared --restart unless-stopped cloudflare/cloudflared:latest tunnel --no-autoupdate run --token YOUR_TOKEN

Confirm the tunnel is HEALTHY in Cloudflare Zero Trust > Networks > Connectors.

Step 8 --- Fix VS Code Git Workspace Issues

After a drive migration, VS Code may show duplicate workspace folders or Git safe directory warnings. Fix these as follows:

Fix Git safe directory warning (run in PowerShell):

git config --global --add safe.directory D:/Data/AtlantisITS/AI

Fix duplicate workspace folders in VS Code:

  1. Click File > Close Folder

  2. Click File > Open Folder

  3. Navigate to D:\Data\AtlantisITS\AI and open just that one folder

⚠️ NOTE: If a nested subfolder appears in GitHub (e.g. atlantis-ai inside atlantis-ai repo), remove it with: git rm -r --cached atlantis-ai then commit and push.

6. Troubleshooting


Symptom Likely Cause Fix

Docker hangs on WSL2 not cleanly shut Kill Docker in Task Manager, run wsl startup down --shutdown, relaunch

Zero containers after Containers not set to Recreate containers with --restart reboot restart unless-stopped unless-stopped flag

n8n workflows missing Volume path incorrect Check or data not migrated E:\Data\AtlantisITS\n8n\database.sqlite exists

docker rm error: Container still active Run docker stop n8n first, then docker rm n8n container running

530 error on Cloudflare Tunnel down Follow HT-001 to rebuild the Connector n8n.atlantisits.co

502 error on Cloudflare DNS proxy Set ai CNAME to DNS Only (grey cloud) in ai.atlantisits.co enabled Cloudflare DNS

Git safe directory Drive ownership Run git config --global --add error in VS Code mismatch on SDXC/USB safe.directory \<path>


7. Quick Reference --- Recovery Commands


Command Purpose

wsl --shutdown Shut down WSL2 cleanly

docker ps List all running containers

docker ps -a List all containers including stopped ones

docker rm n8n Remove the n8n container (data is safe on E: drive)

docker rm cloudflared Remove the cloudflared container

docker logs n8n View n8n container logs

docker logs View cloudflared logs --- check for auth errors cloudflared

docker start n8n Start an existing stopped container


8. Key File Paths & Infrastructure Info


Item Path / Value

n8n Data Folder E:\Data\AtlantisITS\n8n

Docker WSL2 Virtual C:\Users\shane\AppData\Local\Docker\wsl\disk\docker_data.vhdx Disk

Docker Settings File C:\Users\shane\AppData\Roaming\Docker\settings-store.json

Atlantis Working Path E:\Data\AtlantisITS (primary) | D:\Data\AtlantisITS (secondary)

Command Center D:\Data\AtlantisITS\ops\atlantis-command-center Location

n8n Local URL http://localhost:5678

n8n Public URL https://n8n.atlantisits.co

n8n Port 5678

Roofing Lead Engine https://ai.atlantisits.co URL


9. Prevention --- Before Your Next Drive Migration

Follow these steps BEFORE migrating drives to avoid a full recovery:

  • Export all n8n workflows to JSON files and back up to GitHub

  • Note all Docker container names and run commands

  • Save Cloudflare tunnel token securely before migration

  • Run docker ps -a and screenshot all containers

  • Back up E:\Data\AtlantisITS\n8n folder to a second location

💡 TIP: The Atlantis OS Launcher (built by Cooper) makes it easy to restart all containers with one click after a reboot --- keep it running at startup.

Document prepared by Ozzy (Claude --- Atlantis AI Automations)

atlantisits.info | HT-002 | v1.0 | March 2026