44 lines
1.3 KiB
Docker
44 lines
1.3 KiB
Docker
FROM ubuntu:noble AS frontend
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y wget software-properties-common && \
|
|
echo "deb https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
|
|
wget -q -O- https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | apt-key add - && \
|
|
apt-get update && \
|
|
apt-get install -y nodejs
|
|
|
|
ADD . /tmp/code/
|
|
|
|
RUN cd /tmp/code && \
|
|
npm install && \
|
|
./node_modules/.bin/grunt
|
|
|
|
FROM ubuntu:noble AS app
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y wget gnupg && \
|
|
wget -qO- http://artifact.scc.net.davepedu.com/repo/apt/extpython/dists/noble/install | bash -x /dev/stdin && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y extpython-python3.13 libmagic1 ffmpeg && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV PATH=/opt/extpython/3.13/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
ADD . /tmp/code/
|
|
COPY --from=frontend /tmp/code/styles/dist/style.css /tmp/code/styles/dist/style.css
|
|
|
|
RUN cd /tmp/code && \
|
|
pip3 install -r requirements.txt && \
|
|
python3 setup.py install && \
|
|
userdel --remove ubuntu && \
|
|
useradd --uid 1000 app && \
|
|
rm -rf /tmp/code
|
|
|
|
VOLUME /srv/library
|
|
VOLUME /srv/cache
|
|
VOLUME /srv/db
|
|
|
|
USER app
|
|
ENV CACHE_URL=file://./tmp/cache
|
|
|
|
ENTRYPOINT ["photoappd"]
|