seungchan1122/sportsmate

By seungchan1122

Updated 17 days ago

Compose
0

23

seungchan1122/sportsmate repository overview

SportsMate

SportsMate 프론트엔드와 백엔드를 함께 실행하기 위한 Docker Compose 구성입니다.

React/Nginx 기반 프론트엔드와 Flask/Gunicorn 기반 백엔드를 하나의 Docker 네트워크로 연결하며, Compose 명령 한 번으로 두 컨테이너를 함께 실행할 수 있습니다.

구성 이미지

프론트엔드 또는 백엔드만 별도로 실행하려면 각 이미지 저장소의 실행 방법을 확인해 주세요.

서비스 구조

Client
  └── Frontend · Nginx
        └── /api 요청 프록시
              └── Backend · Flask / Gunicorn
                    └── Supabase PostgreSQL

Compose 내부에서는 backend 서비스 이름을 네트워크 주소로 사용합니다.

http://backend:5000

프론트엔드 Nginx는 /api/ 요청을 위 주소로 전달합니다.

실행 전 준비

백엔드 실행에 필요한 환경변수를 .env 파일에 설정해야 합니다.

DATABASE_URL=...
SECRET_KEY=...
JWT_SECRET_KEY=...
OPENAI_API_KEY=...

SUPABASE_URL=...
SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...

실제 비밀번호와 API 키는 이미지 또는 Compose 아티팩트에 포함되어 있지 않습니다.

실행

docker compose \
  --env-file .env \
  -f oci://docker.io/seungchan1122/sportsmate:1.0 \
  up -d

실행 후 다음 주소에서 확인할 수 있습니다.

ServiceURL
Frontendhttp://localhost:5002
Backendhttp://localhost:5001
Health Checkhttp://localhost:5002/api/health

상태 확인

docker ps

헬스 체크:

curl -i http://localhost:5001/api/health
curl -i http://localhost:5002/api/health

정상 응답:

{
  "status": "ok"
}

로그 확인

docker compose \
  --env-file .env \
  -f oci://docker.io/seungchan1122/sportsmate:1.0 \
  logs -f

종료

docker compose \
  --env-file .env \
  -f oci://docker.io/seungchan1122/sportsmate:1.0 \
  down

개별 이미지 사용

전체 서비스를 함께 실행하지 않고 특정 서비스만 필요한 경우 아래 저장소를 이용할 수 있습니다.

Frontend

React 애플리케이션을 빌드한 뒤 Nginx로 제공하는 이미지입니다.

SportsMate Frontend 이미지로 이동 →

Backend

Flask API 서버를 Gunicorn으로 실행하는 이미지입니다.

SportsMate Backend 이미지로 이동 →

Tag summary

Content type

Compose

Digest

sha256:823bdf0ca

Size

876 Bytes

Last updated

17 days ago