58 lines
2.1 KiB
Docker
58 lines
2.1 KiB
Docker
#
|
|
# Copyright © 2021,2022 IsardVDI S.L.
|
|
#
|
|
# This file is part of DD
|
|
#
|
|
# DD is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or (at your
|
|
# option) any later version.
|
|
#
|
|
# DD is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
# details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with DD. If not, see <https://www.gnu.org/licenses/>.
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
FROM alpine:3.12.0 as production
|
|
MAINTAINER isard <info@isardvdi.com>
|
|
|
|
# Ensure python dependencies
|
|
COPY admin/docker/requirements.pip3 /requirements.pip3
|
|
|
|
RUN apk add python3 py3-pip py3-pyldap~=3.2.0
|
|
RUN pip3 install --upgrade pip
|
|
RUN apk add --no-cache --virtual .build_deps \
|
|
build-base \
|
|
python3-dev \
|
|
libffi-dev \
|
|
gcc python3-dev linux-headers musl-dev postgresql-dev
|
|
RUN pip3 install --no-cache-dir -r requirements.pip3
|
|
RUN apk del .build_deps
|
|
|
|
RUN apk add --no-cache curl py3-yaml yarn libpq openssl py3-pillow
|
|
|
|
# Add catalan words list (issue with newer diceweare)
|
|
RUN wget -O /usr/lib/python3.8/site-packages/diceware/wordlists/wordlist_cat_ascii.txt https://raw.githubusercontent.com/1ma/diceware-cat/master/cat-wordlist-ascii.txt
|
|
|
|
# Add code and entrypoint
|
|
COPY admin/src /admin
|
|
COPY admin/docker/run.sh /run.sh
|
|
|
|
# Ensure www-data group and user (82 is default in alpine)
|
|
RUN addgroup -g 82 -S www-data; adduser -u 82 -D -S -G www-data www-data
|
|
|
|
# Fix directory permissions
|
|
# Ensure node dependencies too
|
|
RUN cd /admin/admin && \
|
|
chown www-data:www-data "." && \
|
|
mkdir -p "${NODE_MODULES_FOLDER:-node_modules}" && \
|
|
chown www-data:www-data "${NODE_MODULES_FOLDER:-node_modules}" && \
|
|
HOME=/tmp su -s /bin/sh -m www-data -c \
|
|
"yarn install --modules-folder '${NODE_MODULES_FOLDER:-node_modules}'"
|
|
|
|
CMD [ "/run.sh" ]
|