mirror of
				https://github.com/Akkudoktor-EOS/EOS.git
				synced 2025-11-04 08:46:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
# syntax=docker/dockerfile:1.7
 | 
						|
ARG PYTHON_VERSION=3.12.7
 | 
						|
FROM python:${PYTHON_VERSION}-slim
 | 
						|
 | 
						|
LABEL source="https://github.com/Akkudoktor-EOS/EOS"
 | 
						|
 | 
						|
ENV MPLCONFIGDIR="/tmp/mplconfigdir"
 | 
						|
ENV EOS_DIR="/opt/eos"
 | 
						|
ENV EOS_CACHE_DIR="${EOS_DIR}/cache"
 | 
						|
ENV EOS_OUTPUT_DIR="${EOS_DIR}/output"
 | 
						|
ENV EOS_CONFIG_DIR="${EOS_DIR}/config"
 | 
						|
 | 
						|
# Overwrite when starting the container in a production environment
 | 
						|
ENV EOS_SERVER__EOSDASH_SESSKEY=s3cr3t
 | 
						|
 | 
						|
WORKDIR ${EOS_DIR}
 | 
						|
 | 
						|
RUN adduser --system --group --no-create-home eos \
 | 
						|
    && mkdir -p "${MPLCONFIGDIR}" \
 | 
						|
    && chown eos "${MPLCONFIGDIR}" \
 | 
						|
    && mkdir -p "${EOS_CACHE_DIR}" \
 | 
						|
    && chown eos "${EOS_CACHE_DIR}" \
 | 
						|
    && mkdir -p "${EOS_OUTPUT_DIR}" \
 | 
						|
    && chown eos "${EOS_OUTPUT_DIR}" \
 | 
						|
    && mkdir -p "${EOS_CONFIG_DIR}" \
 | 
						|
    && chown eos "${EOS_CONFIG_DIR}"
 | 
						|
 | 
						|
COPY requirements.txt .
 | 
						|
 | 
						|
RUN --mount=type=cache,target=/root/.cache/pip \
 | 
						|
    pip install -r requirements.txt
 | 
						|
 | 
						|
COPY pyproject.toml .
 | 
						|
RUN mkdir -p src && pip install -e .
 | 
						|
 | 
						|
COPY src src
 | 
						|
 | 
						|
USER eos
 | 
						|
ENTRYPOINT []
 | 
						|
 | 
						|
EXPOSE 8503
 | 
						|
EXPOSE 8504
 | 
						|
 | 
						|
CMD ["python", "src/akkudoktoreos/server/eos.py", "--host", "0.0.0.0"]
 | 
						|
 | 
						|
VOLUME ["${MPLCONFIGDIR}", "${EOS_CACHE_DIR}", "${EOS_OUTPUT_DIR}", "${EOS_CONFIG_DIR}"]
 |