FROM node:20-alpine
LABEL maintainer="crovaxon"

WORKDIR /app

# user and group id are typical defaults for UNRAID
ENV PUID=99
ENV PGID=100
ENV UMASK=022
ENV PATH="/app:${PATH}"

# update and install requirements
RUN apk update & apk add --no-cache ca-certificates libstdc++ su-exec bash-completion tar nodejs npm

# copy entrypoint script to work directory
COPY entrypoint.sh ./

# mount volume directory of the Foundry application
VOLUME /foundry

# mount volume directory of the Foundry user data
VOLUME /foundrydata

# expose default TCP port
EXPOSE 30000

#run entrypoint
ENTRYPOINT ["/app/entrypoint.sh"]