diff --git a/app/package.json b/app/package.json index a690eb0..68af739 100644 --- a/app/package.json +++ b/app/package.json @@ -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", diff --git a/app/src/lib/env.ts b/app/src/lib/env.ts index c57ced7..09321dd 100644 --- a/app/src/lib/env.ts +++ b/app/src/lib/env.ts @@ -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); diff --git a/docker-compose.yml b/docker-compose.yml index 6a64327..68ce76e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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