Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 8 additions & 35 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,15 @@
version: '3.8'

services:
postgres:
image: postgres:15-alpine
container_name: cerebra-postgres
restart: unless-stopped
db:
image: postgres:15
container_name: monorepo-postgres
ports:
- "5433:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: cerebra_dev
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5

pgadmin:
image: dpage/pgadmin4:latest
container_name: cerebra-pgadmin
restart: unless-stopped
environment:
PGADMIN_DEFAULT_EMAIL: admin@cerebra.local
PGADMIN_DEFAULT_PASSWORD: admin
PGADMIN_LISTEN_PORT: 80
ports:
- "5050:80"
POSTGRES_DB: app_db
volumes:
- pgadmin_data:/var/lib/pgadmin
depends_on:
- postgres
- pgdata:/var/lib/postgresql/data

volumes:
postgres_data:
driver: local
pgadmin_data:
driver: local
pgdata:
16 changes: 15 additions & 1 deletion packages/db/drizzle.config.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
import type { Config } from "drizzle-kit";
import { defineConfig } from "drizzle-kit";
import * as dotenv from "dotenv";

dotenv.config();

if (!process.env.DATABASE_URL) {
throw new Error("DATABASE_URL is not defined in .env file");
}

export default defineConfig({
schema: "./src/schemas/**/*.ts",
out: "./drizzle",
dialect: "postgresql",
dbCredentials: {
url: process.env.DATABASE_URL,
},
});
9 changes: 9 additions & 0 deletions packages/db/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Pool } from "pg";
import { drizzle } from "drizzle-orm/node-postgres";
import { env } from "./src/env";

const pool = new Pool({
connectionString: env.DATABASE_URL,
});

export const db = drizzle(pool);
Loading