Files
AssetPilot/asset_pilot_docker

Asset Pilot - Docker Edition

🐳 Docker 컨테이너 기반 자산 모니터링 시스템

📦 구성

이 프로젝트는 2개의 독립된 Docker 컨테이너로 구성됩니다:

  1. PostgreSQL 컨테이너 (asset_pilot_db)

    • 데이터베이스 서버
    • 포트: 5432
    • 볼륨: postgres_data
  2. Asset Pilot 앱 컨테이너 (asset_pilot_app)

    • FastAPI 웹 애플리케이션
    • 포트: 8000
    • 실시간 데이터 수집 및 제공

🚀 빠른 시작

자동 설치 (권장)

# 압축 해제
tar -xzf asset_pilot_docker.tar.gz
cd asset_pilot_docker

# 자동 설치 스크립트 실행
bash start.sh

수동 설치

# 1. 환경 변수 설정
nano .env
# DB_PASSWORD를 원하는 비밀번호로 변경

# 2. Docker 컨테이너 시작
docker compose up -d

# 3. 데이터베이스 초기화
docker compose exec app python init_db.py

# 4. 브라우저에서 접속
# http://[IP주소]:8000

📁 디렉토리 구조

asset_pilot_docker/
├── app/                    # 애플리케이션 코드
│   ├── calculator.py
│   ├── database.py
│   ├── fetcher.py
│   └── models.py
├── static/                 # 정적 파일
│   ├── css/
│   └── js/
├── templates/              # HTML 템플릿
│   └── index.html
├── docker-compose.yml      # Docker Compose 설정
├── Dockerfile              # 앱 컨테이너 이미지
├── .env                    # 환경 변수
├── main.py                 # FastAPI 메인
├── init_db.py              # DB 초기화
├── import_csv.py           # CSV 가져오기
├── start.sh                # 자동 설치 스크립트
└── DOCKER_GUIDE.md         # 상세 가이드

🔧 주요 명령어

컨테이너 관리

# 시작
docker compose up -d

# 중지
docker compose down

# 재시작
docker compose restart

# 상태 확인
docker compose ps

# 로그 보기
docker compose logs -f

데이터 관리

# DB 백업
docker compose exec postgres pg_dump -U asset_user asset_pilot > backup.sql

# DB 복원
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

🌐 접속

http://localhost:8000        # 로컬
http://[IP주소]:8000         # 네트워크

📚 문서

  • DOCKER_GUIDE.md - Docker 상세 설치 및 관리 가이드
  • 문제 해결, 백업, 업데이트 방법 포함

🔐 보안

  • .env 파일에 비밀번호 저장 (권한: 600)
  • PostgreSQL은 내부 네트워크만 접근 가능
  • 방화벽에서 필요한 포트만 개방

🆘 문제 해결

컨테이너가 시작되지 않음

docker compose logs

데이터베이스 연결 오류

docker compose exec postgres pg_isready -U asset_user -d asset_pilot

포트 충돌

# docker-compose.yml에서 포트 변경
# "8001:8000" 으로 수정

📊 시스템 요구사항

  • Docker 20.10+
  • Docker Compose 2.0+
  • 최소 2GB RAM
  • 최소 5GB 디스크 공간

🎯 특징

독립된 컨테이너로 시스템 격리
한 번의 명령으로 전체 시스템 실행
쉬운 백업 및 복구
업데이트 및 롤백 간편
개발/프로덕션 환경 일관성


Asset Pilot Docker Edition v1.0