Add dockerfile

This commit is contained in:
Joshua Coles 2023-09-29 10:14:55 +01:00
parent 9f4dff0417
commit 7628ccc991
3 changed files with 49 additions and 0 deletions

2
.dockerignore Normal file
View File

@ -0,0 +1,2 @@
/dist
/node_modules

30
Caddyfile Normal file
View File

@ -0,0 +1,30 @@
# global options
{
admin off # theres no need for the admin api in railway's environment
persist_config off # storage isn't persistent anyway
auto_https off # railway handles https for us, this would cause issues if left enabled
log { # runtime logs
format console # set runtime log format to console mode
}
}
:3000 {
log { # access logs
format console # set access log format to console mode
}
# health check for railway
respond /health 200
# serve from the 'dist' folder (Vite builds into the 'dist' folder)
root * /app/dist
# enable gzipping responses
encode gzip
# serve files from 'dist'
file_server
# if path doesn't exist, redirect it to 'index.html' for client side routing
try_files {path} /index.html
}

17
Dockerfile Normal file
View File

@ -0,0 +1,17 @@
# syntax=docker/dockerfile:1
FROM oven/bun:1 AS deps
WORKDIR /app
COPY package.json package.json
COPY bun.lockb bun.lockb
RUN bun install
FROM node:18-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN yarn build
FROM caddy AS runner
COPY --from=builder /app/dist /usr/share/caddy