diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..558a922 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +POSTGRES_USER=your_postgres_user +POSTGRES_PASSWORD=your_postgres_password +POSTGRES_DB=your_database_name +VALKEY_PASSWORD=your_valkey_password diff --git a/.gitignore b/.gitignore index fa61b2c..ed5b147 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ node_modules/ drizzle/ .vscode/ config.json -.yarn \ No newline at end of file +.env +.yarn diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5fd02bd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,45 @@ +services: + postgres: + image: postgres:17-alpine + container_name: postgres + restart: always + environment: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + volumes: + - postgres_data:/var/lib/postgresql/data + ports: + - "5432:5432" + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] + interval: 10s + timeout: 5s + retries: 5 + networks: + - backend + + valkey: + image: valkey/valkey:8-alpine + container_name: valkey + restart: always + command: ["valkey-server", "--requirepass", "${VALKEY_PASSWORD}"] + ports: + - "6379:6379" + volumes: + - valkey_data:/data + healthcheck: + test: ["CMD", "valkey-cli", "-a", "${VALKEY_PASSWORD}", "ping"] + interval: 10s + timeout: 5s + retries: 5 + networks: + - backend + +volumes: + postgres_data: + valkey_data: + +networks: + backend: + driver: bridge