Files
madbase/templates/all-in-one.yaml
Vlad Durnea cffdf8af86
Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
wip:milestone 0 fixes
2026-03-15 12:35:42 +02:00

133 lines
3.2 KiB
YAML

id: all-in-one
name: All-in-One Development Node
description: Complete MadBase stack on a single server for development/testing
version: 1.0
min_hetzner_plan: CX41
estimated_monthly_cost: 25.60
services:
- id: postgresql
name: PostgreSQL
image: registry.gitlab.com/postgres-ai/postgresql-autobase/patroni:3.0.2
ports: ["5432:5432", "8008:8008"]
resource_profile: balanced
- id: etcd
name: etcd
image: quay.io/coreos/etcd:v3.5.9
ports: ["2379:2379", "2380:2380"]
resource_profile: minimal
- id: haproxy
name: HAProxy
image: haproxy:2.8-alpine
ports: ["5433:5433"]
resource_profile: minimal
- id: redis
name: Redis
image: redis:7-alpine
ports: ["6379:6379"]
resource_profile: minimal
- id: minio
name: MinIO
image: quay.io/minio/minio:latest
ports: ["9000:9000", "9001:9001"]
command: ["server", "/data", "--console-address", ":9001"]
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
volumes:
- minio_data:/data
resource_profile: balanced
optional: true
condition: USE_SELF_HOSTED_STORAGE == true
- id: worker
name: MadBase Worker
image: madbase/worker:latest
ports: ["8002:8002"]
replicas: 2
resource_profile: cpu_intensive
- id: proxy
name: Gateway Proxy
image: madbase/proxy:latest
ports: ["8080:8080"]
resource_profile: balanced
- id: control
name: Control Plane API
image: madbase/control:latest
ports: ["8001:8001"]
resource_profile: balanced
- id: victoria
name: VictoriaMetrics
image: victoriametrics/victoria-metrics:latest
ports: ["8428:8428"]
volumes:
- vm_data:/victoria-metrics-data
resource_profile: balanced
- id: loki
name: Loki
image: grafana/loki:latest
ports: ["3100:3100"]
volumes:
- loki_data:/loki
resource_profile: balanced
- id: vmagent
name: VictoriaMetrics Agent
image: victoriametrics/vmagent:latest
ports: ["8429:8429"]
resource_profile: minimal
- id: promtail
name: Promtail
image: grafana/promtail:latest
volumes:
- /var/log:/var/log:ro
- ./config/promtail.yml:/etc/promtail/config.yml:ro
resource_profile: minimal
- id: grafana
name: Grafana
image: grafana/grafana:latest
ports: ["3030:3030"]
environment:
GF_SECURITY_ADMIN_USER: ${GRAFANA_USER:-admin}
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD}
GF_SERVER_ROOT_URL: http://localhost:3030
GF_INSTALL_PLUGINS: grafana-piechart-panel
volumes:
- grafana_data:/var/lib/grafana
resource_profile: balanced
requirements:
min_nodes: 1
max_nodes: 1
supports_ha: false
recommended_deployment: "Single server for development, testing, or production MVP"
notes: |
This template runs ALL services on one machine.
Not recommended for production with significant traffic.
Upgrade to dedicated templates when:
- CPU usage > 70% sustained
- Memory usage > 80%
- Need true HA for database
networks:
frontend:
ports: [8080, 3030]
backend:
ports: [8001, 8002, 5433, 6379]
monitoring:
ports: [8428, 3100, 8429]
storage:
ports: [9000, 9001]