-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.makejail
54 lines (44 loc) · 1.75 KB
/
build.makejail
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
INCLUDE options/options.makejail
INCLUDE options/volumes.makejail
ARG inventree_version=0.16.2
ARG inventree_enable_pgsql=1
ARG inventree_enable_mysql=1
# Build and/or runtime dependencies.
PKG dasel gettext python py311-invoke py311-sqlite3 pango rust libxml2 libxslt py311-xmlsec pkgconf
# Pillow.
CMD --local ./install-pillow.sh "${APPJAIL_JAILNAME}"
RAW if [ "${inventree_enable_pgsql}" != 0 ]; then
PKG py311-psycopg2
RAW fi
RAW if [ "${inventree_enable_mysql}" != 0 ]; then
PKG py311-mysqlclient
RAW fi
# Create inventree user.
CMD pw useradd -n inventree -d /inventree -s /bin/sh
CMD mkdir -p /inventree
# Copy dot files.
COPY files/dot.profile /inventree/.profile
COPY files/dot.shrc /inventree/.shrc
# Fix permissions.
CMD chown -R inventree:inventree /inventree
# Use inventree user to work in its home directory.
USER inventree
WORKDIR /inventree
# Bootstrap pip.
RUN python -m ensurepip --default-pip
RUN python -m pip install --upgrade pip
# Download and install InvenTree.
CMD fetch -o /tmp/inventree.tar.gz https://github.com/inventree/InvenTree/archive/refs/tags/${inventree_version}.tar.gz
CMD mkdir -p /inventree/src
CMD tar -C /inventree/src --strip-components=1 -xf /tmp/inventree.tar.gz
# Patch to fix InvenTree/InvenTree/cache.py.
COPY files/patch-src-backend-InvenTree-InvenTree-cache.py.patch src
CMD cd /inventree/src; patch < patch-src-backend-InvenTree-InvenTree-cache.py.patch
CMD rm -f /inventree/src/src/backend/InvenTree/InvenTree/cache.py.orig
CMD rm -f /inventree/src/patch-src-backend-InvenTree-InvenTree-cache.py.patch
# Fix permissions to the source tree.
CMD chown -R inventree:inventree /inventree/src
# Remove tarball.
CMD rm -f /tmp/inventree.tar.gz
# Install more dependencies.
RUN python -m pip install -r src/src/backend/requirements.txt