Skip to content

📝 Docker Infrastructure Cheatsheet

Quick reference for common operations.

🚀 Stack Management

Start Everything

cd scripts
.\stack-manager.ps1 -Action start

Check Status

.\stack-manager.ps1 -Action status

View Logs

# All services
.\stack-manager.ps1 -Action logs

# Specific service
.\stack-manager.ps1 -Action logs -Service postgres
.\stack-manager.ps1 -Action logs -Service mkdocs
.\stack-manager.ps1 -Action logs -Service fossflow

Stop Everything

.\stack-manager.ps1 -Action stop

Restart

.\stack-manager.ps1 -Action restart

💾 Backup & Restore

Backup All

cd scripts
.\backup-all.ps1

Manual PostgreSQL Backup

docker exec audiolab_postgres pg_dump -U audiolab audiolab_main > backup.sql

Restore PostgreSQL

cat backup.sql | docker exec -i audiolab_postgres psql -U audiolab -d audiolab_main

🗄️ Database Operations

Connect to PostgreSQL

docker exec -it audiolab_postgres psql -U audiolab -d audiolab_main

View Schemas

\dn

View Tables

\dt audiolab.*
\dt metadata.*
\dt analytics.*

Query Plugins

SELECT * FROM audiolab.plugins;

View Project Status

SELECT * FROM audiolab.project_status;

Exit psql

\q

📚 MkDocs Operations

Build Documentation

cd 03_06_06_mkdocs_service
docker-compose up -d

Run Hierarchy Scanner

docker exec -it audiolab_mkdocs python /opt/scripts/discover_hierarchy.py

View Generated Navigation

docker exec -it audiolab_mkdocs cat /opt/scripts/nav_structure.yml

Build Static Site

docker exec -it audiolab_mkdocs mkdocs build

Access Docs

http://localhost:8000

🎨 FossFLOW Operations

Access FossFLOW

http://localhost:8080

Verify Export Directory

docker exec -it audiolab_fossflow ls -la /app/exports

Check Mounted Icons

docker exec -it audiolab_fossflow ls -la /app/public/icons/vector
docker exec -it audiolab_fossflow ls -la /app/public/icons/raster

🐳 Docker Commands

View Running Containers

docker ps --filter "label=audiolab.service"

View All Containers

docker ps -a --filter "label=audiolab.service"

View Logs

docker logs audiolab_mkdocs
docker logs audiolab_postgres
docker logs audiolab_fossflow

Execute Commands

docker exec -it audiolab_mkdocs /bin/bash
docker exec -it audiolab_postgres /bin/bash

View Volumes

docker volume ls --filter "name=audiolab"

Inspect Network

docker network inspect audiolab_network

🔧 Maintenance

Clean Up Stopped Containers

docker container prune -f

Remove Unused Volumes

docker volume prune -f

Remove Unused Images

docker image prune -a -f

Full Cleanup (⚠️ DESTRUCTIVE)

cd 03_06_07_services_stack
docker-compose down -v --remove-orphans

🔄 Rebuild Services

Rebuild MkDocs

cd 03_06_06_mkdocs_service
docker-compose build --no-cache
docker-compose up -d

Rebuild PostgreSQL

cd 03_06_07_services_stack
docker-compose build --no-cache postgres
docker-compose up -d postgres

Rebuild Everything

cd 03_06_07_services_stack
docker-compose build --no-cache
docker-compose up -d

🌐 Network Operations

Create Network Manually

docker network create audiolab_network --subnet=172.25.0.0/16

Remove Network

docker network rm audiolab_network

List Network Connections

docker network inspect audiolab_network --format '{{json .Containers}}' | jq

📊 Monitoring

Resource Usage

docker stats --filter "label=audiolab.service"

Disk Usage

docker system df

Container Health

docker ps --filter "health=healthy"
docker ps --filter "health=unhealthy"

🔍 Debugging

View Full Logs

docker logs audiolab_postgres --tail 100 -f

Inspect Container

docker inspect audiolab_mkdocs

View Environment Variables

docker exec audiolab_postgres env

Check Port Bindings

docker port audiolab_mkdocs
docker port audiolab_postgres
docker port audiolab_fossflow

📁 File Operations

Copy Files from Container

docker cp audiolab_mkdocs:/docs/site ./local_site

Copy Files to Container

docker cp ./local_file audiolab_mkdocs:/tmp/

View Container Filesystem

docker exec audiolab_mkdocs ls -la /docs

🔐 Security

Change PostgreSQL Password

# 1. Stop containers
docker-compose down

# 2. Edit .env
nano .env  # Change POSTGRES_PASSWORD

# 3. Recreate with new password
docker-compose up -d --force-recreate postgres

View Secrets (⚠️ Sensitive)

docker exec audiolab_postgres env | grep POSTGRES

🎯 Common Workflows

Fresh Start

# 1. Configure
cd 03_06_07_services_stack
cp .env.example .env
# Edit .env

# 2. Start
cd ..\scripts
.\stack-manager.ps1 -Action start

# 3. Verify
.\stack-manager.ps1 -Action status

Daily Development

# Start services
.\stack-manager.ps1 -Action start

# Work...

# Stop when done
.\stack-manager.ps1 -Action stop

Update Documentation

# Edit markdown files in repository

# MkDocs auto-reloads (if running)
# Or restart:
cd scripts
.\stack-manager.ps1 -Action restart -Service mkdocs

Create Diagram

1. Open http://localhost:8080
2. Create diagram
3. Export to /app/exports
4. View at http://localhost:8000 → Diagrams section

📞 Help

View Service READMEs

cat 03_06_06_mkdocs_service/README.md
cat 03_06_07_services_stack/README.md
cat README.md

Validation

cat QUICK_VALIDATION.md

Migration Details

cat MIGRATION_SUMMARY.md

Last Updated: 2025-10-04 Quick Access: Bookmark this file for daily operations