mirror of
https://github.com/factoriotools/factorio-docker.git
synced 2024-12-27 19:38:22 +01:00
7113c03076
When using named containers in docker compose, it creates them with root and the factorio docker container fails to start because it doesn't have write permissions. Reproduce by using the following docker-compose file: version: '3.2' services: server: image: dtandersen/factorio:0.16.7 volumes: - logs:/var/log - data:/factorio ports: - "34197:34197/udp" - "27015:27015/tcp" volumes: logs: data: With this proposed change, the /factorio folder is created *before* it is made a volume. This causes docker to correctly preserve the permissions, the docker-compose file above works now. This is related to https://github.com/dtandersen/docker_factorio_server/issues/91 and maybe also makes https://github.com/dtandersen/docker_factorio_server/pull/99 obsolete.
40 lines
1.2 KiB
Docker
40 lines
1.2 KiB
Docker
FROM frolvlad/alpine-glibc:alpine-3.6
|
|
|
|
MAINTAINER https://github.com/dtandersen/docker_factorio_server
|
|
|
|
ARG USER=factorio
|
|
ARG GROUP=factorio
|
|
ARG PUID=845
|
|
ARG PGID=845
|
|
|
|
ENV PORT=34197 \
|
|
RCON_PORT=27015 \
|
|
VERSION=0.16.7 \
|
|
SHA1=7bd14a4d8abe2feef015d1b3d75c6ec82a5e2ccf
|
|
|
|
RUN mkdir -p /opt /factorio && \
|
|
apk add --update --no-cache pwgen && \
|
|
apk add --update --no-cache --virtual .build-deps curl && \
|
|
curl -sSL https://www.factorio.com/get-download/$VERSION/headless/linux64 \
|
|
-o /tmp/factorio_headless_x64_$VERSION.tar.xz && \
|
|
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.xz" | sha1sum -c && \
|
|
tar xf /tmp/factorio_headless_x64_$VERSION.tar.xz --directory /opt && \
|
|
chmod ugo=rwx /opt/factorio && \
|
|
rm /tmp/factorio_headless_x64_$VERSION.tar.xz && \
|
|
ln -s /factorio/saves /opt/factorio/saves && \
|
|
ln -s /factorio/mods /opt/factorio/mods && \
|
|
apk del .build-deps && \
|
|
addgroup -g $PGID -S $GROUP && \
|
|
adduser -u $PUID -G $USER -s /bin/sh -SDH $GROUP && \
|
|
chown -R $USER:$GROUP /opt/factorio /factorio
|
|
|
|
VOLUME /factorio
|
|
|
|
EXPOSE $PORT/udp $RCON_PORT/tcp
|
|
|
|
COPY ./docker-entrypoint.sh /
|
|
|
|
USER $USER
|
|
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|