diff --git a/.gitea/workflows/build-docker-image-and-push.yaml b/.gitea/workflows/build-docker-image-and-push.yaml new file mode 100644 index 0000000..9aa3a72 --- /dev/null +++ b/.gitea/workflows/build-docker-image-and-push.yaml @@ -0,0 +1,32 @@ +name: Build foundry vtt docker image and push to registry +run-name: ${{ gitea.actor }} is building image and pushing to registry + +on: + push: + branches: + - 'main' + +jobs: + docker: + runs-on: ubuntu-latest + steps: +# - +# name: Checkout +# uses: actions/checkout@v4 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: dockerregistry:5000 + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASS }} + - + name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: foundryvtt-docker:latest \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index e6ed501..1f75a6c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,25 +3,26 @@ 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}" -#RUN addgroup -g ${GUID} foundry -#RUN adduser -H -u ${PUID} -s /bin/bash foundry foundry -#USER foundry - +# 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 ./ -# directory of the Foundry application +# mount volume directory of the Foundry application VOLUME /foundry -#directory of the Foundry user data + +# mount volume directory of the Foundry user data VOLUME /foundrydata -# default TCP port +# expose default TCP port EXPOSE 30000 +#run entrypoint ENTRYPOINT ["/app/entrypoint.sh"] \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh index 30604b9..d29c042 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,4 +1,10 @@ #!/bin/sh +# set umask +umask ${UMASK} + +# set permissions on application folder chown -R ${PUID}:${PGID} /foundry + +# run Foundry with the environmentally set user and group id exec su-exec ${PUID}:${PGID} node /foundry/resources/app/main.js --dataPath=/foundrydata \ No newline at end of file