feat: Add Drizzle Studio service to docker-compose and refine database environment variable configuration.

This commit is contained in:
syntaxbullet
2025-12-05 17:01:29 +01:00
parent e559e2413b
commit 1fb59a26cc
3 changed files with 25 additions and 4 deletions

View File

@@ -17,7 +17,7 @@
"db:push": "drizzle-kit push",
"deploy": "docker compose run --rm app bun src/scripts/deploy.ts",
"dev": "bun --watch src/index.ts",
"db:studio": "drizzle-kit studio"
"db:studio": "drizzle-kit studio --host 0.0.0.0"
},
"dependencies": {
"discord.js": "^14.25.1",

View File

@@ -1,11 +1,10 @@
import { z } from "zod";
import "dotenv/config";
const envSchema = z.object({
DISCORD_BOT_TOKEN: z.string().optional(),
DISCORD_CLIENT_ID: z.string().optional(),
DISCORD_GUILD_ID: z.string().optional(),
DATABASE_URL: z.string().min(1, "Database URL is required").default("postgres://kyoko:kyoko@localhost:5432/kyoko"),
DATABASE_URL: z.string().min(1, "Database URL is required"),
});
const parsedEnv = envSchema.safeParse(process.env);

View File

@@ -33,7 +33,29 @@ services:
- DISCORD_BOT_TOKEN=${DISCORD_BOT_TOKEN}
- DISCORD_GUILD_ID=${DISCORD_GUILD_ID}
- DISCORD_CLIENT_ID=${DISCORD_CLIENT_ID}
- DATABASE_URL=${DATABASE_URL}
- DATABASE_URL=postgresql://${DB_USER}:${DB_PASSWORD}@db:5432/${DB_NAME}
depends_on:
- db
command: bun run dev
studio:
container_name: kyoko_studio
image: kyoko-app
build:
context: ./app
dockerfile: Dockerfile
working_dir: /app
ports:
- "4983:4983"
volumes:
- ./app:/app
environment:
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- DB_NAME=${DB_NAME}
- DB_PORT=${DB_PORT}
- DB_HOST=db
- DATABASE_URL=postgresql://${DB_USER}:${DB_PASSWORD}@db:5432/${DB_NAME}
depends_on:
- db
command: bun run db:studio