Docker Deployment Guide#
Table of Contents#
Overview#
This guide covers Docker deployment options for the DLP3D Web Backend service, including standalone deployment and custom image building.
Standalone Web Backend Service#
To run only the Web Backend service using Docker, you need a pre-configured MongoDB server running separately.
Quick Start#
Linux/macOS:
# Run the Web Backend service only
docker run -it -p 18080:18080 -v ./data:/workspace/web-backend/data -e MONGODB_HOST=your_mongodb_host -e MONGODB_PORT=27017 -e MONGODB_ADMIN_USERNAME=admin -e MONGODB_ADMIN_PASSWORD=your_admin_password dlp3d/web_backend:latest
Windows (PowerShell):
# Run the Web Backend service only
docker run -it -p 18080:18080 -v .\data:/workspace/web-backend/data -e MONGODB_HOST=your_mongodb_host -e MONGODB_PORT=27017 -e MONGODB_ADMIN_USERNAME=admin -e MONGODB_ADMIN_PASSWORD=your_admin_password dlp3d/web_backend:latest
Command Parameters#
| Parameter | Description |
|---|---|
-p 18080:18080 |
Maps the container's port 18080 to your host machine's port 18080 |
-v .\data:/workspace/web-backend/data |
Mounts your local data directory to the container's data directory |
-e MONGODB_HOST=your_mongodb_host |
Sets the MongoDB server hostname |
-e MONGODB_PORT=27017 |
Sets the MongoDB server port (default: 27017) |
-e MONGODB_ADMIN_USERNAME=admin |
Sets the MongoDB admin username |
-e MONGODB_ADMIN_PASSWORD=your_admin_password |
Sets the MongoDB admin password |
dlp3d/web_backend:latest |
Uses the pre-built public image |
Prerequisites#
Ensure you have a
datadirectory in your project root with motion database filesMake sure Docker is installed and running on your system
MongoDB server must be already running and accessible with the provided connection parameters
The backend service will automatically create necessary databases in the existing MongoDB server
Building from Source#
If you prefer to build the image from source instead of using the pre-built image:
Build Process#
Linux/macOS:
# Build the Docker image
docker build -t web-backend:local .
# Run the container
docker run -it -p 18080:18080 -v ./data:/workspace/web-backend/data -e MONGODB_HOST=your_mongodb_host -e MONGODB_PORT=27017 -e MONGODB_ADMIN_USERNAME=admin -e MONGODB_ADMIN_PASSWORD=your_admin_password web-backend:local
Windows (PowerShell):
# Build the Docker image
docker build -t web-backend:local .
# Run the container
docker run -it -p 18080:18080 -v .\data:/workspace/web-backend/data -e MONGODB_HOST=your_mongodb_host -e MONGODB_PORT=27017 -e MONGODB_ADMIN_USERNAME=admin -e MONGODB_ADMIN_PASSWORD=your_admin_password web-backend:local
Build Options#
| Option | Description |
|---|---|
-t web-backend:local |
Tags the built image with a custom name |
--no-cache |
Builds without using cache (useful for clean builds) |
--build-arg |
Pass build arguments to the Dockerfile |