Migrated dockerfile from a different PR I submitted.
This commit is contained in:
parent
703e231812
commit
64c6ba6857
1 changed files with 56 additions and 0 deletions
56
lbrynet-daemon/Dockerfile
Normal file
56
lbrynet-daemon/Dockerfile
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
## Base Image
|
||||||
|
FROM ubuntu:18.04
|
||||||
|
MAINTAINER chamunks [at] gmail [dot] com
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get -y install unzip
|
||||||
|
# RUN mkdir -pv /app && chown 1000:1000 /app
|
||||||
|
RUN adduser lbrynet --gecos GECOS --shell /bin/bash/ --disabled-password --home /data/
|
||||||
|
|
||||||
|
## Add lbrynet
|
||||||
|
ADD https://lbry.io/get/lbrynet.linux.zip /data/lbrynet.linux.zip
|
||||||
|
RUN unzip /data/lbrynet.linux.zip -d /data/ && \
|
||||||
|
rm /data/lbrynet.linux.zip && \
|
||||||
|
chown -Rv lbrynet:lbrynet /app
|
||||||
|
|
||||||
|
## Install into PATH
|
||||||
|
RUN mv /data/lbrynet-* /bin/ && \
|
||||||
|
ls -lAh /bin/
|
||||||
|
|
||||||
|
## Daemon port [Intended for internal use]
|
||||||
|
EXPOSE 4444
|
||||||
|
## Peer port
|
||||||
|
## Intended for external use, in other words publishing to host might be required.
|
||||||
|
EXPOSE 3333
|
||||||
|
## Wallet port [Intended for internal use]
|
||||||
|
EXPOSE 50001
|
||||||
|
|
||||||
|
## Undocumented ports that exist in conf.py
|
||||||
|
## API port
|
||||||
|
# EXPOSE 5279
|
||||||
|
# ## Reflector port
|
||||||
|
# EXPOSE 5566
|
||||||
|
|
||||||
|
## VOLUMES
|
||||||
|
## Right now the volumes are just added in a commented out state but if the end
|
||||||
|
## user would prefer to add volumes to their own usage cases all they will need
|
||||||
|
## to do is uncomment what they require and then build the container using docker-compose.yml
|
||||||
|
|
||||||
|
## Volumize the wallets in a separate location for backup purposes may be unnecessary.
|
||||||
|
# VOLUME /data/.local/share/lbry/lbryum/wallets
|
||||||
|
# VOLUME /data/.local/
|
||||||
|
## If the config ends up needing it's own volume it should be located here.
|
||||||
|
# VOLUME /etc/lbry/conf.py
|
||||||
|
## Downloaded blobs will be in their own separate volume for keeping backups of critical secrets and data separate from backups of potentially massive blob files.
|
||||||
|
# VOLUME /data/Downloads/
|
||||||
|
|
||||||
|
## Never run container processes as root
|
||||||
|
USER lbrynet
|
||||||
|
## Run on container launch
|
||||||
|
CMD ["lbrynet-daemon"]
|
||||||
|
|
||||||
|
## Setting this entrypoint should mean that you can `docker exec lbrynet commands`
|
||||||
|
## and you should be able to control the daemon's CLI this way. There is an
|
||||||
|
## alternative method we could use here where we have an entrypoint shell script which could be a bit smarter.
|
||||||
|
## An docker-entrypoint should eventually be created and installed into the container $PATH with a config install script that checks for the existance of a config.py and if it exists don't install docker envvars established elsewhere.
|
||||||
|
## If the container doesn't detect a conf.py file however have it install a fresh copy into /etc/lbry/conf.py and run that from a fresh copy from somewhere sensible.
|
||||||
|
# ENTRYPOINT ["lbrynet-cli"]
|
Loading…
Reference in a new issue