39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
FROM alpine:latest
|
|
|
|
ARG DOMAIN
|
|
|
|
RUN apk add --update --no-cache python3 py3-pip nginx uwsgi uwsgi-python3 certbot lsof
|
|
|
|
WORKDIR /root/ftracker
|
|
|
|
COPY ftracker/ ./ftracker/
|
|
COPY web/ /var/www/html/ftracker/
|
|
COPY res/ ./res/
|
|
|
|
COPY setup.py .
|
|
COPY README.md .
|
|
COPY LICENSE.md .
|
|
|
|
RUN mkdir -p /etc/ftracker /var/ftracker \
|
|
&& chown -R nginx:nginx /etc/ftracker /var/ftracker
|
|
|
|
COPY res/config.deploy.ini /etc/ftracker/config.ini
|
|
|
|
RUN pip3 install .
|
|
|
|
RUN rm /etc/nginx/conf.d/default.conf
|
|
RUN if [ -n "$DOMAIN" ] ;\
|
|
then \
|
|
cp ./res/ftracker.docker.nginx.conf /etc/nginx/conf.d/ftracker.conf ;\
|
|
certbot certonly --non-interactive --manual-public-ip-logging-ok -d ${DOMAIN} ;\
|
|
sed -i "s|CERT|/usr/local/etc/letsencrypt/live/${DOMAIN}/fullchain.pem|g" /etc/nginx/conf.d/ftracker.conf ;\
|
|
sed -i "s|KEY|/usr/local/etc/letsencrypt/live/${DOMAIN}/privkey.pem|g" /etc/nginx/conf.d/ftracker.conf ;\
|
|
echo Installed certificate. ;\
|
|
else \
|
|
cp ./res/ftracker.nossl.nginx.conf /etc/nginx/conf.d/ftracker.conf ;\
|
|
echo Skipped SSL installation. ;\
|
|
fi
|
|
|
|
RUN chmod +x ./res/docker-entrypoint.sh
|
|
ENTRYPOINT [ "./res/docker-entrypoint.sh" ]
|