9dfa06ffee
Docker image / Build (linux/amd64) (push) Has been cancelled
Docker image / Build (linux/arm64) (push) Has been cancelled
Docker image / Merge release multi-arch manifest (push) Has been cancelled
Docker image / Merge debug multi-arch manifest (push) Has been cancelled
Docker image / Build public push gateway (linux/amd64) (push) Has been cancelled
Docker image / Build public push gateway (linux/arm64) (push) Has been cancelled
Docker image / Publish public push gateway image (push) Has been cancelled
Sprig image / Build (linux/amd64) (push) Has been cancelled
Sprig image / Build (linux/arm64) (push) Has been cancelled
Sprig image / Merge multi-arch manifest (push) Has been cancelled
Harbor Buzz Orchestra / Python tests and lint (push) Has been cancelled
CI / Detect Changed Paths (push) Has been cancelled
CI / Rust Lint (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Desktop Core (push) Has been cancelled
CI / Desktop Smoke E2E (1) (push) Has been cancelled
CI / Desktop Smoke E2E (2) (push) Has been cancelled
CI / Desktop Smoke E2E (3) (push) Has been cancelled
CI / Desktop Smoke E2E (4) (push) Has been cancelled
CI / Desktop (push) Has been cancelled
CI / Desktop E2E Relay (push) Has been cancelled
CI / Desktop E2E Integration (1/2) (push) Has been cancelled
CI / Desktop E2E Integration (2/2) (push) Has been cancelled
CI / Desktop E2E Integration (push) Has been cancelled
CI / Backend Integration (relay e2e) (push) Has been cancelled
CI / Relay E2E (push) Has been cancelled
CI / Web (push) Has been cancelled
CI / Mobile (push) Has been cancelled
CI / Security (push) Has been cancelled
CI / Dead Token Reference Guard (push) Has been cancelled
CI / Server Cross-Compile (aarch64-unknown-linux-musl) (push) Has been cancelled
CI / Server Cross-Compile (x86_64-unknown-linux-musl) (push) Has been cancelled
CI / Windows Rust (x86_64-pc-windows-msvc) (push) Has been cancelled
CI / Desktop Build (macOS) (push) Has been cancelled
helm chart / lint + unittest + render matrix (push) Has been cancelled
helm chart / install on kind (gated) (push) Has been cancelled
helm chart / publish chart to GHCR (push) Has been cancelled
Mesh Lifecycle / Relay-Driven Mesh Lifecycle Smoke (push) Has been cancelled
Sprig / Build (aarch64-unknown-linux-musl) (push) Has been cancelled
Sprig / Build (x86_64-unknown-linux-musl) (push) Has been cancelled
Sprig / Publish rolling release (push) Has been cancelled
Sprig / Publish tagged release (push) Has been cancelled
Signed-off-by: cls_宁波本机 <908705107@qq.com>
143 lines
4.3 KiB
YAML
143 lines
4.3 KiB
YAML
name: buzz-prod
|
|
|
|
services:
|
|
relay:
|
|
image: ${BUZZ_IMAGE:-ghcr.io/block/buzz:main}
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
BUZZ_BIND_ADDR: 0.0.0.0:3000
|
|
BUZZ_HEALTH_PORT: "8080"
|
|
BUZZ_METRICS_PORT: "9102"
|
|
DATABASE_URL: postgres://${POSTGRES_USER:-buzz}:${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB:-buzz}
|
|
REDIS_URL: redis://:${REDIS_PASSWORD:?set REDIS_PASSWORD}@redis:6379
|
|
BUZZ_S3_ENDPOINT: http://minio:9000
|
|
# Docker DNS resolves `minio`, not arbitrary `<bucket>.minio` hosts.
|
|
BUZZ_S3_ADDRESSING_STYLE: path
|
|
BUZZ_S3_ACCESS_KEY: ${BUZZ_S3_ACCESS_KEY:?set BUZZ_S3_ACCESS_KEY}
|
|
BUZZ_S3_SECRET_KEY: ${BUZZ_S3_SECRET_KEY:?set BUZZ_S3_SECRET_KEY}
|
|
BUZZ_S3_BUCKET: ${BUZZ_S3_BUCKET:-buzz-media}
|
|
BUZZ_GIT_REPO_PATH: /data/git
|
|
BUZZ_AUTO_MIGRATE: ${BUZZ_AUTO_MIGRATE:-false}
|
|
BUZZ_GIT_CONFORMANCE_PROBE: ${BUZZ_GIT_CONFORMANCE_PROBE:-true}
|
|
ports:
|
|
- "${BUZZ_HTTP_PORT:-3000}:3000"
|
|
volumes:
|
|
- buzz-git-data:/data/git
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
minio:
|
|
condition: service_healthy
|
|
minio-init:
|
|
condition: service_completed_successfully
|
|
# Probe /_readiness over /dev/tcp because the runtime image has bash but no curl/wget/socat.
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD-SHELL",
|
|
"bash -ec 'exec 3<>/dev/tcp/127.0.0.1/8080; printf \"GET /_readiness HTTP/1.1\\r\\nHost: 127.0.0.1\\r\\nConnection: close\\r\\n\\r\\n\" >&3; grep -q \"200 OK\" <&3'",
|
|
]
|
|
interval: 10s
|
|
timeout: 3s
|
|
retries: 12
|
|
start_period: 30s
|
|
restart: unless-stopped
|
|
networks:
|
|
- buzz-net
|
|
|
|
postgres:
|
|
image: postgres:17-alpine
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-buzz}
|
|
POSTGRES_USER: ${POSTGRES_USER:-buzz}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
volumes:
|
|
- buzz-postgres-data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 12
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
networks:
|
|
- buzz-net
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
command: ["redis-server", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD:?set REDIS_PASSWORD}"]
|
|
environment:
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:?set REDIS_PASSWORD}
|
|
volumes:
|
|
- buzz-redis-data:/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "redis-cli -a \"$${REDIS_PASSWORD}\" ping | grep -q PONG"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 12
|
|
start_period: 5s
|
|
restart: unless-stopped
|
|
networks:
|
|
- buzz-net
|
|
|
|
minio:
|
|
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
|
|
command: server /data --console-address ":9001"
|
|
environment:
|
|
MINIO_ROOT_USER: ${BUZZ_S3_ACCESS_KEY:?set BUZZ_S3_ACCESS_KEY}
|
|
MINIO_ROOT_PASSWORD: ${BUZZ_S3_SECRET_KEY:?set BUZZ_S3_SECRET_KEY}
|
|
volumes:
|
|
- buzz-minio-data:/data
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/minio/health/live"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 12
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
networks:
|
|
- buzz-net
|
|
|
|
minio-init:
|
|
image: minio/mc:RELEASE.2025-08-13T08-35-41Z
|
|
depends_on:
|
|
minio:
|
|
condition: service_healthy
|
|
environment:
|
|
BUZZ_S3_ACCESS_KEY: ${BUZZ_S3_ACCESS_KEY:?set BUZZ_S3_ACCESS_KEY}
|
|
BUZZ_S3_SECRET_KEY: ${BUZZ_S3_SECRET_KEY:?set BUZZ_S3_SECRET_KEY}
|
|
BUZZ_S3_BUCKET: ${BUZZ_S3_BUCKET:-buzz-media}
|
|
entrypoint: >
|
|
/bin/sh -euc '
|
|
mc alias set local http://minio:9000 "$${BUZZ_S3_ACCESS_KEY}" "$${BUZZ_S3_SECRET_KEY}"
|
|
mc mb --ignore-existing "local/$${BUZZ_S3_BUCKET}"
|
|
mc anonymous set none "local/$${BUZZ_S3_BUCKET}"
|
|
'
|
|
restart: "no"
|
|
networks:
|
|
- buzz-net
|
|
|
|
volumes:
|
|
buzz-postgres-data:
|
|
labels:
|
|
com.buzz.volume: postgres
|
|
buzz-redis-data:
|
|
labels:
|
|
com.buzz.volume: redis
|
|
buzz-minio-data:
|
|
labels:
|
|
com.buzz.volume: minio
|
|
buzz-git-data:
|
|
labels:
|
|
com.buzz.volume: git
|
|
|
|
networks:
|
|
buzz-net:
|
|
driver: bridge
|
|
labels:
|
|
com.buzz.network: production
|