Add SOLD OUT badge and improve deployment docs

- Add SOLD OUT overlay on car detail page image
- Add SOLD OUT badge next to car name
- Add Sold Out status in Admin Cars detail view
- Add soldout field to Car TypeScript interface
- Create PRODUCTION_VALUES.md for deployment reference
- Update CLAUDE.md with CRITICAL deployment section
- Update TROUBLESHOOTING.md with recurring errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
AutonetSellCar Deploy
2026-01-03 09:05:16 +09:00
parent 2da464694b
commit b1afea79d9
8 changed files with 593 additions and 25 deletions

View File

@@ -8,6 +8,59 @@
---
# ⛔ CRITICAL: 배포 전 필수 확인사항 (DO NOT SKIP!)
## 🚨 Production 환경 고정값 (절대 변경 금지!)
| 항목 | 올바른 값 | 잘못된 예 |
|------|----------|----------|
| **DB_NAME** | `autonet` | ~~mongolcar~~, ~~autonet_db~~ |
| **DB_PASSWORD** | `roskfl@1122` (@ 포함, URL 인코딩 필요) | - |
| **API_URL (Frontend)** | `https://autonetsellcar.com` | ~~http://192.168.0.202:8000~~ |
| **Uploads 경로** | `/opt/autonet/production/backend/uploads` | ~~`/home/damon/mongolcar/data/uploads`~~ |
| **배포 디렉토리** | `/opt/autonet/production` | ~~`/home/damon/mongolcar`~~ |
## 🚫 절대 하지 말 것
1. **수동 `docker run`에서 환경변수 직접 타이핑 금지** - [PRODUCTION_VALUES.md](./PRODUCTION_VALUES.md)에서 복사만 허용
2. **DB_NAME 직접 타이핑 금지** - 반드시 `autonet` 복사/붙여넣기
3. **`.env` 파일 덮어쓰기 금지** - 서버의 기존 `.env` 보존
4. **`/home/damon/mongolcar/data/uploads` 사용 금지** - 비어있는 잘못된 경로
## ✅ 배포 전 필수 검증 명령어
```bash
# 1. DB 이름 확인 (반드시 autonet이어야 함!)
ssh server1 "docker exec postgres-primary psql -U admin -d autonet -c 'SELECT COUNT(*) FROM cars;'"
# 2. Uploads 경로에 파일 있는지 확인
ssh server2 "ls /opt/autonet/production/backend/uploads/cars/ | head -5"
# 3. 배포 후 API 확인
curl -s https://autonetsellcar.com/api/hero-banners/ | head -c 100
```
## 📋 표준 컨테이너 실행 명령어 (복사해서 사용!)
**⚠️ 아래 명령어를 그대로 복사해서 사용하세요. 절대 직접 타이핑하지 마세요!**
### Backend 실행
```bash
ssh server2 "docker stop autonet-backend 2>/dev/null; docker rm autonet-backend 2>/dev/null; docker run -d --name autonet-backend --restart unless-stopped -p 8000:8000 -e USE_SQLITE=False -e DB_HOST=192.168.0.201 -e DB_PORT=5432 -e DB_NAME=autonet -e DB_USER=admin -e 'DB_PASSWORD=roskfl@1122' -e REDIS_HOST=192.168.0.201 -e REDIS_PORT=6379 -e 'REDIS_PASSWORD=roskfl@1122' -e SECRET_KEY=YourSuperSecretKeyForJWT123! -e AGENT_API_KEY=AgentApiKey123! -v /opt/autonet/production/backend/uploads:/app/uploads --network mongolcar-network production-backend"
```
### Frontend 빌드 전 (.env.production 설정)
```bash
ssh server2 "echo 'NEXT_PUBLIC_API_URL=https://autonetsellcar.com' > /home/damon/mongolcar/frontend/.env.production"
```
### Frontend 실행
```bash
ssh server2 "docker stop autonet-frontend 2>/dev/null; docker rm autonet-frontend 2>/dev/null; docker run -d --name autonet-frontend --restart unless-stopped -p 3000:3000 --network mongolcar-network production-frontend"
```
---
## 1. 프로젝트 구조
```