41 lines
		
	
	
		
			940 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			940 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM archlinux
 | |
| LABEL maintiner="Mark <mark@betalupi.com>"
 | |
| 
 | |
| # Create users and groups.
 | |
| # Make sure uids and gids are the same on the host!
 | |
| #
 | |
| # Syncthing should be installed AFTER users are created.
 | |
| # The package will create its own syncthing user if one does not exist.
 | |
| # We need to do it manually, to control uid and gid.
 | |
| 
 | |
| ARG ST_GID="1000"
 | |
| ARG ST_UID="1000"
 | |
| 
 | |
| RUN groupadd -g ${ST_GID} syncthing && \
 | |
| 	useradd -g ${ST_GID} -u ${ST_UID} syncthing -d /stdata && \
 | |
| 	pacman -Fyy --noconfirm && \
 | |
| 	pacman -Syu --noconfirm && \
 | |
| 	pacman -S --noconfirm syncthing syncthing-relaysrv
 | |
| 
 | |
| RUN mkdir /stdata && \
 | |
| 	mkdir /stconfig && \
 | |
| 	mkdir /stconfig/config && \
 | |
| 	chown -R syncthing:syncthing /stdata && \
 | |
| 	chmod -R 774 /stdata && \
 | |
| 	chown -R syncthing:syncthing /stconfig && \
 | |
| 	chmod -R 774 /stconfig
 | |
| VOLUME /stdata
 | |
| VOLUME /stconfig
 | |
| 
 | |
| 
 | |
| # Syncthing
 | |
| EXPOSE 8384
 | |
| # Relay
 | |
| EXPOSE 22067
 | |
| 
 | |
| 
 | |
| USER ${ST_UID}
 | |
| WORKDIR "/stdata"
 | |
| 
 | |
| ENTRYPOINT ["/bin/bash", "start.sh"]
 |