Skip to content

Commit

Permalink
Removed env from dashboard
Browse files Browse the repository at this point in the history
  • Loading branch information
Luisotee committed Jan 21, 2025
1 parent ccb0577 commit d9be9c4
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 49 deletions.
24 changes: 0 additions & 24 deletions apps/dashboard/.env.example

This file was deleted.

2 changes: 2 additions & 0 deletions apps/dashboard/next.config.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import "./src/env.mjs";
import { config } from "@eda/config";
import { withSentryConfig } from "@sentry/nextjs";

/** @type {import('next').NextConfig} */
Expand All @@ -16,4 +17,5 @@ export default withSentryConfig(nextConfig, {
hideSourceMaps: true,
disableLogger: true,
tunnelRoute: "/monitoring",
authToken: config.api_keys.sentry.auth_token,
});
5 changes: 3 additions & 2 deletions apps/dashboard/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
"name": "@eda/dashboard",
"version": "0.1.0",
"scripts": {
"dev": "next dev -p 8080",
"dev": "tsx src/server.ts",
"build": "next build",
"clean": "git clean -xdf .next .turbo node_modules",
"lint": "biome lint",
"format": "biome format --write .",
"start": "next start",
"start": "NODE_ENV=production tsx src/server.ts",
"typecheck": "tsc-files --noEmit"
},
"dependencies": {
Expand All @@ -24,6 +24,7 @@
"nuqs": "^1.18.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"tsx": "^4.19.2",
"zod": "^3.23.8"
},
"devDependencies": {
Expand Down
44 changes: 21 additions & 23 deletions apps/dashboard/src/env.mjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { config } from "@eda/config";
import { createEnv } from "@t3-oss/env-nextjs";
import { z } from "zod";

Expand All @@ -7,33 +8,30 @@ export const env = createEnv({
.string()
.optional()
.transform((v) => (v ? `https://${v}` : undefined)),
PORT: z.coerce.number().default(3000),
PORT: z.coerce.number().default(config.ports.dashboard),
},
server: {
OPENPANEL_SECRET_KEY: z.string(),
RESEND_API_KEY: z.string(),
SUPABASE_SERVICE_KEY: z.string(),
UPSTASH_REDIS_REST_TOKEN: z.string(),
UPSTASH_REDIS_REST_URL: z.string(),
OPENPANEL_SECRET_KEY: z.string().default(config.api_keys.openpanel.secret),
RESEND_API_KEY: z.string().default(config.api_keys.resend),
SUPABASE_SERVICE_KEY: z
.string()
.default(config.api_keys.supabase.service_key),
UPSTASH_REDIS_REST_TOKEN: z
.string()
.default(config.services.upstash.redis_token),
UPSTASH_REDIS_REST_URL: z
.string()
.default(config.services.upstash.redis_url),
},
client: {
NEXT_PUBLIC_OPENPANEL_CLIENT_ID: z.string(),
NEXT_PUBLIC_SUPABASE_ANON_KEY: z.string(),
NEXT_PUBLIC_SUPABASE_URL: z.string(),
},
runtimeEnv: {
NEXT_PUBLIC_OPENPANEL_CLIENT_ID:
process.env.NEXT_PUBLIC_OPENPANEL_CLIENT_ID,
NEXT_PUBLIC_SENTRY_DSN: process.env.NEXT_PUBLIC_SENTRY_DSN,
NEXT_PUBLIC_SUPABASE_ANON_KEY: process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
NEXT_PUBLIC_SUPABASE_URL: process.env.NEXT_PUBLIC_SUPABASE_URL,
OPENPANEL_SECRET_KEY: process.env.OPENPANEL_SECRET_KEY,
PORT: process.env.PORT,
RESEND_API_KEY: process.env.RESEND_API_KEY,
SUPABASE_SERVICE_KEY: process.env.SUPABASE_SERVICE_KEY,
UPSTASH_REDIS_REST_TOKEN: process.env.UPSTASH_REDIS_REST_TOKEN,
UPSTASH_REDIS_REST_URL: process.env.UPSTASH_REDIS_REST_URL,
VERCEL_URL: process.env.VERCEL_URL,
NEXT_PUBLIC_OPENPANEL_CLIENT_ID: z
.string()
.default(config.api_keys.openpanel.client_id),
NEXT_PUBLIC_SUPABASE_ANON_KEY: z
.string()
.default(config.api_keys.supabase.anon_key),
NEXT_PUBLIC_SUPABASE_URL: z.string().default(config.databases.supabase.url),
},
runtimeEnv: process.env,
skipValidation: !!process.env.CI || !!process.env.SKIP_ENV_VALIDATION,
});
28 changes: 28 additions & 0 deletions apps/dashboard/src/server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { createServer } from "node:http";
import { config } from "@eda/config";
import next from "next";
import { env } from "./env.mjs";

const dev = process.env.NODE_ENV !== "production";
const app = next({ dev });
const handle = app.getRequestHandler();

async function startServer() {
try {
await app.prepare();
const port = env.PORT || config.ports.dashboard;

createServer(handle).listen(port, () => {
console.log(`> Ready on http://localhost:${port}`);
});
} catch (error) {
console.error("Error starting server:", error);
process.exit(1);
}
}

if (require.main === module) {
startServer();
}

export default startServer;
Binary file modified bun.lockb
Binary file not shown.

0 comments on commit d9be9c4

Please sign in to comment.