Repository navigation
Containerization
The Wall API is containerized using Docker to ensure scalability, portability, and ease of deployment across different environments.
Docker is used in the application to create a consistent, isolated environment across different operating systems.
- Windows: The setup runs on Docker Desktop, providing a user-friendly way to manage containers.
- Linux: Uses Docker Engine and Docker Compose for container and service orchestration.
✔ Containers streamline development by eliminating dependency conflicts, simplifying deployment, and ensuring that services such as
PostgreSQL, Redis, Celery, and Django run seamlessly together.
Docker-related files are located in config/docker and config/scripts/docker.
| Module | Description |
|---|---|
config/ |
|
├── docker/
|
Contains deployment files. |
│ ├── Dockerfile.demo
|
Dockerfile for the demo environment setup. |
│ ├── Dockerfile.dev
|
Dockerfile for the development environment. |
│ ├── Dockerfile.prod
|
Dockerfile for the production environments (prod_v1,2). |
│ ├── docker-compose-demo.yml
|
Docker Compose file for the demo environment. |
│ ├── docker-compose-dev.yml
|
Docker Compose file for the development setup. |
│ ├── docker-compose-prod-v1.yml
|
Production Compose file for prod_v1 deployment. |
│ └── docker-compose-prod-v2.yml
|
Production Compose file for prod_v2 deployment. |
└── scripts/
|
|
└── docker/
|
Contains Docker-related scripts. |
├── docker-compose-dev+migrations.sh
|
Initializes and starts the development environment, ensuring database migrations are applied. |
├── start_celery_computation_worker.sh
|
Starts the Celery Worker 1. |
├── wait_for_celery_worker.py
|
Waits for all Celery workers to be ready. |
└── wait_for_postgres.py
|
Ensures PostgreSQL is available before startup. |
-
Dockerfiles define the containerized environments for development (
dev), production (prod_v1andprod_v2), anddemo. - Docker Compose files orchestrate services such as PostgreSQL, Redis, Celery, and the API backend.
-
Docker-related scripts in
scripts/docker/handle tasks such as service initialization, dependency checks, worker management, and database migrations.
✔ This structure ensures modularity and maintainability by keeping Docker-related configurations and scripts organized within the broader application structure.
The following pages provide structured guidance for setting up the application in the supported Docker environments, detailing their respective Dockerfile and Docker Compose configurations.
Next: Docker - Local Development
Back to: Test Suite
Return to Top
DTS Index
Home Page
📌 Notable Technical Sections
👤 Author
LinkedIn: Aleksandar Dimitrov
Yahoo: sasho_1983@yahoo.com