add Dockerfile for building the container
This commit is contained in:
		
							parent
							
								
									6d2533e53d
								
							
						
					
					
						commit
						99e91324bc
					
				
							
								
								
									
										63
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,63 @@
 | 
			
		||||
# dotnet build environment
 | 
			
		||||
#FROM alpine:latest
 | 
			
		||||
#WORKDIR /
 | 
			
		||||
 | 
			
		||||
#RUN apk add dotnet8-sdk git
 | 
			
		||||
#RUN git clone https://gitlab.com/kzotkin/hiveemulator
 | 
			
		||||
 | 
			
		||||
#WORKDIR /hiveemulator/src/CommunicationControl/
 | 
			
		||||
#RUN dotnet build DevOpsProject/DevOpsProject.CommunicationControl.API.csproj
 | 
			
		||||
#RUN dotnet build DevOpsProject.HiveMind.API/DevOpsProject.HiveMind.API.csproj
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# nodejs build environment
 | 
			
		||||
#FROM alpine:latest as nodejs
 | 
			
		||||
#WORKDIR /
 | 
			
		||||
 | 
			
		||||
#RUN apk add git npm
 | 
			
		||||
#RUN git clone https://gitlab.com/kzotkin/hiveemulator
 | 
			
		||||
 | 
			
		||||
#WORKDIR /hiveemulator/src/MapClient/
 | 
			
		||||
#RUN npm install
 | 
			
		||||
#RUN npm run build
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# production environment
 | 
			
		||||
FROM alpine:latest
 | 
			
		||||
WORKDIR /
 | 
			
		||||
 | 
			
		||||
#RUN apk add dotnet8-sdk redis openrc lighttpd npm
 | 
			
		||||
RUN apk add git dotnet8-sdk redis openrc npm
 | 
			
		||||
 | 
			
		||||
RUN git clone https://gitlab.com/kzotkin/hiveemulator
 | 
			
		||||
#COPY --from=nodejs /hiveemulator/ /hiveemulator/
 | 
			
		||||
#COPY --from=nodejs /hiveemulator/src/MapClient/dist/* /var/www/localhost/htdocs/
 | 
			
		||||
 | 
			
		||||
#RUN mkdir /hive-cc
 | 
			
		||||
#COPY --from=0 /hiveemulator/src/CommunicationControl/DevOpsProject/* /hive-cc/
 | 
			
		||||
 | 
			
		||||
#RUN mkdir /hive-hm
 | 
			
		||||
#COPY --from=0 /hiveemulator/src/CommunicationControl/DevOpsProject.HiveMind.API/* /hive-hm/
 | 
			
		||||
 | 
			
		||||
WORKDIR /hiveemulator/src/MapClient/
 | 
			
		||||
RUN npm install
 | 
			
		||||
RUN sed -i 's/localhost/10\.1\.1\.2/' public/config.json
 | 
			
		||||
 | 
			
		||||
COPY ./daemon-files/hive-cc /etc/init.d/hive-cc
 | 
			
		||||
COPY ./daemon-files/hive-hm /etc/init.d/hive-hm
 | 
			
		||||
COPY ./daemon-files/hive-map /etc/init.d/hive-map
 | 
			
		||||
RUN chmod u+x /etc/init.d/hive-hm /etc/init.d/hive-cc /etc/init.d/hive-map
 | 
			
		||||
 | 
			
		||||
#RUN mkdir /etc/rulevels/{stage-redis,stage-cc,stage-hm,stage-map}
 | 
			
		||||
 | 
			
		||||
#RUN rc-update add redis default
 | 
			
		||||
#RUN rc-update add hive-hm default
 | 
			
		||||
#RUN rc-update add hive-cc default
 | 
			
		||||
#RUN rc-update add hive-map default
 | 
			
		||||
 | 
			
		||||
CMD sh -c "openrc default ; \
 | 
			
		||||
	rc-service redis start ; \
 | 
			
		||||
	rc-service hive-cc start ; \
 | 
			
		||||
	rc-service hive-hm start ; \
 | 
			
		||||
	rc-service hive-map start ; \
 | 
			
		||||
	exec sh"
 | 
			
		||||
							
								
								
									
										10
									
								
								daemon-files/hive-cc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								daemon-files/hive-cc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
 | 
			
		||||
command="/usr/bin/dotnet"
 | 
			
		||||
command_args="run --project /hiveemulator/src/CommunicationControl/DevOpsProject/DevOpsProject.CommunicationControl.API.csproj"
 | 
			
		||||
pidfile="/run/hive-cc.pid"
 | 
			
		||||
supervisor="supervise-daemon"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need redis
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								daemon-files/hive-hm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								daemon-files/hive-hm
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
 | 
			
		||||
command="/usr/bin/dotnet"
 | 
			
		||||
command_args="run --project /hiveemulator/src/CommunicationControl/DevOpsProject.HiveMind.API/DevOpsProject.HiveMind.API.csproj"
 | 
			
		||||
pidfile="/run/hive-hm.pid"
 | 
			
		||||
supervisor="supervise-daemon"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need hive-cc
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								daemon-files/hive-map
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								daemon-files/hive-map
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
 | 
			
		||||
command="npm"
 | 
			
		||||
command_args="run dev"
 | 
			
		||||
pidfile="/run/hive-map.pid"
 | 
			
		||||
supervisor="supervise-daemon"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need hive-cc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start() {
 | 
			
		||||
	cd /hiveemulator/src/MapClient/
 | 
			
		||||
	${command} ${command_args}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user