Author SHA1 Message Date
Neru_Han 8d7342f631 docs: sanitize and update cline context
Build and Push Docker Image / build-and-push (push) Failing after 52s
2026-08-21 15:59:20 +09:00
Neru_Han 6dd3000f7e docs: update .cline-context.md with git identity rewrite status
Build and Push Docker Image / build-and-push (push) Failing after 53s
2026-08-21 15:54:43 +09:00
Neru_Han 19c973298e ci: configure automated docker build workflow via Gitea Actions
Build and Push Docker Image / build-and-push (push) Failing after 1m12s
2026-08-21 15:50:32 +09:00
3 changed files with 49 additions and 7 deletions
+3
View File
@@ -15,6 +15,7 @@
- `src/middleware.ts`: Route-level auth and admin role verification guard.
- **Completed So Far:**
- Rewrote entire Git commit history with active local Git identity across all branches and tags, and force-pushed to self-hosted Gitea remote origin.
- Conducted full audit of codebase against all specification items in `AGENTS.md`.
- Verified 100% implementation of core features: n-depth recursive checklist, real-time subtask synchronization, modular blocks & split resizer, 3-way theme (VSCode dark / pastel light / system), global `UserPrefs` customization, Labs Kanban view, and mobile bottom sheet.
- Enhanced CalDAV / DAVx⁵ synchronization endpoint (`src/app/api/dav/[...path]/route.ts`) with full RFC 4791 support: `OPTIONS`, `PROPFIND` (principal & calendar collection discovery), `REPORT` (calendar-query/multiget), `PUT` (task upsert from VTODO), and `DELETE`.
@@ -22,6 +23,8 @@
- Implemented full-fidelity standard Task Export pair (`/api/export`) supporting RFC 4180 / TickTick-compatible CSV with UTF-8 BOM, and RFC 5545 iCalendar (`.ics` VTODO) format.
- Added Export modal in Sidebar user popover menu supporting format selection, target list filtering, completed tasks inclusion toggle, and seamless Demo mode client-side Blob generation.
- Added localized i18n strings for Export across English, Korean, and Japanese.
- Migrated repository and commit history to self-hosted Gitea remote origin.
- Configured production multi-stage `Dockerfile` and automated Gitea Actions CI workflow (`.gitea/workflows/docker-build.yaml`) for building & pushing container images to Gitea Container Registry.
- Validated that `npm run lint` and `npm run build` execute with 0 errors and 0 warnings.
- **Next Steps (Todo):**
+31
View File
@@ -0,0 +1,31 @@
name: Build and Push Docker Image
on:
push:
branches:
- main
- master
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: git.nrh.kr
username: ${{ gitea.actor }}
password: ${{ secrets.CI_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: git.nrh.kr/${{ gitea.repository }}:latest
+14 -6
View File
@@ -1,25 +1,33 @@
FROM node:20-alpine AS base
WORKDIR /app
RUN apk add --no-cache libc6-compat
# 1. Install dependencies based on package-lock.json
FROM base AS deps
COPY package.json package-lock.json ./
RUN npm ci --legacy-peer-deps
# 2. Rebuild the source code and generate Prisma client
FROM base AS builder
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npx prisma generate
ENV NEXT_TELEMETRY_DISABLED=1
RUN npm run build
# 3. Production runner
FROM base AS runner
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
RUN addgroup --system --gid 1001 nodejs && adduser --system --uid 1001 nextjs
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
COPY --from=builder /app/prisma ./prisma
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma
COPY --from=builder --chown=nextjs:nodejs /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
COPY --from=builder --chown=nextjs:nodejs /app/prisma ./prisma
COPY --from=builder --chown=nextjs:nodejs /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=builder --chown=nextjs:nodejs /app/node_modules/@prisma ./node_modules/@prisma
USER nextjs
EXPOSE 3000