Skip to content

Commit

Permalink
[digitalocean deploy] commit deploy config including Dockerfile, ngin…
Browse files Browse the repository at this point in the history
…x.conf, starcoin-explorer-deployment.yaml etc.
  • Loading branch information
welbon committed Jul 11, 2024
1 parent fbfc088 commit d1379d2
Show file tree
Hide file tree
Showing 5 changed files with 160 additions and 0 deletions.
27 changes: 27 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

.eslintcache
lintout.json

# editors
.idea
57 changes: 57 additions & 0 deletions .github/workflows/docker_build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build and Deploy Docker Image

on:
push:
branches:
- main
workflow_dispatch:
release:
types: [published]

jobs:
build-and-deploy:
name: Build and Deploy Docker Image
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
tags: |
starcoin/starcoin_explorer:latest
starcoin/starcoin_explorer:${{ github.sha }}
build-args: |
REACT_APP_STARCOIN_API_URL=https://doapi.stcscan.io
REACT_APP_STARCOIN_NETWORKS=main,banard,proxima,halley,vega
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

- name: Verify push to DockerHub
run: |
echo "Image pushed to DockerHub successfully!"
echo "Tags:"
echo " - starcoin/starcoin_explorer:latest"
echo " - starcoin/starcoin_explorer:${{ github.sha }}"
- name: Deployment notification
if: success()
run: |
echo "Docker image has been successfully built and pushed to DockerHub."
echo "You can pull the latest image using:"
echo "docker pull starcoin/starcoin_explorer:latest"
24 changes: 24 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM node:16-alpine as build

WORKDIR /app

COPY package*.json yarn*.lock ./

# Set enviroments
ENV REACT_APP_STARCOIN_API_URL=https://doapi.stcscan.io
ENV REACT_APP_STARCOIN_NETWORKS=main,banard,proxima,halley,vega

COPY . .

# Build project
RUN yarn install && yarn build

FROM nginx:alpine

COPY --from=build /app/build /usr/share/nginx/html

COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]
31 changes: 31 additions & 0 deletions kube/starcoin-explorer-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: starcoin-explorer-deployment
namespace: starcoin-client
spec:
replicas: 1
selector:
matchLabels:
app: starcoin-client
template:
metadata:
labels:
app: starcoin-client
spec:
containers:
- name: react-app
image: starcoin_explorer:v1.9.10
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: starcoin-explorer
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: react-app
21 changes: 21 additions & 0 deletions nginx.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
server {
listen 80;
server_name localhost;

root /usr/share/nginx/html;
index index.html;

location /static/ {
try_files $uri $uri/ =404;
}

location /locales/ {
try_files $uri $uri/ =404;
}

location / {
try_files $uri /index.html;
}

error_page 404 /index.html;
}

0 comments on commit d1379d2

Please sign in to comment.