veza/config/docker/docker-compose.local.yml

130 lines
4.1 KiB
YAML
Raw Normal View History

chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# ============================================================================
# DEPRECATED — local dev compose variant (postgres:15 on port 5433).
# Redundant with docker-compose.dev.yml at the repo root (postgres:16 on the
# project-wide port mapping). Use docker-compose.dev.yml instead:
# docker compose -f docker-compose.dev.yml up -d
# Marked in v1.0.4 cleanup. Candidate for deletion once confirmed unused.
# ============================================================================
version: "3.8"
services:
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# Base de données PostgreSQL
postgres:
image: postgres:15-alpine
container_name: veza-postgres-local
environment:
POSTGRES_DB: veza_local
POSTGRES_USER: veza_user
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-devpassword}
ports:
- "5433:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
- ./scripts/database/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- veza-network
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# Cache Redis
redis:
image: redis:7-alpine
container_name: veza-redis-local
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- veza-network
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# Monitoring - Prometheus
prometheus:
image: prom/prometheus:latest
container_name: veza-prometheus-local
ports:
- "9090:9090"
volumes:
- ./config/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.console.libraries=/etc/prometheus/console_libraries"
- "--web.console.templates=/etc/prometheus/consoles"
- "--storage.tsdb.retention.time=200h"
- "--web.enable-lifecycle"
networks:
- veza-network
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# Monitoring - Grafana
grafana:
image: grafana/grafana:latest
container_name: veza-grafana-local
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_PASSWORD: admin
GF_USERS_ALLOW_SIGN_UP: "false"
volumes:
- grafana_data:/var/lib/grafana
- ./config/grafana/dashboards:/etc/grafana/provisioning/dashboards
- ./config/grafana/datasources:/etc/grafana/provisioning/datasources
networks:
- veza-network
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# Logging - Elasticsearch
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0
container_name: veza-elasticsearch-local
environment:
- discovery.type=single-node
# SECURITY(LOW-004): Enable xpack security. Set ELASTIC_PASSWORD in .env.
- xpack.security.enabled=true
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD:-devpassword}
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ports:
- "9200:9200"
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
networks:
- veza-network
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# Logging - Kibana
kibana:
image: docker.elastic.co/kibana/kibana:8.8.0
container_name: veza-kibana-local
ports:
- "5601:5601"
environment:
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
volumes:
- kibana_data:/usr/share/kibana/data
networks:
- veza-network
depends_on:
- elasticsearch
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
# Logging - Filebeat
filebeat:
image: docker.elastic.co/beats/filebeat:8.8.0
container_name: veza-filebeat-local
user: root
volumes:
- ./config/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- veza-network
depends_on:
- elasticsearch
volumes:
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
postgres_data:
redis_data:
prometheus_data:
grafana_data:
elasticsearch_data:
kibana_data:
networks:
chore(infra): J6 — mark 3 dormant docker-compose files as deprecated Audit cross-checked against active composes shows three dormant compose files that duplicate functionality already covered by the canonical docker-compose.{,dev,prod,staging,test}.yml at the repo root. None are referenced from Make targets, scripts, or CI workflows. They have diverged from the active set (different ports, older Postgres version, no shared volume names, etc.) and are a footgun for new contributors. Files marked DEPRECATED with a header pointing at the canonical compose to use instead: veza-stream-server/docker-compose.yml Standalone stream-server compose. Same service is provided by the root docker-compose.yml under the `docker-dev` profile. infra/docker-compose.lab.yml Lab Postgres on default port 5432. Conflicts with a host Postgres on most setups; root docker-compose.dev.yml uses non-default ports for a reason. config/docker/docker-compose.local.yml Local Postgres 15 variant on port 5433. Redundant with root docker-compose.dev.yml (Postgres 16, project-wide port mapping). Not in this commit (intentionally limited J6 scope, per audit plan "verify, don't refactor"): - No `extends:` consolidation across the active composes — that is a 1-2 day refactor on its own and not a v1.0.4 concern. - The five active composes were syntactically validated locally (docker compose config); production and staging both require operator-injected env vars (DB_PASS, S3_*, RABBITMQ_PASS, etc.) which is the intended behavior, not a bug. - Cross-compose audit confirms zero references to the removed chat-server or any other dead service / image. Only one residual deprecation warning across all active composes: the obsolete `version:` field on docker-compose.{prod,test,test}.yml — cosmetic, not blocking. - Test suite verification (Go / Rust / Vitest) deferred to Forgejo CI rather than re-running locally. The pre-push hook + remote pipeline will gate the next push. Follow-up candidates (not blocking v1.0.4): - Delete the three deprecated files once a 2-month grace period confirms no local dev workflow references them. - Drop the obsolete `version:` field across the active composes. Refs: AUDIT_REPORT.md §6.1, §10 P7
2026-04-15 10:58:39 +00:00
veza-network:
driver: bridge