Testing changes to build app inside

This commit is contained in:
Vivek Teega 2023-09-18 22:34:06 +00:00
parent 90b2e31a80
commit 308a5a92e6
5 changed files with 162 additions and 27 deletions

View File

@ -1,38 +1,53 @@
# syntax=docker/dockerfile:1.3-labs
# Use a base image
FROM ubuntu:20.04
FROM cruizba/ubuntu-dind:focal-24.0.6
# Install necessary packages
RUN apt-get update && \
apt-get install -y wget && \
apt-get install -y gnupg2 && \
apt-get install -y software-properties-common && \
apt install supervisor
apt-get install -y wget gnupg2 software-properties-common supervisor make git sudo
# Download the pre-built files from GitHub releases
RUN wget https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/backend-flo_0.15.1.1-satoshilabs-1_amd64.deb && \
wget https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/blockbook-flo_0.4.0_amd64.deb
# Mount the Docker socket from the host into the container
# VOLUME /var/run/docker.sock:/var/run/docker.sock
# Install the downloaded packages
RUN apt install -y ./backend-flo_0.15.1.1-satoshilabs-1_amd64.deb && \
apt install -y ./blockbook-flo_0.4.0_amd64.deb
# Build app (You can add your application build steps here)
RUN git clone https://github.com/ranchimall/blockbook
WORKDIR /blockbook
RUN --security=insecure cd /blockbook && make all-flo
# Clean up downloaded packages
RUN rm -f ./backend-flo_0.15.1.1-satoshilabs-1_amd64.deb && \
rm -f ./blockbook-flo_0.4.0_amd64.deb
# Install deb files
RUN sudo apt install -y ./build/backend-flo_0.15.1.1-satoshilabs-1_amd64.deb && \
sudo apt install -y ./build/blockbook-flo_0.4.0_amd64.deb
# Setting up supervisor configurations
#COPY backend-flo.conf /etc/supervisor/conf.d/
#COPY blockbook-flo.conf /etc/supervisor/conf.d/
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN touch /var/log/backend-flo-error.log && touch /var/log/backend-flo.log && touch /var/log/blockbook-flo-error.log && touch /var/log/blockbook-flo.log
#RUN supervisorctl reread && supervisorctl update
# Download deb files
# RUN wget https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/backend-flo_0.15.1.1-satoshilabs-1_amd64.deb \
# https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/blockbook-flo_0.4.0_amd64.deb
# Expose the port for the Blockbook web interface
EXPOSE 9166
# Create run flo directory
# RUN mkdir -p /run/flo
# Start the Blockbook service
#CMD ["/usr/local/bin/blockbook", "--config", "/etc/blockbook/blockbook-flo.cfg"]
#CMD ["/opt/coins/nodes/flo/bin/flod -datadir=/opt/coins/data/flo/backend -conf=/opt/coins/nodes/flo/flo.conf -pid=/run/flo/flo.pid"]
# # Create a common group (e.g., flo-group) and set permissions
# RUN groupadd flo-group && \
# usermod -aG flo-group flo && \
# usermod -aG flo-group blockbook-flo && \
# chown :flo-group /run/flo && \
# chmod 777 /run/flo
EXPOSE 22 80
CMD ["/usr/bin/supervisord"]
# Setting up supervisor configurations (Uncomment and add your configuration files)
COPY alt-helper.sh /
# COPY blockbook-flo.conf /etc/supervisor/conf.d/
# COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# Create log files
# RUN touch /var/log/backend-flo-error.log && \
# touch /var/log/backend-flo.log && \
# touch /var/log/blockbook-flo-error.log && \
# touch /var/log/blockbook-flo.log
# Expose ports
EXPOSE 22 80 9166
# Start supervisord (Uncomment this line)
# CMD ["/usr/bin/supervisord"]
# Start your applications (Uncomment and replace with your application start commands)
#CMD ["/usr/bin/bash", "/alt-helper.sh"]

52
Dockerfile-althelper Normal file
View File

