From b266cd08af4b7ee25023be398818dd7227493e08 Mon Sep 17 00:00:00 2001 From: chpark Date: Wed, 12 Aug 2026 07:24:22 +0000 Subject: [PATCH 1/4] Initial commit --- README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1f673a5 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# app + From c9af9cf51430ada113acb9e2e58106ca4d6753ff Mon Sep 17 00:00:00 2001 From: chpark Date: Wed, 12 Aug 2026 07:24:55 +0000 Subject: [PATCH 2/4] add Dockerfile --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f16faa6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:alpine +RUN printf "jskim

jskim workspace ready

jskim.vexplor.com — push your app (replace this Dockerfile). DB wired to pg-jskim.

" > /usr/share/nginx/html/index.html From 1ef764da268e4c6d86756086d01bc4f808b64693 Mon Sep 17 00:00:00 2001 From: chpark Date: Wed, 12 Aug 2026 07:25:05 +0000 Subject: [PATCH 3/4] add deploy/docker-compose.yml --- deploy/docker-compose.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 deploy/docker-compose.yml diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml new file mode 100644 index 0000000..441c26d --- /dev/null +++ b/deploy/docker-compose.yml @@ -0,0 +1,21 @@ +services: + jskim: + image: harbor.wace.me/dev-pilots/jskim:latest + container_name: jskim + restart: always + environment: + TZ: Asia/Seoul + DATABASE_URL: ${DATABASE_URL:?set DATABASE_URL in repo secrets} + networks: [web, pgnet] + labels: + - traefik.enable=true + - traefik.http.routers.jskim.rule=Host(`jskim.vexplor.com`) + - traefik.http.routers.jskim.entrypoints=websecure + - traefik.http.routers.jskim.tls.certresolver=le + - traefik.http.services.jskim.loadbalancer.server.port=80 + - traefik.docker.network=web +networks: + web: + external: true + pgnet: + external: true From 5743d277ea983d13d32ada6d44c33e256fe8a580 Mon Sep 17 00:00:00 2001 From: chpark Date: Wed, 12 Aug 2026 07:25:15 +0000 Subject: [PATCH 4/4] add .gitea/workflows/deploy.yml --- .gitea/workflows/deploy.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .gitea/workflows/deploy.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..54b6d53 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,35 @@ +name: build-and-deploy +on: + push: + branches: [main] + workflow_dispatch: +env: + HARBOR: harbor.wace.me + PROJECT: dev-pilots + APP: jskim +jobs: + deploy: + runs-on: ubuntu-24.04 + steps: + - name: tools + run: | + apt-get update -qq + apt-get install -y ca-certificates curl git docker.io docker-compose-v2 >/dev/null 2>&1 || apt-get install -y ca-certificates curl git docker.io >/dev/null + - name: checkout + run: | + rm -rf src && git clone --depth 1 --branch "$GITHUB_REF_NAME" http://oauth2:${{ github.token }}@gitea:3000/${GITHUB_REPOSITORY}.git src + - name: build + run: | + cd src && docker build -t $HARBOR/$PROJECT/$APP:latest . + - name: push + env: + HUSER: ${{ secrets.HARBOR_USER }} + HSECRET: ${{ secrets.HARBOR_SECRET }} + run: | + echo "$HSECRET" | docker login $HARBOR -u "$HUSER" --password-stdin + docker push $HARBOR/$PROJECT/$APP:latest + - name: deploy + env: + DATABASE_URL: ${{ secrets.DATABASE_URL }} + run: | + cd src && docker compose -f deploy/docker-compose.yml up -d --pull always --force-recreate