headscale-ui/docker/development/dockerfile
2025-03-15 13:01:29 +11:00

51 lines
1.4 KiB
Text

FROM node:lts
# Volumes
VOLUME /data
# Ports
# openvscode server port. Note: Runs HTTP by default
EXPOSE 3000
# System Environment Variables
ENV PATH="/opt/vscode:${PATH}"
ENV HOME="/data/home"
# User Set Environment Variables
# Set to false if you do not want to attempt to pull a repository on first load
ENV AUTOINITIALIZE=false
# sets a connection token for VSCode Server. https://github.com/gitpod-io/openvscode-server#securing-access-to-your-ide
ENV USE_CONNECTION_TOKEN=true
#Set to a secret to have some measure of protection for vscode. Randomized if left blank
ENV CONNECTION_TOKEN=
# Project name. Typically the same as the project in the URL
ENV PROJECT_NAME="headscale-ui"
# URL for the github/git location
ENV PROJECT_URL="https://github.com/gurucomputing/headscale-ui"
# autostart the dev command on boot?
ENV AUTOSTART="false"
# command to run in the background on startup
ENV DEV_COMMAND="npm run dev"
# Set the staging environment
WORKDIR /staging/scripts
WORKDIR /staging
RUN chown 1000:1000 /staging
# Copy across the scripts folder
COPY scripts/* ./scripts/
# Set permissions for all scripts. We do not want normal users to have write
# access to the scripts
RUN chown -R 0:0 scripts
RUN chmod -R 755 scripts
# Build the image. This build runs as root
RUN /staging/scripts/1-image-build.sh
# set to the non-root user
USER 1000:1000
WORKDIR /data
ENTRYPOINT /bin/sh /staging/scripts/2-initialise.sh