mirror of
				https://github.com/Akkudoktor-EOS/EOS.git
				synced 2025-10-31 06: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}"]
 |