Fix cost page: unify background colors and width
This commit is contained in:
@@ -177,6 +177,19 @@ nano ~/.ssh/authorized_keys
|
|||||||
- **프론트엔드**: 브라우저 캐시 클리어 (Ctrl+Shift+R)
|
- **프론트엔드**: 브라우저 캐시 클리어 (Ctrl+Shift+R)
|
||||||
- **백엔드**: 컨테이너 재시작 확인
|
- **백엔드**: 컨테이너 재시작 확인
|
||||||
|
|
||||||
|
### 5. "Login failed" / SQLite 에러
|
||||||
|
- **원인**: `.env` 파일이 디렉토리로 생성되어 환경변수 로드 실패
|
||||||
|
- **증상**: `(sqlite3.OperationalError) no such column` 에러
|
||||||
|
- **확인**: `ls -la /opt/autonet/production/backend/.env`
|
||||||
|
- **해결**:
|
||||||
|
```bash
|
||||||
|
# .env가 디렉토리인 경우
|
||||||
|
rm -rf /opt/autonet/production/backend/.env
|
||||||
|
# .env 파일 재생성 (개발서버에서 복사 또는 수동 생성)
|
||||||
|
# 컨테이너 재시작
|
||||||
|
cd /opt/autonet/production && docker-compose -f docker-compose.production.yml up -d --force-recreate
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## .env 파일 관리 (중요!)
|
## .env 파일 관리 (중요!)
|
||||||
@@ -219,6 +232,7 @@ ssh damon@192.168.0.202 "cd /opt/autonet/production && docker compose -f docker-
|
|||||||
|
|
||||||
| 날짜 | 변경 내용 | DB 변경 |
|
| 날짜 | 변경 내용 | DB 변경 |
|
||||||
|------|----------|---------|
|
|------|----------|---------|
|
||||||
|
| 2026-01-01 | .env 파일 문제 해결 (디렉토리→파일), deploy.sh rsync에서 .env 제외, docker-compose env_file 방식 | - |
|
||||||
| 2026-01-01 | 강력한 비밀번호 정책 및 로그인 보안 강화 | users: failed_login_attempts, locked_until, password_reset_required |
|
| 2026-01-01 | 강력한 비밀번호 정책 및 로그인 보안 강화 | users: failed_login_attempts, locked_until, password_reset_required |
|
||||||
| 2026-01-01 | 삭제된 사용자 재가입 허용 수정 | - |
|
| 2026-01-01 | 삭제된 사용자 재가입 허용 수정 | - |
|
||||||
| 2026-01-01 | inquiries 테이블 누락 컬럼 추가 | inquiries: category, subject 등 8개 컬럼 |
|
| 2026-01-01 | inquiries 테이블 누락 컬럼 추가 | inquiries: category, subject 등 8개 컬럼 |
|
||||||
|
|||||||
@@ -26,10 +26,11 @@ services:
|
|||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
environment:
|
environment:
|
||||||
- ENV=production
|
- ENV=production
|
||||||
|
env_file:
|
||||||
|
- ./backend/.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./backend/uploads:/app/uploads
|
- ./backend/uploads:/app/uploads
|
||||||
- backend-prod-data:/app/data
|
- backend-prod-data:/app/data
|
||||||
- ./backend/.env:/app/.env:ro
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- autonet-production
|
- autonet-production
|
||||||
@@ -42,7 +43,6 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- ENV=production
|
- ENV=production
|
||||||
volumes:
|
volumes:
|
||||||
- ./agent/.env:/app/.env:ro
|
|
||||||
- agent-data:/app/data
|
- agent-data:/app/data
|
||||||
- agent-logs:/app/logs
|
- agent-logs:/app/logs
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -405,9 +405,10 @@ export default function CostPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Container Matching System */}
|
{/* Container Matching System */}
|
||||||
<div className="container mx-auto px-4 py-12">
|
<div className="bg-white py-12">
|
||||||
|
<div className="container mx-auto px-4">
|
||||||
<div className="max-w-5xl mx-auto">
|
<div className="max-w-5xl mx-auto">
|
||||||
<div className="bg-white rounded-lg shadow-lg p-6 md:p-8">
|
<div className="bg-gray-50 rounded-lg shadow-lg p-6 md:p-8">
|
||||||
<div className="text-center mb-8">
|
<div className="text-center mb-8">
|
||||||
<h2 className="text-2xl font-bold text-gray-800 mb-2">{t.containerMatching}</h2>
|
<h2 className="text-2xl font-bold text-gray-800 mb-2">{t.containerMatching}</h2>
|
||||||
<p className="text-gray-600">{t.containerMatchingDesc}</p>
|
<p className="text-gray-600">{t.containerMatchingDesc}</p>
|
||||||
@@ -570,11 +571,13 @@ export default function CostPage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
{/* Cost Calculator */}
|
{/* Cost Calculator */}
|
||||||
<div className="container mx-auto px-4 py-12">
|
<div className="bg-white py-12">
|
||||||
<div className="max-w-2xl mx-auto">
|
<div className="container mx-auto px-4">
|
||||||
<div className="bg-white rounded-lg shadow-lg p-8">
|
<div className="max-w-5xl mx-auto">
|
||||||
|
<div className="bg-gray-50 rounded-lg shadow-lg p-8">
|
||||||
<h2 className="text-2xl font-bold text-gray-800 text-center mb-8">{t.costCalculator}</h2>
|
<h2 className="text-2xl font-bold text-gray-800 text-center mb-8">{t.costCalculator}</h2>
|
||||||
|
|
||||||
{/* Input Fields */}
|
{/* Input Fields */}
|
||||||
@@ -692,6 +695,7 @@ export default function CostPage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
{/* CTA Section */}
|
{/* CTA Section */}
|
||||||
<div className="bg-primary-600 text-white py-12 rounded-lg -mx-6 mb-0 mt-6">
|
<div className="bg-primary-600 text-white py-12 rounded-lg -mx-6 mb-0 mt-6">
|
||||||
|
|||||||
Reference in New Issue
Block a user