From 1b10dda42e63a8356a0f7dd6efc8465322621d3d Mon Sep 17 00:00:00 2001 From: maaz519 Date: Wed, 27 May 2026 14:15:50 +0530 Subject: [PATCH] chore: add Docker Compose dev stack (postgres 17, redis 7, meilisearch 1.11) --- .env.example | 19 +++++++++++++++++++ docker-compose.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 .env.example create mode 100644 docker-compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..3ccac7b --- /dev/null +++ b/.env.example @@ -0,0 +1,19 @@ +# Database +DATABASE_URL=postgresql://tower:tower_dev@localhost:5432/tower_dev + +# Redis +REDIS_URL=redis://localhost:6379 + +# API +API_PORT=3001 + +# Auth +JWT_SECRET=change_me_in_production_must_be_32_chars_min + +# Meilisearch +MEILI_URL=http://localhost:7700 +MEILI_MASTER_KEY=tower_meili_dev_key + +# Logging +NODE_ENV=development +LOG_LEVEL=debug diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3e3224f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +services: + postgres: + image: postgres:17-alpine + environment: + POSTGRES_USER: tower + POSTGRES_PASSWORD: tower_dev + POSTGRES_DB: tower_dev + ports: + - '5432:5432' + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ['CMD-SHELL', 'pg_isready -U tower -d tower_dev'] + interval: 5s + timeout: 5s + retries: 5 + + redis: + image: redis:7-alpine + ports: + - '6379:6379' + healthcheck: + test: ['CMD', 'redis-cli', 'ping'] + interval: 5s + timeout: 5s + retries: 5 + + meilisearch: + image: getmeili/meilisearch:v1.11 + ports: + - '7700:7700' + environment: + MEILI_NO_ANALYTICS: 'true' + MEILI_MASTER_KEY: tower_meili_dev_key + volumes: + - meilisearch_data:/meili_data + +volumes: + postgres_data: + meilisearch_data: