Newer
Older
irc3 / Dockerfile
FROM inistcnrs/lodex-workers:9.2.3 AS build1
#FROM golang:1.17.5-alpine3.15 as build2

# System setup
RUN apk update && \
	apk add git curl build-base autoconf automake libtool

FROM node:14-alpine3.15 AS release
COPY --from=build1 /app /app
#COPY --from=build2 /export /usr
WORKDIR /app
# see .dockerignore to know all copied files
COPY ./config.json ./package-app.json ./chmod-all ./docker-entrypoint.sh /app/
COPY ./public/requirements.txt ./public/IRC3sp.pl ./public/irc3sp.ini ./public/irc3_wrapper.sh ./public/CoL.txt  /app/public/
RUN apk add --update-cache --no-cache \
	su-exec \
	bash \
	git \
	openssh \
	build-base \
	cmake \
	openssl-dev \
	perl \
	perl-json \
	ca-certificates \
	rust \
	curl \
	tini \
	cargo \
	&& \
	mv package-app.json package.json && \
	npm install --production && \
	npm cache clean --force && \
	npm prune --production && \
	echo '{ \
	"httpPort": 31976, \
	"configPath": "/app/config.json", \
	"dataPath": "/app/public" \
	}' > /etc/ezmaster.json && \
	sed -i -e "s/daemon:x:2:2/daemon:x:1:1/" /etc/passwd && \
	sed -i -e "s/daemon:x:2:/daemon:x:1:/" /etc/group && \
	sed -i -e "s/bin:x:1:1/bin:x:2:2/" /etc/passwd && \
	sed -i -e "s/bin:x:1:/bin:x:2:/" /etc/group && \
	mkdir -p /sbin/.npm /sbin/.config /sbin/.local && \
	chown -R daemon:daemon /app /tmp /sbin/.npm /sbin/.config /sbin/.local

EXPOSE 31976

ENTRYPOINT ["/sbin/tini", "-g", "--"]
CMD [ "/app/docker-entrypoint.sh" ]