aboutsummaryrefslogtreecommitdiff
path: root/telemetry/DEPLOYMENT.md
diff options
context:
space:
mode:
Diffstat (limited to 'telemetry/DEPLOYMENT.md')
-rw-r--r--telemetry/DEPLOYMENT.md61
1 files changed, 55 insertions, 6 deletions
diff --git a/telemetry/DEPLOYMENT.md b/telemetry/DEPLOYMENT.md
index dec46bff0..a1dd54907 100644
--- a/telemetry/DEPLOYMENT.md
+++ b/telemetry/DEPLOYMENT.md
@@ -1,6 +1,6 @@
# SeaweedFS Telemetry Server Deployment
-This document describes how to deploy the SeaweedFS telemetry server to a remote server using GitHub Actions.
+This document describes how to deploy the SeaweedFS telemetry server to a remote server using GitHub Actions, or via Docker.
## Prerequisites
@@ -162,6 +162,48 @@ To deploy updates, manually trigger deployment:
4. Check "Deploy telemetry server to remote server"
5. Click "Run workflow"
+## Docker Deployment
+
+You can build and run the telemetry server using Docker locally or on a remote host.
+
+### Build
+
+- Using Docker Compose (recommended):
+
+```bash
+docker compose -f telemetry/docker-compose.yml build telemetry-server
+```
+
+- Using docker build directly (from the repository root):
+
+```bash
+docker build -t seaweedfs-telemetry \
+ -f telemetry/server/Dockerfile \
+ .
+```
+
+### Run
+
+- With Docker Compose:
+
+```bash
+docker compose -f telemetry/docker-compose.yml up -d telemetry-server
+```
+
+- With docker run:
+
+```bash
+docker run -d --name telemetry-server \
+ -p 8080:8080 \
+ seaweedfs-telemetry
+```
+
+Notes:
+
+- The container runs as a non-root user by default.
+- The image listens on port `8080` inside the container. Map it with `-p <host_port>:8080`.
+- You can pass flags to the server by appending them after the image name, e.g. `docker run -d -p 8353:8080 seaweedfs-telemetry -port=8353 -dashboard=false`.
+
## Server Directory Structure
After setup, the remote server will have:
@@ -199,12 +241,19 @@ sudo systemctl start telemetry.service
## Accessing the Service
-After deployment, the telemetry server will be available at:
+After deployment, the telemetry server will be available at (default ports shown; adjust if you override with `-port`):
+
+- Docker default: `8080`
+ - **Dashboard**: `http://your-server:8080`
+ - **API**: `http://your-server:8080/api/*`
+ - **Metrics**: `http://your-server:8080/metrics`
+ - **Health Check**: `http://your-server:8080/health`
-- **Dashboard**: `http://your-server:8353`
-- **API**: `http://your-server:8353/api/*`
-- **Metrics**: `http://your-server:8353/metrics`
-- **Health Check**: `http://your-server:8353/health`
+- Systemd example (if you configured a different port, e.g. `8353`):
+ - **Dashboard**: `http://your-server:8353`
+ - **API**: `http://your-server:8353/api/*`
+ - **Metrics**: `http://your-server:8353/metrics`
+ - **Health Check**: `http://your-server:8353/health`
## Optional: Prometheus and Grafana Integration