feat(docker): healthcheck

This commit is contained in:
Pihkaal
2025-12-04 22:29:38 +01:00
parent 56b2312f51
commit 1340acc178
2 changed files with 19 additions and 3 deletions

View File

@@ -10,6 +10,11 @@ services:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
networks: networks:
- lbf-network - lbf-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}"]
interval: 5s
timeout: 5s
retries: 5
redis: redis:
image: redis:7-alpine image: redis:7-alpine
@@ -25,8 +30,10 @@ services:
dockerfile: apps/discord-bot/Dockerfile dockerfile: apps/discord-bot/Dockerfile
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- postgres postgres:
- redis condition: service_healthy
redis:
condition: service_started
networks: networks:
- lbf-network - lbf-network
environment: environment:

View File

@@ -1,11 +1,20 @@
import { drizzle } from "drizzle-orm/node-postgres"; import { drizzle } from "drizzle-orm/node-postgres";
import { migrate } from "drizzle-orm/node-postgres/migrator"; import { migrate } from "drizzle-orm/node-postgres/migrator";
import { env } from "~/env"; import { env } from "~/env";
import { fileURLToPath } from "node:url";
import { dirname, join } from "node:path";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export async function runMigrations() { export async function runMigrations() {
console.log("Connecting to database...");
const db = drizzle(env.DATABASE_URL); const db = drizzle(env.DATABASE_URL);
await migrate(db, { migrationsFolder: "./drizzle" }); const migrationsFolder = join(__dirname, "..", "drizzle");
console.log(`Running migrations from: ${migrationsFolder}`);
await migrate(db, { migrationsFolder });
console.log("✅ Database migrations completed"); console.log("✅ Database migrations completed");
} }