Three stage Dockerfile for lbrynet ARM and X86_64
This commit is contained in:
parent
868c00b4cb
commit
1d3e5b7a39
4 changed files with 100 additions and 107 deletions
|
@ -1,55 +1,52 @@
|
||||||
FROM multiarch/ubuntu-core:armhf-bionic
|
FROM multiarch/ubuntu-core:armhf-bionic as dependencies
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y \
|
||||||
|
python3-pip \
|
||||||
|
python3.7 \
|
||||||
|
python3.7-dev \
|
||||||
|
build-essential \
|
||||||
|
libssl-dev \
|
||||||
|
libacl1-dev \
|
||||||
|
liblz4-dev \
|
||||||
|
libfuse-dev \
|
||||||
|
fuse \
|
||||||
|
pkg-config \
|
||||||
|
fakeroot \
|
||||||
|
git \
|
||||||
|
zlib1g-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libncurses5-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
zip \
|
||||||
|
libffi-dev \
|
||||||
|
libleveldb-dev && \
|
||||||
|
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 && \
|
||||||
|
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10 && \
|
||||||
|
update-alternatives --config python && \
|
||||||
|
python --version && \
|
||||||
|
pip3 --version
|
||||||
|
|
||||||
RUN apt update && \
|
FROM dependencies as compile
|
||||||
apt install -y \
|
|
||||||
python3-pip \
|
|
||||||
python3.7 \
|
|
||||||
python3.7-dev \
|
|
||||||
build-essential \
|
|
||||||
libssl-dev \
|
|
||||||
libacl1-dev \
|
|
||||||
liblz4-dev \
|
|
||||||
libfuse-dev \
|
|
||||||
fuse \
|
|
||||||
pkg-config \
|
|
||||||
fakeroot \
|
|
||||||
git \
|
|
||||||
zlib1g-dev \
|
|
||||||
libbz2-dev \
|
|
||||||
libncurses5-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
liblzma-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
zip \
|
|
||||||
libffi-dev
|
|
||||||
|
|
||||||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 && \
|
RUN python3.7 -m pip install -U pyinstaller && \
|
||||||
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10 && \
|
git clone https://github.com/lbryio/lbry.git --depth 1 /lbry && \
|
||||||
update-alternatives --config python && \
|
cd /lbry && \
|
||||||
python --version && \
|
git clone https://github.com/lbryio/torba.git --depth 1 /lbry/torba && \
|
||||||
pip3 --version
|
cd /lbry/torba && python3.7 -m pip install -e . && \
|
||||||
|
cd /lbry/ && python3.7 scripts/set_build.py && \
|
||||||
|
python3.7 -m pip install -e . && \
|
||||||
|
pyinstaller -F -n lbrynet lbrynet/extras/cli.py && \
|
||||||
|
chmod +x /lbry/dist/lbrynet && \
|
||||||
|
zip -j /lbry/dist/lbrynet-armhf.zip /lbry/dist/lbrynet && \
|
||||||
|
mkdir /target && \
|
||||||
|
/lbry/dist/lbrynet --version
|
||||||
|
|
||||||
|
FROM multiarch/ubuntu-core:armhf-bionic as app
|
||||||
RUN python3.7 -m pip install -U pyinstaller cryptography aiohttp coincurve pbkdf2 cryptography attrs pylru
|
RUN adduser lbrynet --gecos GECOS --shell /bin/bash --disabled-password --home /home/lbrynet
|
||||||
|
COPY start.sh /usr/local/bin/start
|
||||||
## SPLIT CONTAINER HERE.
|
COPY --from=compile /lbry/dist/lbrynet /usr/local/bin/
|
||||||
RUN git clone https://github.com/lbryio/lbry.git --depth 1 /lbry && \
|
EXPOSE 5279
|
||||||
cd /lbry && \
|
USER lbrynet
|
||||||
git clone https://github.com/lbryio/torba.git --depth 1 /lbry/torba
|
CMD ["start"]
|
||||||
|
|
||||||
RUN sed -i -e "s/'plyvel',//" /lbry/torba/setup.py && \
|
|
||||||
cd /lbry/torba && python3.7 -m pip install -e . && cd /lbry/ && \
|
|
||||||
python3.7 scripts/set_build.py && \
|
|
||||||
python3.7 -m pip install -e . && \
|
|
||||||
pyinstaller -F -n lbrynet lbrynet/extras/cli.py
|
|
||||||
|
|
||||||
RUN echo "checking contents of /lbry/dist/" && ls -lAh /lbry/dist/ && \
|
|
||||||
echo "checking contents of /" && ls -lAh / && \
|
|
||||||
echo "redundantly setting executable bit for good measure" && chmod +x /lbry/dist/lbrynet && \
|
|
||||||
echo "compressing lbrynet armhf binary" && zip -j /lbry/dist/lbrynet-armhf.zip /lbry/dist/lbrynet && \
|
|
||||||
echo "creating /target/" && mkdir /target
|
|
||||||
COPY ./start.sh /usr/local/bin/start
|
|
||||||
|
|
||||||
RUN /lbry/dist/lbrynet --version
|
|
||||||
|
|
||||||
CMD start
|
|
||||||
|
|
3
lbrynet/linux-armhf-compiler/start.sh
Executable file → Normal file
3
lbrynet/linux-armhf-compiler/start.sh
Executable file → Normal file
|
@ -1,3 +1,2 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
sleep 2
|
echo "TODO"
|
||||||
cp /lbry/dist/lbrynet-armhf.zip /target/
|
|
||||||
|
|
|
@ -1,54 +1,52 @@
|
||||||
FROM ubuntu:18.04
|
FROM ubuntu:18.04 as dependencies
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y \
|
||||||
|
python3-pip \
|
||||||
|
python3.7 \
|
||||||
|
python3.7-dev \
|
||||||
|
build-essential \
|
||||||
|
libssl-dev \
|
||||||
|
libacl1-dev \
|
||||||
|
liblz4-dev \
|
||||||
|
libfuse-dev \
|
||||||
|
fuse \
|
||||||
|
pkg-config \
|
||||||
|
fakeroot \
|
||||||
|
git \
|
||||||
|
zlib1g-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libncurses5-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
zip \
|
||||||
|
libffi-dev \
|
||||||
|
libleveldb-dev && \
|
||||||
|
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 && \
|
||||||
|
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10 && \
|
||||||
|
update-alternatives --config python && \
|
||||||
|
python --version && \
|
||||||
|
pip3 --version
|
||||||
|
|
||||||
RUN apt update && \
|
FROM dependencies as compile
|
||||||
apt install -y \
|
|
||||||
python3-pip \
|
|
||||||
python3.7 \
|
|
||||||
python3.7-dev \
|
|
||||||
build-essential \
|
|
||||||
libssl-dev \
|
|
||||||
libacl1-dev \
|
|
||||||
liblz4-dev \
|
|
||||||
libfuse-dev \
|
|
||||||
fuse \
|
|
||||||
pkg-config \
|
|
||||||
fakeroot \
|
|
||||||
git \
|
|
||||||
zlib1g-dev \
|
|
||||||
libbz2-dev \
|
|
||||||
libncurses5-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
liblzma-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
zip \
|
|
||||||
libffi-dev
|
|
||||||
|
|
||||||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 && \
|
RUN python3.7 -m pip install -U pyinstaller && \
|
||||||
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10 && \
|
git clone https://github.com/lbryio/lbry.git --depth 1 /lbry && \
|
||||||
update-alternatives --config python && \
|
cd /lbry && \
|
||||||
python --version && \
|
git clone https://github.com/lbryio/torba.git --depth 1 /lbry/torba && \
|
||||||
pip3 --version
|
cd /lbry/torba && python3.7 -m pip install -e . && \
|
||||||
|
cd /lbry/ && python3.7 scripts/set_build.py && \
|
||||||
|
python3.7 -m pip install -e . && \
|
||||||
|
pyinstaller -F -n lbrynet lbrynet/extras/cli.py && \
|
||||||
|
chmod +x /lbry/dist/lbrynet && \
|
||||||
|
zip -j /lbry/dist/lbrynet-armhf.zip /lbry/dist/lbrynet && \
|
||||||
|
mkdir /target && \
|
||||||
|
/lbry/dist/lbrynet --version
|
||||||
|
|
||||||
|
FROM ubuntu:18.04 as app
|
||||||
RUN python3.7 -m pip install -U pyinstaller cryptography aiohttp coincurve pbkdf2 cryptography attrs pylru
|
RUN adduser lbrynet --gecos GECOS --shell /bin/bash --disabled-password --home /home/lbrynet
|
||||||
|
COPY start.sh /usr/local/bin/start
|
||||||
## Split container here.
|
COPY --from=compile /lbry/dist/lbrynet /usr/local/bin/
|
||||||
RUN git clone https://github.com/lbryio/lbry.git --depth 1 /lbry && \
|
EXPOSE 5279
|
||||||
cd /lbry && \
|
USER lbrynet
|
||||||
git clone https://github.com/lbryio/torba.git --depth 1 /lbry/torba
|
CMD ["start"]
|
||||||
|
|
||||||
RUN cd /lbry/torba && python3.7 -m pip install -e . && cd /lbry/ && \
|
|
||||||
python3.7 scripts/set_build.py && \
|
|
||||||
python3.7 -m pip install -e . && \
|
|
||||||
pyinstaller -F -n lbrynet lbrynet/extras/cli.py
|
|
||||||
|
|
||||||
RUN echo "checking contents of /lbry/dist/" && ls -lAh /lbry/dist/ && \
|
|
||||||
echo "checking contents of /" && ls -lAh / && \
|
|
||||||
echo "redundantly setting executable bit for good measure" && chmod +x /lbry/dist/lbrynet && \
|
|
||||||
echo "compressing lbrynet x86_64 binary" && zip -j /lbry/dist/lbrynet-x86_64.zip /lbry/dist/lbrynet && \
|
|
||||||
echo "creating /target/" && mkdir /target
|
|
||||||
COPY ./start.sh /usr/local/bin/start
|
|
||||||
|
|
||||||
RUN /lbry/dist/lbrynet --version
|
|
||||||
|
|
||||||
CMD start
|
|
||||||
|
|
3
lbrynet/linux-x86_64-compiler/start.sh
Executable file → Normal file
3
lbrynet/linux-x86_64-compiler/start.sh
Executable file → Normal file
|
@ -1,3 +1,2 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
sleep 2
|
echo "TODO"
|
||||||
cp /lbry/dist/lbrynet-x86_64.zip /target/
|
|
||||||
|
|
Loading…
Reference in a new issue