forked from syntaxbullet/AuroraBot-discord
fix: make dashboard locally accessible only
This commit is contained in:
@@ -20,11 +20,12 @@ services:
|
|||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "127.0.0.1:3000:3000"
|
||||||
volumes:
|
volumes:
|
||||||
- .:/app
|
- .:/app
|
||||||
- /app/node_modules
|
- /app/node_modules
|
||||||
environment:
|
environment:
|
||||||
|
- HOST=0.0.0.0
|
||||||
- DB_USER=${DB_USER}
|
- DB_USER=${DB_USER}
|
||||||
- DB_PASSWORD=${DB_PASSWORD}
|
- DB_PASSWORD=${DB_PASSWORD}
|
||||||
- DB_NAME=${DB_NAME}
|
- DB_NAME=${DB_NAME}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ const envSchema = z.object({
|
|||||||
DISCORD_GUILD_ID: z.string().optional(),
|
DISCORD_GUILD_ID: z.string().optional(),
|
||||||
DATABASE_URL: z.string().min(1, "Database URL is required"),
|
DATABASE_URL: z.string().min(1, "Database URL is required"),
|
||||||
PORT: z.coerce.number().default(3000),
|
PORT: z.coerce.number().default(3000),
|
||||||
|
HOST: z.string().default("127.0.0.1"),
|
||||||
});
|
});
|
||||||
|
|
||||||
const parsedEnv = envSchema.safeParse(process.env);
|
const parsedEnv = envSchema.safeParse(process.env);
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ export class WebServer {
|
|||||||
|
|
||||||
public static start(port?: number) {
|
public static start(port?: number) {
|
||||||
this.server = Bun.serve({
|
this.server = Bun.serve({
|
||||||
port: port ?? (typeof env.PORT === "string" ? parseInt(env.PORT) : 3000),
|
port: port ?? env.PORT,
|
||||||
|
hostname: env.HOST,
|
||||||
fetch: (req, server) => {
|
fetch: (req, server) => {
|
||||||
const url = new URL(req.url);
|
const url = new URL(req.url);
|
||||||
if (url.pathname === "/ws") {
|
if (url.pathname === "/ws") {
|
||||||
@@ -38,7 +39,7 @@ export class WebServer {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(`🌐 Web server listening on http://localhost:${this.server.port}`);
|
console.log(`🌐 Web server listening on http://${this.server.hostname}:${this.server.port} (Restricted to Local Interface)`);
|
||||||
|
|
||||||
// Start a heartbeat loop
|
// Start a heartbeat loop
|
||||||
this.heartbeatInterval = setInterval(() => {
|
this.heartbeatInterval = setInterval(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user