diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7afc4cf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM python:3.8-alpine as Build +COPY backend/ /pkg/backend +RUN apk -U --no-progress upgrade && \ + apk --no-progress add gcc musl-dev && \ + pip install -r /pkg/backend/requirements.txt && \ + mv "/usr/local" "/pkg/usr" && \ + adduser -S -D -H -h /var/lib/chaineTV -s /sbin/nologin -G users -g chaineTV chaineTV && \ + install -d -m755 "/pkg/etc" && \ + install -m644 "/etc/passwd" "/pkg/etc/passwd" &&\ + install -m644 "/etc/group" "/pkg/etc/group" &&\ + install -m640 -gshadow "/etc/shadow" "/pkg/etc/shadow" + + +FROM alpine +COPY --from=Build /pkg / +RUN apk --no-progress add py3-gunicorn +USER chaineTV +EXPOSE 5000 +WORKDIR /backend +CMD /usr/bin/gunicorn --workers=4 -b :5000 run:app + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0ec8832 --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +DOCKER_ORGANIZATION := ducampsv +DOCKER_IMAGE := chainetv +DOCKER_TAG ?= base + +docker-build: + docker buildx build -t $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE):$(DOCKER_TAG) .