mirror of
				https://github.com/factoriotools/factorio-docker.git
				synced 2025-10-31 17:08:08 +01:00 
			
		
		
		
	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"]
 |