Update build process

This commit is contained in:
Owen
2025-10-13 11:49:48 -07:00
parent b160eee8d2
commit 9c91a8db46
5 changed files with 30 additions and 23 deletions

View File

@@ -15,9 +15,20 @@ RUN echo "export * from \"./$DATABASE\";" > server/db/index.ts
RUN echo "export const build = \"$BUILD\" as any;" > server/build.ts RUN echo "export const build = \"$BUILD\" as any;" > server/build.ts
# if the build is oss then remove the server/private directory
RUN if [ "$BUILD" = "oss" ]; then rm -rf server/private; fi
RUN if [ "$DATABASE" = "pg" ]; then npx drizzle-kit generate --dialect postgresql --schema ./server/db/pg/schema.ts --out init; else npx drizzle-kit generate --dialect $DATABASE --schema ./server/db/$DATABASE/schema.ts --out init; fi RUN if [ "$DATABASE" = "pg" ]; then npx drizzle-kit generate --dialect postgresql --schema ./server/db/pg/schema.ts --out init; else npx drizzle-kit generate --dialect $DATABASE --schema ./server/db/$DATABASE/schema.ts --out init; fi
RUN npm run build:$DATABASE RUN mkdir -p dist
RUN npm run next:build
RUN node esbuild.mjs -e server/index.ts -o dist/server.mjs -b $BUILD
RUN if [ "$DATABASE" = "pg" ]; then \
node esbuild.mjs -e server/setup/migrationsPg.ts -o dist/migrations.mjs; \
else \
node esbuild.mjs -e server/setup/migrationsSqlite.ts -o dist/migrations.mjs; \
fi
RUN npm run build:cli RUN npm run build:cli
FROM node:22-alpine AS runner FROM node:22-alpine AS runner

View File

@@ -24,6 +24,7 @@
"set:enterprise": "echo 'export const build = \"enterprise\" as any;' > server/build.ts", "set:enterprise": "echo 'export const build = \"enterprise\" as any;' > server/build.ts",
"set:sqlite": "echo 'export * from \"./sqlite\";' > server/db/index.ts", "set:sqlite": "echo 'export * from \"./sqlite\";' > server/db/index.ts",
"set:pg": "echo 'export * from \"./pg\";' > server/db/index.ts", "set:pg": "echo 'export * from \"./pg\";' > server/db/index.ts",
"next:build": "next build",
"build:sqlite": "mkdir -p dist && next build && node esbuild.mjs -e server/index.ts -o dist/server.mjs && node esbuild.mjs -e server/setup/migrationsSqlite.ts -o dist/migrations.mjs", "build:sqlite": "mkdir -p dist && next build && node esbuild.mjs -e server/index.ts -o dist/server.mjs && node esbuild.mjs -e server/setup/migrationsSqlite.ts -o dist/migrations.mjs",
"build:pg": "mkdir -p dist && next build && node esbuild.mjs -e server/index.ts -o dist/server.mjs && node esbuild.mjs -e server/setup/migrationsPg.ts -o dist/migrations.mjs", "build:pg": "mkdir -p dist && next build && node esbuild.mjs -e server/index.ts -o dist/server.mjs && node esbuild.mjs -e server/setup/migrationsPg.ts -o dist/migrations.mjs",
"start": "ENVIRONMENT=prod node dist/migrations.mjs && ENVIRONMENT=prod NODE_ENV=development node --enable-source-maps dist/server.mjs", "start": "ENVIRONMENT=prod node dist/migrations.mjs && ENVIRONMENT=prod NODE_ENV=development node --enable-source-maps dist/server.mjs",

View File

@@ -38,9 +38,9 @@ function createDb() {
const poolConfig = config.postgres.pool; const poolConfig = config.postgres.pool;
const primaryPool = new Pool({ const primaryPool = new Pool({
connectionString, connectionString,
max: poolConfig.max_connections, max: poolConfig?.max_connections || 20,
idleTimeoutMillis: poolConfig.idle_timeout_ms, idleTimeoutMillis: poolConfig?.idle_timeout_ms || 30000,
connectionTimeoutMillis: poolConfig.connection_timeout_ms, connectionTimeoutMillis: poolConfig?.connection_timeout_ms || 5000,
}); });
const replicas = []; const replicas = [];
@@ -51,9 +51,9 @@ function createDb() {
for (const conn of replicaConnections) { for (const conn of replicaConnections) {
const replicaPool = new Pool({ const replicaPool = new Pool({
connectionString: conn.connection_string, connectionString: conn.connection_string,
max: poolConfig.max_replica_connections, max: poolConfig?.max_replica_connections || 20,
idleTimeoutMillis: poolConfig.idle_timeout_ms, idleTimeoutMillis: poolConfig?.idle_timeout_ms || 30000,
connectionTimeoutMillis: poolConfig.connection_timeout_ms, connectionTimeoutMillis: poolConfig?.connection_timeout_ms || 5000,
}); });
replicas.push(DrizzlePostgres(replicaPool)); replicas.push(DrizzlePostgres(replicaPool));
} }

View File

@@ -178,12 +178,7 @@ export const configSchema = z
.default(5000) .default(5000)
}) })
.optional() .optional()
.default({ .default({})
max_connections: 20,
max_replica_connections: 10,
idle_timeout_ms: 30000,
connection_timeout_ms: 5000
})
}) })
.optional(), .optional(),
traefik: z traefik: z

View File

@@ -57,13 +57,13 @@ export async function sendToExitNode(
} else { } else {
let hostname = exitNode.reachableAt; let hostname = exitNode.reachableAt;
logger.debug(`Exit node details:`, { // logger.debug(`Exit node details:`, {
type: exitNode.type, // type: exitNode.type,
name: exitNode.name, // name: exitNode.name,
reachableAt: exitNode.reachableAt, // reachableAt: exitNode.reachableAt,
}); // });
logger.debug(`Configured local exit node name: ${config.getRawConfig().gerbil.exit_node_name}`); // logger.debug(`Configured local exit node name: ${config.getRawConfig().gerbil.exit_node_name}`);
if (exitNode.name == config.getRawConfig().gerbil.exit_node_name) { if (exitNode.name == config.getRawConfig().gerbil.exit_node_name) {
hostname = privateConfig.getRawPrivateConfig().gerbil.local_exit_node_reachable_at; hostname = privateConfig.getRawPrivateConfig().gerbil.local_exit_node_reachable_at;
@@ -75,10 +75,10 @@ export async function sendToExitNode(
); );
} }
logger.debug(`Sending request to exit node at ${hostname}`, { // logger.debug(`Sending request to exit node at ${hostname}`, {
type: request.remoteType, // type: request.remoteType,
data: request.data // data: request.data
}); // });
// Handle local exit node with HTTP API // Handle local exit node with HTTP API
const method = request.method || "POST"; const method = request.method || "POST";