-
Notifications
You must be signed in to change notification settings - Fork 206
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
amitz
committed
Mar 23, 2024
1 parent
3a4a009
commit acf60f4
Showing
2 changed files
with
92 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,4 +16,6 @@ ecosystem/**/package-lock.json | |
.git/ | ||
.idea/ | ||
.vscode/ | ||
.storage/ | ||
.storage/ | ||
|
||
Dockerfile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" ] |