기술 블로그 프로젝트
- 게시물, 카테고리, 태그, 이미지 CRUD
- 관리자 계정 (사용자 기능 미정)
- 마크다운 에디터, 뷰어
- 언어: typescript, Golang
- 프레임워크: vite, react.js
- 데이터베이스: PostgreSQL
- 인증: JWT Bearer 기반
- SPA
- RESTful API 기반
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
docker compose version# 설치 후 Docker Desktop 앱을 한 번 실행해줘야 CLI(`docker`, `docker compose`)가 활성화됩니다.
brew install --cask dockergit clone https://github.com/kmj36/fieldnotes-tech-blog.git
cd fieldnotes-tech-blog/infra/env
cp .env.example .env.prod # 환경변수 작성
cd ../scripts
./docker_prod_up.sh| 변수명 | 설명 | 예시 |
|---|---|---|
| VITE_APP_NAME | 앱 표시 이름 | Fieldnotes |
| VITE_MODE | 빌드 모드 | production |
| VITE_API_BASE_URL | 백엔드 API 베이스 URL | https://blog.minjekim.dev |
| API_MODE | Gin 실행 모드 | release |
| API_ALLOW_ORIGINS | CORS 허용 오리진 | https://blog.minjekim.dev |
| API_ADDR | 서버 바인딩 주소 | 0.0.0.0 |
| API_PORT | 서버 포트 | 8080 |
| API_JWT_SECRET | JWT 서명 시크릿 키 | (임의의 긴 랜덤 문자열) |
| API_JWT_EXPIRE | JWT 만료 시간 | 24h |
| API_LOG_LEVEL | 로그 레벨 | info |
| DB_SCHEME | DB 접속 스킴 | postgres |
| DB_DOCKER_HOST | Docker 네트워크 내부 DB 호스트명 | db |
| DB_HOST | DB 호스트 (로컬 개발용) | localhost |
| DB_PORT | DB 포트 | 5432 |
| DB_DATABASE | DB 이름 | fieldnotes |
| DB_USER | DB 유저 | app |
| DB_PASSWORD | DB 비밀번호 | secret |
| DB_SSLMODE | SSL 연결 모드 | disable |
| DB_TIMEZONE | DB 타임존 | Asia/Seoul |
- Swagger URL
http://localhost:18080/