docs: generalize deployment instructions in README for public repository audience
Build and Push Docker Image / build-and-push (push) Canceled after 9m1s
Build and Push Docker Image / build-and-push (push) Canceled after 9m1s
This commit is contained in:
+2
-2
@@ -26,9 +26,9 @@
|
||||
- Added localized i18n strings for Export across English, Korean, and Japanese.
|
||||
- Configured production multi-stage `Dockerfile` with standalone Next.js runner, Prisma CLI migrations support, and automated `docker-entrypoint.sh` startup script.
|
||||
- Added `.dockerignore` for minimal context transfer and fast build times.
|
||||
- Refined `docker-compose.yml` and `.env.example` to support standalone 2-file deployment (`docker-compose.yml` + `.env`) without cloning source code, prebuilt registry images (`CHECKFLOW_IMAGE`), Watchtower auto-updating labels, and automated database migrations.
|
||||
- Refined `docker-compose.yml` and `.env.example` to support standalone 2-file deployment (`docker-compose.yml` + `.env`) without cloning source code, public registry images (`CHECKFLOW_IMAGE`), Watchtower auto-updating labels, and automated database migrations.
|
||||
- Automated Gitea Actions CI workflow (`.gitea/workflows/docker-build.yaml`) for building & pushing container images to Gitea Container Registry with lowercase repository name normalization (`env.REPO`) and OCI source labels (`org.opencontainers.image.source`) for automatic repository package linkage.
|
||||
- Completely revamped `README.md` to reflect standalone 2-file Docker deployment (with curl/wget commands), Watchtower auto-update, architecture, and open-standard CalDAV sync guidelines.
|
||||
- Completely revamped `README.md` to reflect universal 2-file Docker deployment for general users, Watchtower auto-update, architecture, and open-standard CalDAV sync guidelines.
|
||||
- Validated that `npm run lint` and `npm run build` execute with 0 errors and 0 warnings.
|
||||
|
||||
- **Next Steps (Todo):**
|
||||
|
||||
@@ -108,27 +108,23 @@ PORT=3000
|
||||
CHECKFLOW_IMAGE=git.nrh.kr/neru_han/checkflow:latest
|
||||
```
|
||||
|
||||
### 3. 컨테이너 이미지 풀(Pull) 및 실행
|
||||
Gitea 패키지 레지스트리가 비공개인 경우 먼저 도커 로그인을 수행합니다 (공개 레지스트리인 경우 생략 가능):
|
||||
### 3. 서비스 실행 및 자동 마이그레이션
|
||||
최신 패키지 이미지를 다운로드하고 서비스를 실행합니다:
|
||||
|
||||
```bash
|
||||
# (비공개 레지스트리인 경우 1회 로그인)
|
||||
docker login git.nrh.kr
|
||||
|
||||
# 최신 배포 이미지 다운로드
|
||||
# 최신 공개 이미지 다운로드
|
||||
docker compose pull
|
||||
|
||||
# 백그라운드 서비스 시작
|
||||
docker compose up -d
|
||||
```
|
||||
> 💡 **자동 DB 마이그레이션**: 컨테이너가 시작될 때 PostgreSQL 데이터베이스 준비 상태를 확인한 후 `prisma migrate deploy`를 자동 수행하므로 별도의 수동 DB 설정이 전혀 필요하지 않습니다.
|
||||
> 💡 **자동 DB 마이그레이션**: 컨테이너 구동 시 `docker-entrypoint.sh`가 PostgreSQL 데이터베이스 연결을 확인한 후 `prisma migrate deploy`를 자동 실행하므로 수동 DB 마이그레이션 작업이 필요하지 않습니다.
|
||||
|
||||
### 🔄 Watchtower 기반 무중단 자동 갱신
|
||||
`docker-compose.yml`에는 `com.centurylinklabs.watchtower.enable=true` 라벨이 기본 적용되어 있습니다.
|
||||
Gitea Actions CI 파이프라인을 통해 새 이미지가 레지스트리에 푸시되면, Watchtower가 이를 감지하여 컨테이너를 자동으로 최신 상태로 갱신합니다:
|
||||
### 🔄 Watchtower 기반 자동 업데이트 (선택 사항)
|
||||
`docker-compose.yml`에는 `com.centurylinklabs.watchtower.enable=true` 라벨이 구성되어 있습니다.
|
||||
Watchtower를 사용하면 새로운 릴리즈 이미지가 배포되었을 때 컨테이너를 자동으로 감지하여 최신 버전으로 갱신할 수 있습니다:
|
||||
|
||||
```bash
|
||||
# Watchtower가 실행 중인 경우 CheckFlow 컨테이너 자동 감지 & 갱신
|
||||
docker run -d \
|
||||
--name watchtower \
|
||||
--restart unless-stopped \
|
||||
@@ -136,7 +132,7 @@ docker run -d \
|
||||
containrrr/watchtower --interval 300 --cleanup --label-enable
|
||||
```
|
||||
|
||||
브라우저에서 설정한 도메인(`https://todo.yourdomain.com` 또는 `http://서버IP:3000`)에 접속하여 첫 관리자 계정을 생성하고 바로 사용을 시작하세요.
|
||||
브라우저에서 설정한 주소(`https://todo.yourdomain.com` 또는 `http://서버IP:3000`)에 접속하여 첫 계정(관리자)을 등록하고 바로 사용을 시작하세요.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user