Merge branch 'main' into schedule-nms-in-ntfcts-and-lgs

This commit is contained in:
Jakub Trávník 2025-12-29 21:08:05 +01:00 committed by GitHub
commit 503f4e2636
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 16 additions and 6 deletions

View file

@ -3,7 +3,9 @@ ARG BUN_VERSION="1.3.5"
FROM oven/bun:${BUN_VERSION}-alpine AS base
RUN apk upgrade --no-cache && \
apk add --no-cache davfs2=1.6.1-r2 openssh-client fuse3 sshfs
apk add --no-cache davfs2=1.6.1-r2 openssh-client fuse3 sshfs tini
ENTRYPOINT ["/sbin/tini", "-s", "--"]
# ------------------------------
@ -64,7 +66,7 @@ CMD ["bun", "run", "dev"]
# ------------------------------
# PRODUCTION
# ------------------------------
FROM oven/bun:${BUN_VERSION} AS builder
FROM oven/bun:${BUN_VERSION}-alpine AS builder
ARG APP_VERSION=dev

View file

@ -6,12 +6,16 @@ const envSchema = type({
SERVER_IP: 'string = "localhost"',
SERVER_IDLE_TIMEOUT: 'string.integer.parse = "60"',
RESTIC_HOSTNAME: "string = 'zerobyte'",
PORT: 'string.integer.parse = "4096"',
MIGRATIONS_PATH: "string?",
}).pipe((s) => ({
__prod__: s.NODE_ENV === "production",
environment: s.NODE_ENV,
serverIp: s.SERVER_IP,
serverIdleTimeout: s.SERVER_IDLE_TIMEOUT,
resticHostname: s.RESTIC_HOSTNAME,
port: s.PORT,
migrationsPath: s.MIGRATIONS_PATH,
}));
const parseConfig = (env: unknown) => {

View file

@ -14,9 +14,13 @@ const sqlite = new Database(DATABASE_URL);
export const db = drizzle({ client: sqlite, schema });
export const runDbMigrations = () => {
let migrationsFolder = path.join("/app", "assets", "migrations");
let migrationsFolder: string;
if (!config.__prod__) {
if (config.migrationsPath) {
migrationsFolder = config.migrationsPath;
} else if (config.__prod__) {
migrationsFolder = path.join("/app", "assets", "migrations");
} else {
migrationsFolder = path.join("/app", "app", "drizzle");
}

View file

@ -18,7 +18,7 @@ await validateRequiredMigrations(REQUIRED_MIGRATIONS);
startup();
logger.info(`Server is running at http://localhost:4096`);
logger.info(`Server is running at http://localhost:${config.port}`);
export type AppType = typeof app;
@ -36,7 +36,7 @@ process.on("SIGINT", async () => {
export default await createHonoServer({
app,
port: 4096,
port: config.port,
customBunServer: {
idleTimeout: config.serverIdleTimeout,
error(err) {