Dockerfile_faircoin 2.91 KB
Newer Older
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Pull base image.
FROM ubuntu:18.04

ENV LC_ALL=C.UTF-8 LANG=C.UTF-8

#####################################################################################root##
### install base libraries and dependencies for faircoin daemon ###########################
RUN apt-get update -q && \
    apt-get install -qy \
        git \
        make \
        autotools-dev \
        autoconf \
        libtool \
        libssl-dev \
        libboost-all-dev \
        libevent-dev \
        libdb++-dev \
        libdb-dev

#####################################################################################root##
### install nano commandline editor [optional] ( to edit faircoin.conf later if necessary )
RUN apt-get install -qy nano

#####################################################################################root##
### install python packages
RUN apt-get install -qy python3-pip
RUN python3 -m pip install \
        python-bitcoinrpc

#####################################################################################root##
### system cleanup ########################################################################
RUN rm -rf /var/lib/apt/lists/* && \
    apt-get autoremove -y && \
    apt-get clean

#####################################################################################root##
### create and run user account to image ##################################################
ARG RUNNER_GID
ARG RUNNER_UID
RUN groupadd -g $RUNNER_GID faircoin
RUN useradd --create-home --shell /bin/bash faircoin --uid $RUNNER_UID --gid $RUNNER_GID

USER faircoin
#################################################################################faircoin##
### download and build faircoin daemon and cli ############################################
WORKDIR /home/faircoin
ARG source_repository
RUN git clone $source_repository /home/faircoin/faircoin

WORKDIR /home/faircoin/faircoin
RUN ./autogen.sh && \
    ./configure --disable-tests --disable-bench --with-incompatible-bdb --disable-wallet && \
    make

#################################################################################faircoin##
### initialize blockchain with txindex=1 ##################################################
WORKDIR /home/faircoin/faircoin/src
RUN mv ./faircoind /home/faircoin/faircoind
RUN mv ./faircoin-cli /home/faircoin/faircoin-cli

USER root

RUN apt-get update -q && \
    apt-get install -qy \
        curl \
        net-tools \
        telnet

###########################################################################################
### install dependencies for explorer.faircoin.co ###################################root##
RUN python3 -m pip install \
        simplejson \
        requests \
        interruptingcow \
        PyMySQL

RUN mkdir -p /home/faircoin/.faircoin2
RUN chown -R faircoin:faircoin /home/faircoin/.faircoin2

WORKDIR /home/faircoin
COPY ./entrypoint.sh ./entrypoint.sh
RUN chown faircoin:faircoin ./entrypoint.sh

USER faircoin
ENTRYPOINT ["./entrypoint.sh"]