FROM denoland/deno:alpine-2.4.2 # Set working directory WORKDIR /app COPY . . # Cache dependencies RUN deno cache app.ts # Expose port EXPOSE 8080 # Run as non-root user RUN adduser -D appuser && chown -R appuser:appuser /app USER appuser # Start application # Note: Set SERVICE_DOMAIN environment variable to configure your domain # Example: docker run -e SERVICE_DOMAIN=my-ipv4-service.example.com ... CMD ["run", "--allow-net", "--allow-env=SERVICE_DOMAIN", "--allow-read=./static,./views", "app.ts"]