AssetPilot OrangePi 5 Pluse Server-First Commit
This commit is contained in:
130
.TemporaryDocument/claude.md
Normal file
130
.TemporaryDocument/claude.md
Normal file
@@ -0,0 +1,130 @@
|
||||
이걸 postgresql 도커 따로 개발프로그램 실행 도커 따로 이렇게 설치하고 싶은데 과정알려줘
|
||||
|
||||
오전 8:10
|
||||
|
||||
4개의 파일 생성됨, 명령 4개 실행함
|
||||
이제 다시 파일들을 생성하겠습니다.
|
||||
|
||||
|
||||
명령 3개 실행함
|
||||
좋습니다! 이제 Docker 관련 파일들을 추가하겠습니다.
|
||||
|
||||
|
||||
9개의 파일 생성됨, 명령 실행함
|
||||
이제 프로젝트를 압축하여 제공하겠습니다.
|
||||
|
||||
|
||||
명령 2개 실행함, 파일 생성됨
|
||||
완벽합니다! 이제 모든 파일을 제공하겠습니다.
|
||||
|
||||
|
||||
Presented 2 files
|
||||
완료했습니다! 🐳
|
||||
|
||||
📦 Docker 버전 제공 완료
|
||||
제공된 파일
|
||||
asset_pilot_docker.tar.gz - Docker 기반 전체 패키지
|
||||
DOCKER_QUICKSTART.md - Docker 빠른 시작 가이드
|
||||
🐳 Docker 설치 방식의 장점
|
||||
독립된 컨테이너 구조
|
||||
PostgreSQL Container (DB) ←→ App Container (FastAPI)
|
||||
↓ ↓
|
||||
Volume (postgres_data) Volume (app_logs)
|
||||
주요 이점:
|
||||
|
||||
✅ PostgreSQL과 앱이 별도 컨테이너로 완전 격리
|
||||
✅ 한 번의 명령으로 전체 시스템 실행
|
||||
✅ 컨테이너별 독립적 재시작 가능
|
||||
✅ 볼륨으로 데이터 영구 저장
|
||||
✅ 백업/복원 매우 간단
|
||||
✅ 이식성 최고 (다른 서버로 쉽게 이동)
|
||||
🚀 설치 과정
|
||||
초간단 설치 (3단계)
|
||||
bash
|
||||
# 1. 압축 해제
|
||||
tar -xzf asset_pilot_docker.tar.gz
|
||||
cd asset_pilot_docker
|
||||
|
||||
# 2. 자동 설치 실행
|
||||
bash start.sh
|
||||
|
||||
# 3. 완료! 접속
|
||||
# http://[IP]:8000
|
||||
start.sh 스크립트가 자동으로:
|
||||
Docker 설치 확인 (없으면 자동 설치)
|
||||
Docker Compose 확인 (없으면 자동 설치)
|
||||
비밀번호 입력 받아 .env 파일 생성
|
||||
PostgreSQL 컨테이너 시작
|
||||
App 컨테이너 빌드 및 시작
|
||||
데이터베이스 자동 초기화
|
||||
접속 URL 안내
|
||||
🔧 주요 관리 명령어
|
||||
컨테이너 관리
|
||||
bash
|
||||
docker compose up -d # 시작 (백그라운드)
|
||||
docker compose down # 중지
|
||||
docker compose ps # 상태 확인
|
||||
docker compose logs -f # 로그 실시간
|
||||
docker compose restart app # 앱만 재시작
|
||||
데이터 관리
|
||||
bash
|
||||
# 백업
|
||||
docker compose exec postgres pg_dump -U asset_user asset_pilot > backup.sql
|
||||
|
||||
# 복원
|
||||
cat backup.sql | docker compose exec -T postgres psql -U asset_user -d asset_pilot
|
||||
|
||||
# CSV 가져오기
|
||||
docker cp user_assets.csv asset_pilot_app:/app/
|
||||
docker compose exec app python import_csv.py user_assets.csv
|
||||
📊 컨테이너 구성 상세
|
||||
PostgreSQL 컨테이너
|
||||
이미지: postgres:16-alpine (경량)
|
||||
포트: 5432 (내부 네트워크만)
|
||||
볼륨: postgres_data (데이터 영구 저장)
|
||||
헬스체크: 자동 상태 확인
|
||||
App 컨테이너
|
||||
이미지: 자체 빌드 (Python 3.11)
|
||||
포트: 8000 (외부 접근 가능)
|
||||
의존성: PostgreSQL 준비 완료 후 시작
|
||||
헬스체크: /health 엔드포인트 확인
|
||||
🔄 업데이트 방법
|
||||
bash
|
||||
# 코드 업데이트 후
|
||||
docker compose build app # 이미지 재빌드
|
||||
docker compose up -d app # 앱만 재시작
|
||||
🔐 보안 설정
|
||||
PostgreSQL: 내부 네트워크만 접근
|
||||
.env 파일: 권한 600 (소유자만 읽기/쓰기)
|
||||
방화벽: 8000번 포트만 개방
|
||||
비루트 사용자: 컨테이너 내부에서 appuser로 실행
|
||||
💡 일반 설치 vs Docker 설치
|
||||
항목 일반 설치 Docker 설치
|
||||
설치 난이도 중간 (여러 단계) 쉬움 (3단계)
|
||||
의존성 관리 수동 설치 필요 자동 처리
|
||||
환경 격리 없음 완벽
|
||||
백업 수동 (복잡) 간단
|
||||
업데이트 복잡 쉬움
|
||||
롤백 어려움 쉬움
|
||||
이식성 낮음 높음
|
||||
리소스 가벼움 약간 더 사용
|
||||
📚 포함된 문서
|
||||
프로젝트 내부 (압축 해제 후):
|
||||
|
||||
README.md - 프로젝트 개요
|
||||
DOCKER_GUIDE.md - 상세 설치/관리 가이드
|
||||
docker-compose.yml - 컨테이너 설정
|
||||
Dockerfile - 앱 이미지 빌드 설정
|
||||
start.sh - 자동 설치 스크립트
|
||||
🎯 권장 사용 시나리오
|
||||
Docker 설치 추천:
|
||||
|
||||
✅ 깔끔한 환경 원할 때
|
||||
✅ 쉬운 백업/복원 필요할 때
|
||||
✅ 여러 서버에 배포할 때
|
||||
✅ 컨테이너 기술 선호할 때
|
||||
일반 설치 추천:
|
||||
|
||||
✅ Docker 없는 환경
|
||||
✅ 최소 리소스 사용
|
||||
✅ 직접 제어 선호
|
||||
Reference in New Issue
Block a user