Skip to content

Commit

Permalink
dockerilfe
Browse files Browse the repository at this point in the history
  • Loading branch information
amitz committed Mar 23, 2024
1 parent 3a4a009 commit acf60f4
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 1 deletion.
4 changes: 3 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ ecosystem/**/package-lock.json
.git/
.idea/
.vscode/
.storage/
.storage/

Dockerfile
89 changes: 89 additions & 0 deletions cmd/lavad/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# syntax = docker/dockerfile:1.2

ARG GO_VERSION="1.21"
ARG RUNNER_IMAGE="ubuntu:22.04"

FROM golang:${GO_VERSION}-alpine3.18 as builder

RUN apk add --no-cache \
ca-certificates \
build-base \
linux-headers

WORKDIR /lava
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/root/go/pkg/mod \
go mod download

COPY . .

RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/root/go/pkg/mod \
GOWORK=off go build \
-mod=readonly \
-ldflags \
"-X github.com/cosmos/cosmos-sdk/version.Name="lava" \
-X github.com/cosmos/cosmos-sdk/version.AppName="lavad" \
-X github.com/cosmos/cosmos-sdk/version.Version=${GIT_VERSION} \
-X github.com/cosmos/cosmos-sdk/version.Commit=${GIT_COMMIT} \
-w -s -linkmode=external -extldflags '-Wl,-z,muldefs -static'" \
-trimpath \
-o /lava/build/lavad \
/lava/cmd/lavad/main.go

FROM ${RUNNER_IMAGE}

ARG COSMOVISOR_VERSION="v1.5.0"

RUN set -eux && \
apt-get update && \
apt-get install -y curl && \
curl -sSL https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2F${COSMOVISOR_VERSION}/cosmovisor-${COSMOVISOR_VERSION}-linux-amd64.tar.gz | \
tar -xz -C /usr/local/bin cosmovisor

RUN set -eux && \
chmod +x /usr/local/bin/* && \
groupadd -g 1000 cosmovisor && \
useradd -u 1000 -g 1000 -s /bin/bash -Md /lava cosmovisor

ENV HOME /lava
WORKDIR $HOME

RUN mkdir -p ~/.lava/cosmovisor && \
mkdir -p ~/.lava/cosmovisor/genesis && \
mkdir -p ~/.lava/cosmovisor/genesis/bin && \
mkdir -p ~/.lava/cosmovisor/upgrades

ENV LAVA_MONIKER="my-docker-lavad"

ENV DAEMON_NAME=lavad \
DAEMON_HOME=/lava/.lava \
CHAIN_HOME=/lava \
UNSAFE_SKIP_BACKUP=true \
DAEMON_RESTART_AFTER_UPGRADE=true \
DAEMON_ALLOW_DOWNLOAD_BINARIES=true \
DAEMON_LOG_BUFFER_SIZE=512 \
LAVA_CHAIN_ID=lava-testnet-2

COPY --from=builder /lava/build/lavad /lava/.lava/cosmovisor/genesis/bin/lavad

RUN /lava/.lava/cosmovisor/genesis/bin/lavad init ${LAVA_MONIKER} \
--chain-id ${LAVA_CHAIN_ID} \
--home /lava/.lava \
--overwrite

# lava api
EXPOSE 1317
# rosetta
EXPOSE 8080
# grpc
EXPOSE 9090
# grpc-web
EXPOSE 9090
# tendermint p2p
EXPOSE 26656
# tendermint rpc
EXPOSE 26657

CMD [ "cosmovisor", "run", "start", "--log_level", "warn" ]

0 comments on commit acf60f4

Please sign in to comment.