diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3033c26 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +# User is expected to provide their own .env file in their Docker Compose file. +# Either with volumes or using the Enviroment option. +.env + +# Other Files +.DS_Store +dist +node_modules \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d2be5ba --- /dev/null +++ b/Dockerfile @@ -0,0 +1,39 @@ +######################################################### +# SudoVanilla will never use images from Docker Hub, as # +# Docker Hub is proprietary. SudoVanilla hosts slim # +# versions of Bun's Docker image on SudoVanilla Ark. # +######################################################### + +######################################################### +# Other locations to download the image is available # +# # +# Codeberg: # +# codeberg.org/korbs/bun:amd64 # +# codeberg.org/korbs/bun:arm64 # +# # +# Quay: # +# quay.io/sudovanilla/bun:amd64 # +# quay.io/sudovanilla/bun:arm64 # +# # +######################################################### + +# Base +## For AMD64 Servers: +FROM oven/bun:alpine AS based +## For ARM64 Servers: +## FROM ark.sudovanilla.org/korbs/bun:arm64 as based + +# Copy Files +WORKDIR /app +COPY . . + +# Run in Production +ENV NODE_ENV=production + +# Build +RUN bun install && bun run build + +# Run +USER bun +EXPOSE 1550/tcp +CMD bun ./.zarro/generated/astro/dist/server/entry.mjs \ No newline at end of file