Files
computer/libs/lumier/Dockerfile
2025-05-07 16:36:22 -07:00

69 lines
1.7 KiB
Docker

# Base image using Debian for arm64 architecture (optimized for Apple Silicon)
FROM debian:bullseye-slim AS lumier-base
# Set environment variables for Lume API server configuration
ENV LUME_API_HOST="host.docker.internal"
# Default VM configuration (can be overridden at runtime)
ENV VERSION="ghcr.io/trycua/macos-sequoia-vanilla:latest"
ENV RAM_SIZE="8192"
ENV CPU_CORES="4"
ENV DISK_SIZE="100"
ENV DISPLAY="1024x768"
ENV VM_NAME="lumier"
ENV HOST_SHARED_PATH=""
ENV LUMIER_DEBUG="0"
# Install necessary tools and noVNC dependencies
RUN apt-get update && \
apt-get install -y \
netcat-traditional \
curl \
sshpass \
wget \
unzip \
git \
python3 \
python3-pip \
python3-numpy \
procps && \
rm -rf /var/lib/apt/lists/*
# Download and install noVNC without caching
RUN wget https://github.com/trycua/noVNC/archive/refs/heads/master.zip -O master1.zip && \
unzip master1.zip && \
mv noVNC-master /opt/noVNC && \
rm master1.zip
# Set environment variables for noVNC
ENV NOVNC_PATH="/opt/noVNC"
# Create necessary directories
RUN mkdir -p /run/bin /run/lib /run/config /run/hooks /run/lifecycle
# Copy scripts to the container
COPY src/config/constants.sh /run/config/
COPY src/bin/entry.sh /run/bin/entry.sh
# Copy library files if they exist
COPY src/lib/ /run/lib/
COPY src/hooks/ /run/hooks/
# Copy on-logon script to lifecycle directory
COPY src/hooks/on-logon.sh /run/lifecycle/
# Make scripts executable
RUN chmod +x \
/run/bin/* \
/run/hooks/* \
/run/lifecycle/* 2>/dev/null || true
# Expose ports for noVNC and Lume API
EXPOSE 8006
# VOLUME setup
VOLUME [ "/storage" ]
VOLUME [ "/data" ]
# Default entrypoint
ENTRYPOINT ["/run/bin/entry.sh"]