mirror of
https://github.com/HarborGuard/HarborGuard.git
synced 2026-03-23 00:02:41 +08:00
82 lines
1.9 KiB
YAML
82 lines
1.9 KiB
YAML
services:
|
|
dashboard:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dashboard
|
|
ports:
|
|
- "3456:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=3000
|
|
- HOSTNAME=0.0.0.0
|
|
- DATABASE_URL=postgresql://postgres:harborguard@db:5432/harborguard
|
|
- S3_ENDPOINT=http://minio:9000
|
|
- S3_BUCKET=harborguard
|
|
- S3_ACCESS_KEY=minioadmin
|
|
- S3_SECRET_KEY=minioadmin
|
|
- LOG_LEVEL=info
|
|
- HEALTH_CHECK_ENABLED=true
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
minio:
|
|
condition: service_started
|
|
|
|
sensor:
|
|
image: ghcr.io/harborguard/harborguard-sensor:latest
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- sensor-cache:/workspace/cache
|
|
environment:
|
|
- HG_DASHBOARD_URL=http://dashboard:3000
|
|
- HG_API_KEY=${HG_API_KEY:-}
|
|
- HG_AGENT_NAME=local-sensor
|
|
- HG_S3_ENDPOINT=http://minio:9000
|
|
- HG_S3_BUCKET=harborguard
|
|
- HG_S3_ACCESS_KEY=minioadmin
|
|
- HG_S3_SECRET_KEY=minioadmin
|
|
- HG_LOG_LEVEL=info
|
|
depends_on:
|
|
- dashboard
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
- POSTGRES_DB=harborguard
|
|
- POSTGRES_PASSWORD=harborguard
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
minio:
|
|
image: minio/minio
|
|
command: server /data --console-address ":9001"
|
|
ports:
|
|
- "9002:9001"
|
|
environment:
|
|
- MINIO_ROOT_USER=minioadmin
|
|
- MINIO_ROOT_PASSWORD=minioadmin
|
|
volumes:
|
|
- s3data:/data
|
|
|
|
minio-init:
|
|
image: minio/mc
|
|
depends_on:
|
|
- minio
|
|
entrypoint: >
|
|
/bin/sh -c "
|
|
sleep 3;
|
|
mc alias set s3 http://minio:9000 minioadmin minioadmin;
|
|
mc mb s3/harborguard --ignore-existing;
|
|
exit 0;
|
|
"
|
|
|
|
volumes:
|
|
pgdata:
|
|
s3data:
|
|
sensor-cache:
|