Merge pull request #29 from tardigrde/add-dockerfile

feat: add Dockerfile for containerized deployment
This commit is contained in:
Tuğcan Topaloğlu
2026-03-17 13:48:51 +03:00
committed by GitHub
3 changed files with 61 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
.git
.gitignore
docs
README.md
RELEASE_NOTES.md
install.sh
+23
View File
@@ -0,0 +1,23 @@
FROM node:24-alpine
RUN apk add --no-cache docker-cli curl
WORKDIR /app
COPY server.js index.html ./
COPY scripts/ ./scripts/
RUN chown -R node:node /app
USER node
ENV NODE_ENV=production
ENV DASHBOARD_PORT=3001
ENV DASHBOARD_ALLOW_HTTP=true
EXPOSE 3001
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD curl -sf http://127.0.0.1:${DASHBOARD_PORT:-3001}/ || exit 1
CMD ["node", "server.js"]
+32
View File
@@ -145,6 +145,38 @@ View logs:
journalctl -u agent-dashboard -f
```
### Docker
```bash
# Build
docker build -t openclaw-dashboard .
# Run
docker run -d \
--name openclaw-dashboard \
-p 3001:3001 \
-e WORKSPACE_DIR=/app/workspace \
-e DASHBOARD_ALLOW_HTTP=true \
-v ~/.openclaw:/home/node/.openclaw:ro \
-v ~/.openclaw/workspace:/app/workspace \
openclaw-dashboard
```
For Docker management page access, pass the Docker socket:
```bash
docker run -d \
--name openclaw-dashboard \
-p 3001:3001 \
-e WORKSPACE_DIR=/app/workspace \
-e DASHBOARD_ALLOW_HTTP=true \
-v ~/.openclaw:/home/node/.openclaw:ro \
-v ~/.openclaw/workspace:/app/workspace \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--group-add $(stat -c '%g' /var/run/docker.sock) \
openclaw-dashboard
```
### Environment Variables
| Variable | Description | Default |