From 34d7afd03d9b372b443cc8918332d313b53a5287 Mon Sep 17 00:00:00 2001 From: Izan Gil <66965250+SrIzan10@users.noreply.github.com> Date: Sat, 18 Oct 2025 22:23:16 +0200 Subject: [PATCH] ci: remove db image --- .github/workflows/docker.yml | 37 +----------------------------- apps/web/Dockerfile | 5 ++++ packages/db/Dockerfile | 44 ------------------------------------ 3 files changed, 6 insertions(+), 80 deletions(-) delete mode 100644 packages/db/Dockerfile diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index aa8b6e9..d3fb3ad 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -63,41 +63,6 @@ jobs: secrets: | TURBO_TOKEN=${{ secrets.TURBO_TOKEN }} TURBO_TEAM=${{ secrets.TURBO_TEAM }} - db: - name: Push db to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Check out the repo - uses: actions/checkout@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - with: - images: srizan10/hclive-db - tags: latest - - - name: Build and push Docker image - uses: docker/build-push-action@v6 - with: - context: . - file: ./packages/db/Dockerfile - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - platforms: linux/amd64 - secrets: | - TURBO_TOKEN=${{ secrets.TURBO_TOKEN }} - TURBO_TEAM=${{ secrets.TURBO_TEAM }} chat: name: Push chat module to Docker Hub runs-on: ubuntu-latest @@ -136,7 +101,7 @@ jobs: deploy: name: Deploy to server runs-on: ubuntu-latest - needs: [frontend, db, chat] + needs: [frontend, chat] steps: # source https://github.com/taciturnaxolotl/cachet/blob/main/.github/workflows/deploy.yaml - name: Deploy with Docker diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 3e639ee..502ec7e 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -54,7 +54,12 @@ RUN adduser --system --uid 1001 nextjs COPY --from=installer /tmp/commit_hash /tmp/commit_hash RUN COMMIT_VALUE=$(cat /tmp/commit_hash 2>/dev/null || echo "unknown") && \ echo "#!/bin/sh" > /usr/local/bin/start.sh && \ + echo "set -e" >> /usr/local/bin/start.sh && \ + echo "echo 'Running database migrations...'" >> /usr/local/bin/start.sh && \ + echo "cd /app/packages/db && npx prisma migrate deploy" >> /usr/local/bin/start.sh && \ + echo "cd /app" >> /usr/local/bin/start.sh && \ echo "export commit=$COMMIT_VALUE" >> /usr/local/bin/start.sh && \ + echo "echo 'Starting Next.js application...'" >> /usr/local/bin/start.sh && \ echo "exec node apps/web/server.js" >> /usr/local/bin/start.sh && \ chmod +x /usr/local/bin/start.sh diff --git a/packages/db/Dockerfile b/packages/db/Dockerfile deleted file mode 100644 index 64afc97..0000000 --- a/packages/db/Dockerfile +++ /dev/null @@ -1,44 +0,0 @@ -FROM node:lts-alpine AS base - -FROM base AS builder -RUN apk update -RUN apk add --no-cache libc6-compat -# Set working directory -WORKDIR /app -RUN yarn global add turbo@^2 -COPY . . - -# Generate a partial monorepo with a pruned lockfile for the db package -RUN turbo prune @hctv/db --docker - -FROM base AS installer -RUN apk update -RUN apk add --no-cache libc6-compat -WORKDIR /app - -# First install the dependencies -COPY --from=builder /app/out/json/ . -RUN yarn install --frozen-lockfile - -COPY --from=builder /app/out/full/ . -RUN --mount=type=secret,id=TURBO_TOKEN --mount=type=secret,id=TURBO_TEAM TURBO_TOKEN=$(cat /run/secrets/TURBO_TOKEN) TURBO_TEAM=$(cat /run/secrets/TURBO_TEAM) yarn turbo run build --filter=@hctv/db - -FROM base AS runner -WORKDIR /app - -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 prisma -USER prisma - -COPY --from=installer --chown=prisma:nodejs /app/packages ./packages -COPY --from=installer --chown=prisma:nodejs /app/node_modules ./node_modules -COPY --from=installer --chown=prisma:nodejs /app/package.json ./package.json - -# Set environment variables for database connection -ENV NODE_ENV=production - -# Set the working directory to the db package -WORKDIR /app/packages/db - -# Run Prisma migrations as the entrypoint -ENTRYPOINT ["npx", "prisma", "migrate", "deploy"] \ No newline at end of file