← RETURN TO CITADEL
♜ DOCKER DEPLOYMENT LAB
CONTAINERIZATION · NGINX · IMAGE BUILDS · PORT MAPPING · REBUILD WORKFLOWS
STATUS: DOCUMENTED PROTOTYPE
PROJECT OVERVIEW
The Docker Deployment Lab documents the containerized deployment path built during
The Citadel project. This lab used Docker and NGINX to package and serve the Citadel
website through a repeatable build and run workflow.
The current public frontend later shifted to Apache on port 80 during Odysseus and local AI
integration work, but the Docker deployment remains an important part of the project history
and demonstrates containerization, image builds, and web service deployment.
ARCHITECTURE
Git Repository
↓
docker-site/
↓
Dockerfile
↓
Docker Image: citadel-site
↓
Docker Container
↓
NGINX Web Server
↓
Port Mapping: 8080 → 80
SKILLS DEMONSTRATED
- Created a Dockerfile for a static NGINX web deployment.
- Built a custom Docker image for The Citadel site.
- Ran a containerized web service with host-to-container port mapping.
- Inspected container state using Docker commands.
- Debugged stale dashboard data caused by build-time file copies.
- Documented the difference between build-time assets and runtime telemetry.
COMMAND AREAS PRACTICED
sudo docker build -t citadel-site ./docker-site
sudo docker run -d -p 8080:80 --name citadel-site citadel-site
sudo docker ps
sudo docker ps -a
sudo docker inspect citadel-site
sudo docker rm -f citadel-site
LESSONS LEARNED
- Docker packages an application and its dependencies into a repeatable container.
- NGINX serves the static website files inside the container.
- Docker makes rebuilds more predictable than manual server configuration.
- Static files copied into an image do not update live unless rebuilt or mounted.
- Architecture can evolve as new services like Odysseus are integrated.
CURRENT ROLE IN THE CITADEL
Docker is currently documented as a deployment lab and containerization milestone.
Apache now acts as the active public frontend while The Citadel expands toward
Odysseus, Argus, and Sentinel.
NEXT OBJECTIVES
- Decide whether future Citadel modules should run Docker-first or Apache-routed.
- Create a clean architecture diagram showing Apache, Docker, Odysseus, and Ollama.
- Document container recovery steps for rebuilding the site on a new VM.
- Evaluate Docker Compose for managing future Citadel services.