add dockerfile for hosting purposes
This commit is contained in:
parent
82ecf80068
commit
da2e7da762
5 changed files with 52 additions and 6 deletions
10
.dockerignore
Normal file
10
.dockerignore
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
.env
|
||||||
|
Dockerfile
|
||||||
|
.dockerignore
|
||||||
|
node_modules
|
||||||
|
npm-debug.log
|
||||||
|
README.md
|
||||||
|
.idea
|
||||||
|
.svelte-kit
|
||||||
|
build
|
||||||
|
.git
|
30
Dockerfile
Normal file
30
Dockerfile
Normal 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"]
|
|
@ -10,5 +10,15 @@ services:
|
||||||
POSTGRES_DB: local
|
POSTGRES_DB: local
|
||||||
volumes:
|
volumes:
|
||||||
- pgdata:/var/lib/postgresql/data
|
- 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:
|
volumes:
|
||||||
pgdata:
|
pgdata:
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
import { defineConfig } from 'drizzle-kit';
|
import { defineConfig } from 'drizzle-kit';
|
||||||
|
|
||||||
if (!process.env.DATABASE_URL) throw new Error('DATABASE_URL is not set');
|
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
out: './drizzle',
|
out: './drizzle',
|
||||||
schema: './src/lib/server/db/schema',
|
schema: './src/lib/server/db/schema',
|
||||||
dialect: 'postgresql',
|
dialect: 'postgresql',
|
||||||
dbCredentials: { url: process.env.DATABASE_URL },
|
dbCredentials: { url: process.env.DATABASE_URL! || ' ' },
|
||||||
verbose: true,
|
verbose: true,
|
||||||
strict: true
|
strict: true
|
||||||
});
|
});
|
||||||
|
|
|
@ -13,10 +13,8 @@ import * as teams from './schema/teams';
|
||||||
import * as users from './schema/users';
|
import * as users from './schema/users';
|
||||||
import { Pool } from 'pg';
|
import { Pool } from 'pg';
|
||||||
|
|
||||||
if (!env.DATABASE_URL) throw new Error('DATABASE_URL is not set');
|
|
||||||
|
|
||||||
const pool = new Pool({
|
const pool = new Pool({
|
||||||
connectionString: env.DATABASE_URL
|
connectionString: env.DATABASE_URL!
|
||||||
});
|
});
|
||||||
|
|
||||||
export const schema = {
|
export const schema = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue