2018-10-02 21:36:13 +02:00
## This base image is for running the latest lbrynet-daemon release.
2018-06-01 02:09:31 +02:00
FROM ubuntu:18.04
2018-10-16 09:30:13 +02:00
LABEL MAINTAINER="leopere [at] nixc [dot] us"
2018-06-01 02:09:31 +02:00
RUN apt-get update && apt-get -y install unzip
2018-11-29 16:25:59 +01:00
RUN adduser lbrynet --gecos GECOS --shell /bin/bash/ --disabled-password --home /lbrynet/
2018-06-01 02:09:31 +02:00
## Add lbrynet
2018-11-29 16:25:59 +01:00
ADD https://lbry.io/get/lbrynet.linux.zip /lbrynet/lbrynet.linux.zip
RUN unzip /lbrynet/lbrynet.linux.zip -d /lbrynet/ && \
rm /lbrynet/lbrynet.linux.zip && \
2018-11-29 20:11:36 +01:00
chown -Rv lbrynet:lbrynet /lbrynet && \
2018-11-29 19:29:19 +01:00
mv /lbrynet/lbrynet /bin/
# COPY stuff/debugpaste-it.sh /usr/local/bin/debugpaste-it
COPY stuff/start.sh /usr/local/bin/start
COPY stuff/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
COPY stuff/healthcheck.sh /usr/local/bin/healthcheck
2018-10-07 02:24:11 +02:00
2018-06-01 02:09:31 +02:00
## Daemon port [Intended for internal use]
EXPOSE 4444
2018-11-29 16:25:59 +01:00
## LBRYNET talks to peers on port 3333 [Intended for external use] this port is used to discover other lbrynet daemons with blobs.
EXPOSE 3333
2018-11-29 19:40:19 +01:00
## Expose 5566 Reflector port to listen on
EXPOSE 5566
## Expose 5279 Port the daemon API will listen on
EXPOSE 5279
2018-11-29 19:46:23 +01:00
## the lbryumx aka Wallet port [Intended for internal use]
2018-11-29 19:40:19 +01:00
EXPOSE 50001
2018-11-27 00:07:07 +01:00
2018-06-01 02:09:31 +02:00
2018-11-29 20:02:45 +01:00
## TODO: Have wallets stored on their own volume/subdirectory for security, and backups.
2018-06-01 02:09:31 +02:00
## Volumize the wallets in a separate location for backup purposes may be unnecessary.
2018-11-29 16:25:59 +01:00
# VOLUME /lbrynet/.local/share/lbry/lbryum/wallets
# VOLUME /lbrynet/.local/
## Example daemon_settings.yml is at https://github.com/lbryio/lbry/blob/master/example_daemon_settings.yml
2018-11-29 20:02:45 +01:00
ADD https://raw.githubusercontent.com/lbryio/lbry/master/example_daemon_settings.yml /etc/lbrynet/example_daemon_settings.yml
## TODO: In start.sh detect and merge changes.
VOLUME /etc/lbry/daemon_settings.yml
2018-11-29 16:25:59 +01:00
2018-11-29 19:29:19 +01:00
## 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.
2018-11-29 16:25:59 +01:00
# VOLUME /lbrynet/Downloads/
2018-06-01 02:09:31 +02:00
2018-11-27 00:07:07 +01:00
## TODO: Add start.sh script which can assert permissions and do any configuration prep that's required on container start.
2018-06-01 02:09:31 +02:00
## Run on container launch
2018-11-29 19:29:19 +01:00
CMD ["start"]