Files
KNELProductionContainers/CloudronPackages/Reviewboard/Dockerfile

44 lines
1.3 KiB
Docker

FROM cloudron/base:4.2.0
# Install required packages
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
python3 python3-pip python3-dev python3-venv \
nginx supervisor \
memcached libpq-dev \
libldap2-dev libsasl2-dev \
git-core subversion \
libxml2-dev libxslt1-dev \
libmagic-dev \
gcc && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Create Python virtual environment
RUN python3 -m venv /app/code/venv
ENV PATH="/app/code/venv/bin:${PATH}"
# Install Review Board dependencies
RUN pip3 install --no-cache-dir --upgrade pip wheel setuptools && \
pip3 install --no-cache-dir psycopg2-binary gunicorn django-storages
# Install Review Board
RUN pip3 install --no-cache-dir reviewboard
# Install OIDC authentication
RUN pip3 install --no-cache-dir mozilla-django-oidc
# Install LDAP authentication
RUN pip3 install --no-cache-dir django-auth-ldap
# Make the data directories ready
RUN mkdir -p /app/data/media /app/data/static /app/data/logs /app/data/conf /app/data/site
# Copy configuration files
COPY nginx.conf /etc/nginx/sites-available/default
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY start.sh /app/code/start.sh
RUN chmod +x /app/code/start.sh
# Set up the entry point
CMD ["/app/code/start.sh"]