Update hashes, blog, version

This commit is contained in:
eyedeekay
2025-03-30 18:46:52 -04:00
parent 66f70f91bf
commit e7562db9bc
4 changed files with 60 additions and 37 deletions

View File

@@ -1,41 +1,64 @@
FROM debian:oldoldstable as builder
ENV SERVERNAME=geti2p.net \
SERVERMAIL=example@geti2p.net
# Install only build dependencies first
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python2-dev \
python-pip \
patch \
python-virtualenv \
git \
python-polib && \
rm -rf /var/lib/apt/lists/*
WORKDIR /build
# Copy dependency files first for better layer caching
COPY etc/reqs.txt etc/
COPY etc/multi-domain.patch etc/
# Setup virtual environment and install dependencies
RUN virtualenv --distribute env && \
. env/bin/activate && \
pip install -r etc/reqs.txt
# Now copy the rest of the application
COPY . .
# Build steps in a single layer
RUN . env/bin/activate && \
patch -p0 -N -r - < etc/multi-domain.patch && \
./compile-messages.sh && \
echo "Git revision: $(git log -n 1 | grep commit | sed 's/commit //' | sed 's/ .*$//')" > ./i2p2www/pages/include/mtnversion
# Start second stage with same old base image
FROM debian:oldoldstable
ENV SERVERNAME=geti2p.net
ENV SERVERMAIL=example@geti2p.net
# Install only runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
apache2 \
apache2-utils \
libapache2-mod-wsgi \
python2-minimal && \
rm -rf /var/lib/apt/lists/*
WORKDIR /var/www/i2p.www
## Install the dependencies
#RUN #grep -v security.debian /etc/apt/sources.list > /etc/apt/sources.list.bak && \
#grep -v stretch-updates /etc/apt/sources.list.bak > /etc/apt/sources.list && \
RUN apt-get update && \
apt-get -y install apache2 apache2-utils libapache2-mod-wsgi python2-dev python-pip patch python-virtualenv git python-polib
# Copy built artifacts
COPY --from=builder /build /var/www/i2p.www
COPY --from=builder /build/env /var/www/env
ADD . /var/www/i2p.www
## Start setting up the site
RUN rm -rfv env && \
virtualenv --distribute env && \
. env/bin/activate && \
pip install -r etc/reqs.txt && \
patch -p0 -N -r - <etc/multi-domain.patch && \
cp -rv env ../env && \
./compile-messages.sh && \
echo "Git revision: $(git log -n 1 | grep commit | sed 's/commit //' | sed 's/ .*$//')" | tee ./i2p2www/pages/include/mtnversion && \
## We've now updated the site
## Next let's configure WSGI
## Set ownership of site to server
cp etc/docker.wsgi.i2p i2p.wsgi && \
chown -R www-data /var/www/i2p.www && \
## Make the WSGI script owned by the server
chown www-data:www-data /var/www/i2p.www/i2p.wsgi && \
## Make the WSGI script executable
chmod 755 /var/www/i2p.www/i2p.wsgi && \
## Copy the unmodified vhosts file to the apache2 confdir
cp etc/apache2.i2p.conf /etc/apache2/sites-available/i2p.conf && \
a2enmod wsgi && \
# Configure Apache and WSGI in a single layer
RUN cp etc/docker.wsgi.i2p i2p.wsgi && \
chown -R www-data:www-data /var/www/i2p.www && \
chmod 755 i2p.wsgi && \
cp etc/apache2.i2p.conf /etc/apache2/sites-available/i2p.conf && \
a2enmod wsgi && \
a2ensite i2p && \
ls /etc/apache2 && \
sed -i 's|IncludeOptional sites-enabled|# IncludeOptional sites-enabled|g' /etc/apache2/apache2.conf && \
sed -i '1 i\IncludeOptional sites-enabled/i2p.conf' /etc/apache2/apache2.conf
CMD service apache2 restart && tail -f /var/log/apache2/access.log /var/log/apache2/error.log
CMD service apache2 restart && tail -f /var/log/apache2/access.log /var/log/apache2/error.log