Docker
Quick Run
bash
docker run -d \
-p 8080:8080 \
-v utem-data:/app/data \
--name utem \
sddmhossain/utem-core:latestWith Authentication
bash
docker run -d \
-p 8080:8080 \
-v utem-data:/app/data \
-e UTEM_SECURITY_ENABLED=true \
-e UTEM_ADMIN_PASSWORD=changeme \
--name utem \
sddmhossain/utem-core:latestDocker Compose
yaml
version: '3.8'
services:
utem:
image: sddmhossain/utem-core:0.9.2
ports:
- "8080:8080"
volumes:
- utem-data:/app/data
- ./application.properties:/app/application.properties
environment:
- UTEM_SECURITY_ENABLED=true
- UTEM_ADMIN_PASSWORD=changeme
restart: unless-stopped
volumes:
utem-data:Persisting Data
All data is stored in /app/data/utem.db inside the container. Always mount a volume:
bash
-v utem-data:/app/data # named volume (recommended)
-v /host/path:/app/data # bind mountCustom Configuration
Mount your own application.properties:
bash
-v ./application.properties:/app/application.propertiesTags
| Tag | Description |
|---|---|
latest | Latest stable release |
0.9.2 | Specific version |
All tags: Docker Hub
Reverse Proxy (nginx)
nginx
server {
listen 80;
server_name utem.example.com;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}WebSocket
The Upgrade and Connection headers are required for the real-time dashboard (WebSocket/SockJS).