https://stockman.fly.dev 대시보드 개발에 사용된 인프라에 대한 설명이다.
개인용 (비공개)
AWS Lightsail 월별 12$ 요금제를 사용했다. AWS 에 자세히 알고 싶지도, 요금 폭탄 걱정도 하고 싶지 않았다. DB 운영, 추론, 대시보드 서비스 등을 생각한다면 최소한 이정도 사양은 되어야 할 것 같다.

참고: OCI(Oracle Cloud Infrastructure) 가 가성비가 좋다고 해서 사용하려고 했는데, 인스턴스 만들기에 실패해 포기했다. (리소스 할당 문제, 신용카드 정보 문제 등)
설치 소프트웨어
- Docker
- PostgreSQL
- dagu: airflow 와 같은 workflow engine 으로 다음에 만족해서 선정했다.
- 설치가 간단할 것 (DB 가 필요 없을 것)
- workflow 를 python 등으로 코딩하지 않고 yaml 등으로 설정할 것
- 작성한 workflow 를 쉽게 배포할 수 있을 것
- workflow 작성시 의존성 관계를 표현 가능할 것
- filebrowser: 파일 업로드 / 다운로드를 위해
배포
github actions 를 이용해, 코드가 push 되면
- server 에서 docker image build
- 대시보드 어플리케이션 (빌드된 docker image 를 사용하는) 재시작
서비스용 (공개)
배포
fly.io 에서 제공하는
fly deploy 로 수동 배포 하거나
fly launch 시 자동 생성되는 github actions 사용
서비스용 데이터
- 개인용 인프라(AWS) 에서 매일 주가 추론 결과를 개인용 DB 에 저장함
- 개인용 DB (PostgreSQL) 데이터를 매일 neondb 에 복사함