#########################################################
# 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