@ -0,0 +1,52 @@
# Use a base image
FROM cruizba/ubuntu-dind:latest
# Install necessary packages
RUN apt-get update && \
apt-get install -y wget gnupg2 software-properties-common supervisor make git sudo
# Mount the Docker socket from the host into the container
# VOLUME /var/run/docker.sock:/var/run/docker.sock
# Build app (You can add your application build steps here)
RUN git clone https://github.com/ranchimall/blockbook
# WORKDIR /blockbook
# RUN sudo make all-flo
# Install deb files
# RUN sudo apt install -y ./build/backend-flo_0.15.1.1-satoshilabs-1_amd64.deb && \
# sudo apt install -y ./build/blockbook-flo_0.4.0_amd64.deb
# Download deb files
# RUN wget https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/backend-flo_0.15.1.1-satoshilabs-1_amd64.deb \
# https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/blockbook-flo_0.4.0_amd64.deb
# Create run flo directory
# RUN mkdir -p /run/flo
# # Create a common group (e.g., flo-group) and set permissions
# RUN groupadd flo-group && \
# usermod -aG flo-group flo && \
# usermod -aG flo-group blockbook-flo && \
# chown :flo-group /run/flo && \
# chmod 777 /run/flo
# Setting up supervisor configurations (Uncomment and add your configuration files)
COPY alt-helper.sh /
# COPY blockbook-flo.conf /etc/supervisor/conf.d/
# COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# Create log files
# RUN touch /var/log/backend-flo-error.log && \
# touch /var/log/backend-flo.log && \
# touch /var/log/blockbook-flo-error.log && \
# touch /var/log/blockbook-flo.log
# Expose ports
EXPOSE 22 80 9166
# Start supervisord (Uncomment this line)
# CMD ["/usr/bin/supervisord"]
# Start your applications (Uncomment and replace with your application start commands)
CMD ["/usr/bin/bash", "/alt-helper.sh"]

View File

@ -1,3 +1,8 @@
# Blockbook docker
The code and steps required to run Docker version of Blockbook block explorer
```
sudo docker build -t blockbook-althelper -f Dockerfile-althelper .
sudo docker run -d --privileged -p 9166:9166 d5e56e218acd
```

28
alt-helper.sh Normal file
View File

@ -0,0 +1,28 @@
cd /blockbook && sudo make all-flo
#1. Install deb files
cd /blockbook/build && sudo apt install -y ./backend-flo_0.15.1.1-satoshilabs-1_amd64.deb
cd /blockbook/build && sudo apt install -y ./blockbook-flo_0.4.0_amd64.deb
#2. create run flo dir
mkdir -p /run/flo
#3. create a group and add flo and blockbook-flo & set permission for dir
# Create a common group (e.g., flo-group)
groupadd flo-group
# Add users to the common group
usermod -aG flo-group flo
usermod -aG flo-group blockbook-flo
# Set the common group ownership on the directory
chown :flo-group /run/flo
# Give the group read-write permissions on the directory
chmod 777 /run/flo
# 4. run main commands as user
su -s /bin/bash -c "/opt/coins/nodes/flo/bin/flod -datadir=/opt/coins/data/flo/backend -conf=/opt/coins/nodes/flo/flo.conf -pid=/run/flo/flo.pid" flo
su -s /bin/bash -c "cd /opt/coins/blockbook/flo && /opt/coins/blockbook/flo/bin/blockbook -blockchaincfg=/opt/coins/blockbook/flo/config/blockchaincfg.json -datadir=/opt/coins/data/flo/blockbook/db -sync -internal=:9066 -public=:9166 -certfile=/opt/coins/blockbook/flo/cert/blockbook -explorer= -log_dir=/opt/coins/blockbook/flo/logs -dbcache=1073741824" blockbook-flo

35
config-helper.sh Normal file
View File

@ -0,0 +1,35 @@
# Install make and git
apt install -y make git sudo
wget https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/backend-flo_0.15.1.1-satoshilabs-1_amd64.deb
wget https://github.com/ranchimall/blockbook/releases/download/flo-v0.4.0-ubuntu/blockbook-flo_0.4.0_amd64.deb
#1. Install deb files
apt install sudo
sudo apt install -y /opt/backend-flo_0.15.1.1-satoshilabs-1_amd64.deb
sudo apt install -y /opt/blockbook-flo_0.4.0_amd64.deb
#2. create run flo dir
mkdir -p /run/flo
#3. create a group and add flo and blockbook-flo & set permission for dir
# Create a common group (e.g., flo-group)
groupadd flo-group
# Add users to the common group
usermod -aG flo-group flo
usermod -aG flo-group blockbook-flo
# Set the common group ownership on the directory
chown :flo-group /run/flo
# Give the group read-write permissions on the directory
chmod 777 /run/flo
# 4. run main commands as user
# su -s /bin/bash -c "/opt/coins/nodes/flo/bin/flod -datadir=/opt/coins/data/flo/backend -conf=/opt/coins/nodes/flo/flo.conf -pid=/run/flo/flo.pid" flo
# su -s /bin/bash -c "/opt/coins/blockbook/flo/bin/blockbook -blockchaincfg=/opt/coins/blockbook/flo/config/blockchaincfg.json -datadir=/opt/coins/data/flo/blockbook/db -sync -internal=:9066 -public=:9166 -certfile=/opt/coins/blockbook/flo/cert/blockbook -explorer= -log_dir=/opt/coins/blockbook/flo/logs -dbcache=1073741824" blockbook-flo