docs: update README and Docker Compose configurations to clarify usage of pre-built images from the Container Registry, introduce the new microvps-full profile with Web UI, NATS, and Prometheus, and enhance quickstart instructions for improved deployment guidance.
CI / changes (push) Successful in 5s
CI / openapi (push) Has been skipped
CI / go (push) Successful in 19s
CI / bird2 (push) Successful in 15s
CI / docker-images (deploy/docker/bird2/Dockerfile, , evobgp-bird2) (push) Successful in 39s
CI / docker-images (deploy/docker/evobgp-agent/Dockerfile, , evobgp-agent) (push) Successful in 1m7s
CI / docker-images (deploy/docker/evobgp-web/Dockerfile, , evobgp-web) (push) Successful in 56s
CI / docker-images (deploy/docker/evobgp-web/Dockerfile, evobgp-all, evobgp-web-all) (push) Successful in 53s
CI / docker-images (evobgp-all, 1, deploy/docker/gobinary/Dockerfile, , evobgp-all) (push) Successful in 1m26s
CI / docker-images (evobgp-api, 1, deploy/docker/gobinary/Dockerfile, , evobgp-api) (push) Successful in 1m27s
CI / docker-images (evobgp-deploy, 0, deploy/docker/gobinary/Dockerfile, , evobgp-deploy) (push) Successful in 1m31s
CI / docker-images (evobgp-ingest, 0, deploy/docker/gobinary/Dockerfile, , evobgp-ingest) (push) Successful in 1m36s
CI / docker-images (evobgp-node, 0, deploy/docker/gobinary/Dockerfile, , evobgp-node) (push) Successful in 1m20s
CI / docker-images (evobgp-render, 0, deploy/docker/gobinary/Dockerfile, , evobgp-render) (push) Successful in 1m30s
CI / docker-images (evobgp-scheduler, 0, deploy/docker/gobinary/Dockerfile, , evobgp-scheduler) (push) Successful in 1m23s
CI / changes (push) Successful in 5s
CI / openapi (push) Has been skipped
CI / go (push) Successful in 19s
CI / bird2 (push) Successful in 15s
CI / docker-images (deploy/docker/bird2/Dockerfile, , evobgp-bird2) (push) Successful in 39s
CI / docker-images (deploy/docker/evobgp-agent/Dockerfile, , evobgp-agent) (push) Successful in 1m7s
CI / docker-images (deploy/docker/evobgp-web/Dockerfile, , evobgp-web) (push) Successful in 56s
CI / docker-images (deploy/docker/evobgp-web/Dockerfile, evobgp-all, evobgp-web-all) (push) Successful in 53s
CI / docker-images (evobgp-all, 1, deploy/docker/gobinary/Dockerfile, , evobgp-all) (push) Successful in 1m26s
CI / docker-images (evobgp-api, 1, deploy/docker/gobinary/Dockerfile, , evobgp-api) (push) Successful in 1m27s
CI / docker-images (evobgp-deploy, 0, deploy/docker/gobinary/Dockerfile, , evobgp-deploy) (push) Successful in 1m31s
CI / docker-images (evobgp-ingest, 0, deploy/docker/gobinary/Dockerfile, , evobgp-ingest) (push) Successful in 1m36s
CI / docker-images (evobgp-node, 0, deploy/docker/gobinary/Dockerfile, , evobgp-node) (push) Successful in 1m20s
CI / docker-images (evobgp-render, 0, deploy/docker/gobinary/Dockerfile, , evobgp-render) (push) Successful in 1m30s
CI / docker-images (evobgp-scheduler, 0, deploy/docker/gobinary/Dockerfile, , evobgp-scheduler) (push) Successful in 1m23s
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# Скопируйте в .env рядом с docker-compose.yaml и подставьте своего владельца реестра (нижний регистр).
|
||||
# Перед первым запуском: docker login git.shts.su
|
||||
|
||||
EVOBGP_REGISTRY=git.shts.su/denozord
|
||||
EVOBGP_IMAGE_TAG=latest
|
||||
@@ -1,15 +1,13 @@
|
||||
# Устаревший минимальный стек только bird2 + agent. Полные профили reference / microvps:
|
||||
# docker compose --profile reference up -d --build -f deploy/compose/docker-compose.yaml
|
||||
# docker compose --profile microvps up -d --build -f deploy/compose/docker-compose.yaml
|
||||
# Устаревший минимальный стек только bird2 + agent (образы из реестра, см. .env.example). Полный стек:
|
||||
# cd deploy/compose && docker compose pull && docker compose --profile reference up -d
|
||||
# cd deploy/compose && docker compose pull && docker compose --profile microvps up -d
|
||||
#
|
||||
# Для входящего BGP (TCP/179) на Linux часто нужен network_mode: host или macvlan — см. план §4.1.
|
||||
name: evobgp-bgp-stack
|
||||
|
||||
services:
|
||||
bird2:
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/bird2/Dockerfile
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-bird2:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
@@ -19,9 +17,7 @@ services:
|
||||
# network_mode: "host" # раскомментируйте при анонсе BGP с хоста
|
||||
|
||||
evobgp-agent:
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/evobgp-agent/Dockerfile
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-agent:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- bird2
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
# Дополнительный файл Compose: профиль microvps-full + ужатые лимиты под хост ~1 ГиБ RAM.
|
||||
#
|
||||
# Запуск (PowerShell, из каталога deploy\compose): сначала .env из .env.example, docker login git.shts.su, docker compose pull
|
||||
# docker compose -f docker-compose.yaml -f docker-compose.microvps-full.yaml --profile microvps-full up -d
|
||||
#
|
||||
# Остановка:
|
||||
# docker compose -f docker-compose.yaml -f docker-compose.microvps-full.yaml --profile microvps-full down
|
||||
#
|
||||
# Лимиты под хост ~1 ГиБ: сумма лимитов контейнеров ~800 МиБ + запас ОС/Docker. При OOM увеличьте RAM VPS или уберите prometheus/nats из профиля (отдельная правка compose).
|
||||
|
||||
services:
|
||||
evobgp-all:
|
||||
environment:
|
||||
EVOBGP_BROKER_URL: nats://nats:4222
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.85"
|
||||
memory: 280M
|
||||
|
||||
postgres:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.45"
|
||||
memory: 180M
|
||||
|
||||
bird2:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 96M
|
||||
|
||||
evobgp-agent:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 48M
|
||||
|
||||
nats:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.2"
|
||||
memory: 48M
|
||||
|
||||
evobgp-web-microvps:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.3"
|
||||
memory: 48M
|
||||
|
||||
prometheus-microvps:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.25"
|
||||
memory: 128M
|
||||
@@ -1,12 +1,18 @@
|
||||
# EvoBGP Compose: профили `reference` (эталон) и `microvps` (одна VPS).
|
||||
#
|
||||
# Образы EvoBGP тянутся из Container Registry (не собираются здесь). Префикс и тег — .env (см. .env.example):
|
||||
# EVOBGP_REGISTRY=git.shts.su/<owner> EVOBGP_IMAGE_TAG=latest
|
||||
# Перед up: docker login git.shts.su && docker compose pull
|
||||
#
|
||||
# Запуск:
|
||||
# docker compose --profile reference up -d --build
|
||||
# docker compose --profile microvps up -d --build
|
||||
# docker compose --profile reference up -d
|
||||
# docker compose --profile microvps up -d
|
||||
# microVPS ~1 ГиБ + Web UI — docs/quickstart.md и docker-compose.microvps-full.yaml
|
||||
#
|
||||
# reference: 5× Go (api + scheduler + ingest + render + deploy) + postgres + NATS JetStream + bird2 + agent + web.
|
||||
# Async jobs выполняются in-process в evobgp-api (jobs.Registry); NATS — задел под брокер (см. docs/architecture.md).
|
||||
# microvps: evobgp-all + postgres + bird2 + agent (без брокера).
|
||||
# microvps: evobgp-all + postgres + bird2 + agent (без брокера и без UI).
|
||||
# microvps-full: как microvps + evobgp-web-microvps (порт 3000) + nats + prometheus-microvps (порт 9090).
|
||||
#
|
||||
# Опция microVPS_sqlite из плана (без контейнера Postgres): требует реализации store на SQLite в приложении;
|
||||
# пока используйте microvps с контейнерным Postgres (единые миграции).
|
||||
@@ -36,7 +42,7 @@ x-env-micro: &env-micro
|
||||
|
||||
services:
|
||||
postgres:
|
||||
profiles: ["reference", "microvps"]
|
||||
profiles: ["reference", "microvps", "microvps-full"]
|
||||
image: postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
@@ -58,7 +64,7 @@ services:
|
||||
memory: 384M
|
||||
|
||||
nats:
|
||||
profiles: ["reference"]
|
||||
profiles: ["reference", "microvps-full"]
|
||||
image: nats:2.10-alpine
|
||||
restart: unless-stopped
|
||||
command: ["-js", "-m", "8222"]
|
||||
@@ -72,12 +78,7 @@ services:
|
||||
|
||||
evobgp-api:
|
||||
profiles: ["reference"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/gobinary/Dockerfile
|
||||
args:
|
||||
BIN: evobgp-api
|
||||
INSTALL_BIRDC: "1"
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-api:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -111,12 +112,7 @@ services:
|
||||
|
||||
evobgp-scheduler:
|
||||
profiles: ["reference"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/gobinary/Dockerfile
|
||||
args:
|
||||
BIN: evobgp-scheduler
|
||||
INSTALL_BIRDC: "0"
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-scheduler:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -138,12 +134,7 @@ services:
|
||||
|
||||
evobgp-ingest:
|
||||
profiles: ["reference"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/gobinary/Dockerfile
|
||||
args:
|
||||
BIN: evobgp-ingest
|
||||
INSTALL_BIRDC: "0"
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-ingest:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -161,12 +152,7 @@ services:
|
||||
|
||||
evobgp-render:
|
||||
profiles: ["reference"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/gobinary/Dockerfile
|
||||
args:
|
||||
BIN: evobgp-render
|
||||
INSTALL_BIRDC: "0"
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-render:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -184,12 +170,7 @@ services:
|
||||
|
||||
evobgp-deploy:
|
||||
profiles: ["reference"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/gobinary/Dockerfile
|
||||
args:
|
||||
BIN: evobgp-deploy
|
||||
INSTALL_BIRDC: "0"
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-deploy:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -210,9 +191,7 @@ services:
|
||||
|
||||
evobgp-web:
|
||||
profiles: ["reference"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/evobgp-web/Dockerfile
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-web:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- evobgp-api
|
||||
@@ -226,13 +205,8 @@ services:
|
||||
memory: 128M
|
||||
|
||||
evobgp-all:
|
||||
profiles: ["microvps"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/gobinary/Dockerfile
|
||||
args:
|
||||
BIN: evobgp-all
|
||||
INSTALL_BIRDC: "1"
|
||||
profiles: ["microvps", "microvps-full"]
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-all:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -259,11 +233,48 @@ services:
|
||||
cpus: "1.0"
|
||||
memory: 512M
|
||||
|
||||
# Web UI → evobgp-all (образ evobgp-web-all из реестра). Reference: сервис evobgp-web → evobgp-api.
|
||||
evobgp-web-microvps:
|
||||
profiles: ["microvps-full"]
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-web-all:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- evobgp-all
|
||||
ports:
|
||||
- "3000:80"
|
||||
logging: *default-logging
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.5"
|
||||
memory: 128M
|
||||
|
||||
prometheus-microvps:
|
||||
profiles: ["microvps-full"]
|
||||
image: prom/prometheus:v2.54.1
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- evobgp-all
|
||||
ports:
|
||||
- "9090:9090"
|
||||
volumes:
|
||||
- ../prometheus/prometheus-microvps.yml:/etc/prometheus/prometheus.yml:ro
|
||||
- ../prometheus/alerts.yml:/etc/prometheus/alerts.yml:ro
|
||||
command:
|
||||
- --config.file=/etc/prometheus/prometheus.yml
|
||||
- --storage.tsdb.path=/prometheus
|
||||
- --storage.tsdb.retention.time=7d
|
||||
- --web.enable-lifecycle
|
||||
logging: *default-logging
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.35"
|
||||
memory: 256M
|
||||
|
||||
bird2:
|
||||
profiles: ["reference", "microvps"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/bird2/Dockerfile
|
||||
profiles: ["reference", "microvps", "microvps-full"]
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-bird2:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
@@ -282,10 +293,8 @@ services:
|
||||
memory: 256M
|
||||
|
||||
evobgp-agent:
|
||||
profiles: ["reference", "microvps"]
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: deploy/docker/evobgp-agent/Dockerfile
|
||||
profiles: ["reference", "microvps", "microvps-full"]
|
||||
image: ${EVOBGP_REGISTRY:-git.shts.su/denozord}/evobgp-agent:${EVOBGP_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- bird2
|
||||
|
||||
Reference in New Issue
Block a user