mirror of
https://github.com/trycua/computer.git
synced 2026-01-03 20:10:04 -06:00
69 lines
1.7 KiB
Docker
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"] |