# Start from the code-server Debian base image FROM codercom/code-server:latest USER coder # Apply VS Code settings COPY deploy-container/settings.json .local/share/code-server/User/settings.json # Use bash shell ENV SHELL=/bin/bash # Install unzip + rclone (support for remote filesystem) RUN sudo apt-get update && sudo apt-get install unzip -y RUN curl https://rclone.org/install.sh | sudo bash # Copy rclone tasks to /tmp, to potentially be used COPY deploy-container/rclone-tasks.json /tmp/rclone-tasks.json # Fix permissions for code-server RUN sudo chown -R coder:coder /home/coder/.local # You can add custom software and dependencies for your environment below # ----------- # Install a VS Code extension: # Note: we use a different marketplace than VS Code. See https://github.com/cdr/code-server/blob/main/docs/FAQ.md#differences-compared-to-vs-code # RUN code-server --install-extension esbenp.prettier-vscode # Install apt packages: # RUN sudo apt-get install -y ubuntu-make # Copy Tailscale binaries from the tailscale image on Docker Hub. COPY --from=docker.io/tailscale/tailscale:stable /usr/local/bin/tailscaled /usr/local/bin/tailscaled COPY --from=docker.io/tailscale/tailscale:stable /usr/local/bin/tailscale /usr/local/bin/tailscale RUN sudo mkdir -p /var/run/tailscale /var/cache/tailscale /var/lib/tailscale # Install cloudflared RUN sudo mkdir -p --mode=0755 /usr/share/keyrings && \ curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null && \ echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list && \ sudo apt-get update && sudo apt-get install cloudflared # Copy files: # COPY deploy-container/myTool /home/coder/myTool # ----------- # Port ENV PORT=7860 ENV PASSWORD=huggingface # Use our custom entrypoint script first COPY deploy-container/entrypoint.sh /usr/bin/deploy-container-entrypoint.sh RUN sudo chmod +x /usr/bin/deploy-container-entrypoint.sh ENTRYPOINT ["/usr/bin/deploy-container-entrypoint.sh"]