Updated Dockerfile, Entrypoint and start

Dockerfile, cleanup and added start.sh & docker-entrypoint.sh
chmod +x on lbrynet/stuff/*.sh
This commit is contained in:
Leopere 2018-11-29 18:29:19 +00:00
parent adebf46603
commit 062c72c5f4
3 changed files with 9 additions and 15 deletions

View file

@ -3,34 +3,31 @@ FROM ubuntu:18.04
LABEL MAINTAINER="leopere [at] nixc [dot] us" LABEL MAINTAINER="leopere [at] nixc [dot] us"
RUN apt-get update && apt-get -y install unzip RUN apt-get update && apt-get -y install unzip
# RUN mkdir -pv /lbrynet && chown 1000:1000 /lbrynet
RUN adduser lbrynet --gecos GECOS --shell /bin/bash/ --disabled-password --home /lbrynet/ RUN adduser lbrynet --gecos GECOS --shell /bin/bash/ --disabled-password --home /lbrynet/
## Add lbrynet ## Add lbrynet
ADD https://lbry.io/get/lbrynet.linux.zip /lbrynet/lbrynet.linux.zip ADD https://lbry.io/get/lbrynet.linux.zip /lbrynet/lbrynet.linux.zip
RUN unzip /lbrynet/lbrynet.linux.zip -d /lbrynet/ && \ RUN unzip /lbrynet/lbrynet.linux.zip -d /lbrynet/ && \
rm /lbrynet/lbrynet.linux.zip && \ rm /lbrynet/lbrynet.linux.zip && \
chown -Rv traefik:lbrynet /lbrynet chown -Rv traefik:lbrynet /lbrynet && \
mv /lbrynet/lbrynet /bin/
RUN wget -quiet -O /usr/bin/debugpaste https://github.com/nixc-us/debugpaste-it/raw/master/bin/debugpaste_64 && \
chmod +x /usr/bin/debugpaste # COPY stuff/debugpaste-it.sh /usr/local/bin/debugpaste-it
COPY stuff/start.sh /usr/local/bin/start
## Install into PATH COPY stuff/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
RUN mv /lbrynet/lbrynet-* /bin/ COPY stuff/healthcheck.sh /usr/local/bin/healthcheck
## Daemon port [Intended for internal use] ## Daemon port [Intended for internal use]
EXPOSE 4444 EXPOSE 4444
## LBRYNET talks to peers on port 3333 [Intended for external use] this port is used to discover other lbrynet daemons with blobs. ## LBRYNET talks to peers on port 3333 [Intended for external use] this port is used to discover other lbrynet daemons with blobs.
EXPOSE 3333 EXPOSE 3333
## ToDo: Determine why this port isn't documented in the lbry.tech resources for daemon-settings ## ToDo: Determine why this port isn't documented in the lbry.tech resources for daemon-settings
# ## Wallet port [Intended for internal use] # ## Wallet port [Intended for internal use]
# EXPOSE 50001 # EXPOSE 50001
## All ports that are listed in the networking section of lbry.tech/resources/daemon-settings ## All ports that are listed in the networking section of lbry.tech/resources/daemon-settings
# 3333 5566 4444 5279 # 3333 5566 4444 5279
## TODO: Highly Important, look over this and switch to managing a YAML config https://lbry.tech/resources/daemon-settings
## Volumize the wallets in a separate location for backup purposes may be unnecessary. ## Volumize the wallets in a separate location for backup purposes may be unnecessary.
@ -40,14 +37,11 @@ EXPOSE 3333
## Example daemon_settings.yml is at https://github.com/lbryio/lbry/blob/master/example_daemon_settings.yml ## Example daemon_settings.yml is at https://github.com/lbryio/lbry/blob/master/example_daemon_settings.yml
# VOLUME /etc/lbry/daemon_settings.yml # VOLUME /etc/lbry/daemon_settings.yml
## 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. ## TODO: 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 /lbrynet/Downloads/ # VOLUME /lbrynet/Downloads/
## ToDo: replace lbrynet direct execution with start.sh function for enforcing directory perms on container launch.
## Never run container processes as root
USER lbrynet
## TODO: Add start.sh script which can assert permissions and do any configuration prep that's required on container start. ## TODO: Add start.sh script which can assert permissions and do any configuration prep that's required on container start.
## Run on container launch ## Run on container launch
CMD ["lbrynet", "start"] CMD ["start"]

0
lbrynet/stuff/docker-entrypoint.sh Normal file → Executable file
View file

0
lbrynet/stuff/start.sh Normal file → Executable file
View file