1. Application Maintenance
1.1 Why Performing Maintenance Operations
This application is built to be resilient and does not require frequent maintenance. However, in some situations you may need to restart the stack to apply a new version or recover from an error state.
For instance, if data processing fails, temporary files may accumulate in the Redis or RabbitMQ volumes. Stopping and restarting the application clears these files and resets the queue.
/!\ Note: This section covers Docker-level maintenance only. Network or firewall configuration specific to your organization is outside the scope of this document.
1.2 When Should You Operate
1.2.1 Data Processes Failed
The first signal that your application needs attention is when data processes launched from Salesforce show a status of "Failed". Before acting, check the error description to rule out issues in your deduplication rules or other integrations.
If the error points to the server itself, proceed to §3.3 – How to Proceed.
1.2.2 Data Processes Pending
If the job queue is stuck on the same message and blocking data processes, clear the RabbitMQ volume and restart the application.
Step 1 — Stop the application:
cd C:\dqe-unify docker compose stop rabbitmqStep 2 — Clear the RabbitMQ data volume:
# Delete all files in the rabbitvol directory Remove-Item -Recurse -Force "C:\dqe-unify\volumes\rabbitvol\*"Step 3 — Restart RabbitMQ:
docker compose start rabbitmq
If the issue persists, perform a full restart as described in §3.3.
1.3 How to Proceed
1.3.1 Step 1 – Get the Logs
Logs on a Windows VM are managed directly by Docker. Use the following commands to retrieve them.
View live logs for all services:
cd C:\dqe-unify
docker compose logs -fView logs for a specific service:
docker compose logs -f unify-server
docker compose logs -f queue-workerExport logs to a file for analysis:
docker compose logs --no-color unify-server C:\dqe-unify\logs\unify-server.log
docker compose logs --no-color queue-worker C:\dqe-unify\logs\queue-worker.logLog retention: Docker logs are stored on the VM's disk and are not automatically rotated. To configure log rotation, edit the Docker daemon configuration (C:\ProgramData\Docker\config\daemon.json):
{
"log-driver": "json-file",
"log-opts": {
"max-size": "50m",
"max-file": "5"
}
}1.3.2 Step 2 – Rebuild / Update the Application
To deploy a newer image version or clear all volumes, stop and remove the containers, then pull the latest images and restart.
Step 1 — Stop and remove all containers:
cd C:\dqe-unify docker compose downStep 2 — (Optional) Clear the persistent volumes if needed:
Remove-Item -Recurse -Force "C:\dqe-unify\volumes\redisvol\*" Remove-Item -Recurse -Force "C:\dqe-unify\volumes\rabbitvol\*"Step 3 — Pull the latest images:
docker compose pullStep 4 — Restart the application:
docker compose up -d
1.3.3 Step 3 – Restart
For a simple restart (without clearing volumes or pulling new images):
cd C:\dqe-unify
docker compose restartMonitor the restart:
docker compose psAll services should reach the status running. If a service shows exited or remains in a restarting loop, check its logs and contact DQE Software support if the issue cannot be resolved.
/!\ Important: The restart: always policy in the Compose file ensures that containers automatically restart after a VM reboot or Docker daemon restart. No manual intervention is required for routine VM reboots.
1.4 Ensure Automatic Start on VM Boot
On Windows Server, Docker Engine runs as a Windows service. Ensure it is configured to start automatically so that containers restart after any VM reboot without manual intervention.
Verify the service startup type in PowerShell as Administrator:
Get-Service docker | Select-Object Name, StartType, StatusIf StartType is not Automatic, set it:
Set-Service -Name docker -StartupType Automatic
Start-Service dockerBecause restart: always is set for every service in docker-compose.yml, Docker Engine will automatically restart all containers when the service starts at boot. No additional configuration is required.
1.5 Useful Commands Reference
| Action | Command (run from C:\dqe-unify) |
|---|---|
| Start all services | docker compose up -d |
| Stop all services | docker compose down |
| Restart all services | docker compose restart |
| View status | docker compose ps |
| View all logs | docker compose logs -f |
| View server logs | docker compose logs -f unify-server |
| View worker logs | docker compose logs -f queue-worker |
| Pull latest images | docker compose pull |
| Rebuild & redeploy | docker compose down && docker compose pull && docker compose up -d |
| Connect to a container shell | docker compose exec unify-server bash |
| Inspect container resource usage | docker stats |
Related to