This repository has been archived by the owner on Oct 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
62 lines (54 loc) · 2.27 KB
/
Dockerfile
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
55
56
57
58
59
60
61
62
# Copyright 2022 DeChainers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM s41m0n/bcc:latest
ARG DEBIAN_FRONTEND=noninteractive
# Supported "default", "docgen", "test", "ml"
ARG DEFAULT_BUILDTYPE="default"
ENV BUILDTYPE=$DEFAULT_BUILDTYPE
COPY . /app
WORKDIR /app
RUN if [ "$BUILDTYPE" = "test" ] ; then \
pip install pytest flake8; \
else \
rm -rf /app/tests; \
fi
RUN if [ "$BUILDTYPE" = "ml" ] ; then \
if [ $(arch) = "aarch64" ]; then \
apt update && apt install -y python3.9-dev curl build-essential pkg-config libhdf5-dev && \
curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=1EsObTazsUxmIBj-37L3I2hTdXvVItQD8" > /dev/null && \
CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)" && \
curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=1EsObTazsUxmIBj-37L3I2hTdXvVItQD8" -o tensorflow-2.5.0-cp39-none-linux_aarch64.whl && \
pip install tensorflow-2.5.0-cp39-none-linux_aarch64.whl && \
apt remove curl build-essential python3.9-dev &&\
apt clean && apt autoremove -y; \
else \
pip3 install tensorflow; \
fi\
fi &&\
pip install -r requirements.txt
RUN if [ "$BUILDTYPE" = "docgen" ] ; then \
pip install pdoc3;\
fi
CMD ["python3", "-W ignore"]
#######################
# docker run --rm -it --privileged --network host
# -v /lib/modules:/lib/modules:ro \
# -v /usr/src:/usr/src:ro \
# -v /etc/localtime:/etc/localtime:ro
# s41m0n/dechainy:<tag> <your_python_code>
#######################
# To build for arm64 from a non-arm device
#
# docker buildx build -f Dockerfile -t s41m0n/dechainy:arm --platform linux/arm64 . --load
#######################