Files
ProgressionMods/Dockerfile
T
HRiggs ada9698ecf
Build and Publish Container / Publish Linux container (push) Successful in 3m58s
fix: file perms
2026-10-05 19:09:15 -04:00

41 lines
1.7 KiB
Docker

FROM ubuntu:24.04
ARG DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates curl lib32gcc-s1 python3 python3-pip python3-venv \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --create-home --shell /bin/bash progression \
&& mkdir -p /opt/steamcmd/steamapps /srv/progression/.data /srv/steam-library/steamapps \
&& curl -fsSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz \
| tar -xz -C /opt/steamcmd \
&& chown -R progression:progression /opt/steamcmd /srv/progression /srv/steam-library
WORKDIR /srv/progression
COPY --chown=progression:progression requirements-web.txt ./
RUN python3 -m venv /srv/venv \
&& /srv/venv/bin/pip install --no-cache-dir -r requirements-web.txt
COPY --chown=progression:progression progression_backend ./progression_backend
COPY --chown=progression:progression art ./art
COPY --chmod=755 docker-entrypoint.sh /usr/local/bin/progression-entrypoint
ENV HOME=/home/progression \
PROGRESSION_HOST=0.0.0.0 \
PROGRESSION_PORT=8000 \
PROGRESSION_DB_PATH=.data/progression.db \
STEAMCMD_PATH=/opt/steamcmd/steamcmd.sh \
STEAMCMD_WORKSHOP_DIR=/srv/steam-library/steamapps/workshop/content/294100 \
REFRESH_INTERVAL_SECONDS=3600 \
REFRESH_ON_STARTUP=true \
INITIAL_DOWNLOAD_TIMEOUT_SECONDS=43200
VOLUME ["/srv/progression/.data", "/srv/steam-library/steamapps"]
EXPOSE 8000
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
CMD curl -fsS http://127.0.0.1:8000/api/health || exit 1
ENTRYPOINT ["/usr/local/bin/progression-entrypoint"]
CMD ["/srv/venv/bin/python", "-m", "progression_backend"]