add dockerfile for hosting purposes

This commit is contained in:
unurled 2025-07-21 21:42:45 +02:00
parent 82ecf80068
commit da2e7da762
Signed by: unurled
GPG key ID: EFC5F5E709B47DDD
5 changed files with 52 additions and 6 deletions

10
.dockerignore Normal file
View file

@ -0,0 +1,10 @@
.env
Dockerfile
.dockerignore
node_modules
npm-debug.log
README.md
.idea
.svelte-kit
build
.git

30
Dockerfile Normal file
View file

@ -0,0 +1,30 @@
FROM oven/bun:alpine AS base
WORKDIR /app
COPY package.json bun.lock ./
RUN bun install -p
FROM base AS build
WORKDIR /app
ARG DATABASE_URL
COPY --from=base /app/node_modules ./node_modules
COPY . .
RUN bun install
RUN bun run build
FROM base AS production
ENV NODE_ENV production
COPY --from=build /app/build .
EXPOSE 3000
ENV PORT 3000
CMD ["bun", "run", "./index.js"]

View file

@ -10,5 +10,15 @@ services:
POSTGRES_DB: local
volumes:
- pgdata:/var/lib/postgresql/data
server:
build: .
pull_policy: always
restart: always
ports:
- 127.0.0.1:3000:3000
environment:
DATABASE_URL: postgres://root:mysecretpassword@db:5432/local
depends_on:
- db
volumes:
pgdata:

View file

@ -1,12 +1,10 @@
import { defineConfig } from 'drizzle-kit';
if (!process.env.DATABASE_URL) throw new Error('DATABASE_URL is not set');
export default defineConfig({
out: './drizzle',
schema: './src/lib/server/db/schema',
dialect: 'postgresql',
dbCredentials: { url: process.env.DATABASE_URL },
dbCredentials: { url: process.env.DATABASE_URL! || ' ' },
verbose: true,
strict: true
});

View file

@ -13,10 +13,8 @@ import * as teams from './schema/teams';
import * as users from './schema/users';
import { Pool } from 'pg';
if (!env.DATABASE_URL) throw new Error('DATABASE_URL is not set');
const pool = new Pool({
connectionString: env.DATABASE_URL
connectionString: env.DATABASE_URL!
});
export const schema = {