diff --git a/.github/workflows/docker-image-CD.yml b/.github/workflows/docker-image-CD.yml index 9e9820d..bfeed0f 100644 --- a/.github/workflows/docker-image-CD.yml +++ b/.github/workflows/docker-image-CD.yml @@ -44,7 +44,31 @@ jobs: # lpilogue-fe 컨테이너가 이미 실행 중인 경우 중지 및 제거 - name: Stop lpilogue-fe run: docker stop lpilogue-fe || true && docker rm lpilogue-fe || true - + # cloudflare 컨테이너가 이미 실행 중인 경우 중지 및 제거 + - name: Stop cloudflare + run: docker stop cloudflare || true && docker rm cloudflare || true # react-app만 다시 실행 - name: Run Docker compose - run: docker compose rm -f react-app && docker compose up -d react-app + env: + DB_USER: ${{ secrets.DB_USER }} + DB_PASSWORD: ${{ secrets.DB_PASSWORD }} + DB_HOST: ${{ secrets.DB_HOST }} + DB_NAME: ${{ secrets.DB_NAME }} + FILE_SERVER_URL: ${{ secrets.FILE_SERVER_URL }} + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + SPOTIFY_CLIENT_ID: ${{ secrets.SPOTIFY_CLIENT_ID }} + SPOTIFY_CLIENT_SECRET: ${{ secrets.SPOTIFY_CLIENT_SECRET }} + YOUTUBE_API_KEY: ${{ secrets.YOUTUBE_API_KEY }} + ROOT_PASSWORD: ${{ secrets.ROOT_PASSWORD }} + run: | + echo "DB_USER=$DB_USER" >> .env + echo "DB_PASSWORD=$DB_PASSWORD" >> .env + echo "DB_HOST=$DB_HOST" >> .env + echo "DB_NAME=$DB_NAME" >> .env + echo "FILE_SERVER_URL=FILE_SERVER_URL" >> .env + echo "GOOGLE_API_KEY=$GOOGLE_API_KEY" >> .env + echo "SPOTIFY_CLIENT_ID=$SPOTIFY_CLIENT_ID" >> .env + echo "SPOTIFY_CLIENT_SECRET=$SPOTIFY_CLIENT_SECRET" >> .env + echo "YOUTUBE_API_KEY=$YOUTUBE_API_KEY" >> .env + echo "ROOT_PASSWORD=$ROOT_PASSWORD" >> .env + docker compose rm -f react-app && docker compose up -d react-app diff --git a/docker-compose.yml b/docker-compose.yml index 9b26703..c517cef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,21 +11,22 @@ services: REC_HOST: "lpilogue-rec" REC_PORT: "5000" depends_on: - - spring-boot-app - - flask-app + - spring-boot-app + - flask-app + - cloudflare-app spring-boot-app: container_name: lpilogue-be restart: on-failure image: hadoroke/lpilogue-be:latest ports: - - "52781:8080" + - "8080:8080" environment: SPRING_PROFILES_ACTIVE: "prod" SPRING_DATASOURCE_URL: jdbc:mysql://lpilogue-db:3306/lpilogue?serverTimezone=Asia/Seoul&useSSL=false&allowPublicKeyRetrieval=true # SPRING_DATASOURCE_URL: jdbc:mysql://lpilogue-db.c5msg0qqmmcw.ap-northeast-2.rds.amazonaws.com:3306/lpilogue?serverTimezone=Asia/Seoul&useSSL=false&allowPublicKeyRetrieval=true - SPRING_DATASOURCE_USERNAME: admin - SPRING_DATASOURCE_PASSWORD: dnwnswls2501 + SPRING_DATASOURCE_USERNAME: ${DB_USER} + SPRING_DATASOURCE_PASSWORD: ${DB_PASSWORD} TZ: Asia/Seoul depends_on: - mysql-app @@ -35,10 +36,10 @@ services: image: mysql:8 restart: always environment: - MYSQL_DATABASE: lpilogue - MYSQL_ROOT_PASSWORD: rootpassword - MYSQL_USER: admin - MYSQL_PASSWORD: dnwnswls2501 + MYSQL_DATABASE: ${DB_NAME} + MYSQL_ROOT_PASSWORD: ${ROOT_PASSWORD} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASSWORD} TZ: Asia/Seoul ports: - "3306:3306" @@ -51,8 +52,17 @@ services: image: hadoroke/lpilogue-rec:latest environment: TZ: Asia/Seoul + DB_USER: ${DB_USER} + DB_PASSWORD: ${DB_PASSWORD} + DB_HOST: ${DB_HOST} + DB_NAME: ${DB_NAME} + FILE_SERVER_URL: ${FILE_SERVER_URL} + GOOGLE_API_KEY: ${GOOGLE_API_KEY} + SPOTIFY_CLIENT_ID: ${SPOTIFY_CLIENT_ID} + SPOTIFY_CLIENT_SECRET: ${SPOTIFY_CLIENT_SECRET} + YOUTUBE_API_KEY: ${YOUTUBE_API_KEY} ports: - - "59999:5000" + - "5000:5000" depends_on: - mysql-app @@ -60,4 +70,4 @@ services: container_name: cloudflare restart: unless-stopped image: cloudflare/cloudflared:latest - command: tunnel --no-autoupdate run --token eyJhIjoiM2FhNmJmMjU1NzdmMDQ1OThhMjYyMGEwMzg4OWVkMzYiLCJ0IjoiM2EzNTk5MTItNmZhYi00OGM0LWIxMDktODRhOTFjMzVmN2MwIiwicyI6Ik9UVm1NV1l3TW1RdE9XWTNOQzAwWkdRd0xXRTJZalV0TldSaFpESTBZek01TjJGbSJ9 \ No newline at end of file + command: tunnel --no-autoupdate --protocol http2 run --token eyJhIjoiM2FhNmJmMjU1NzdmMDQ1OThhMjYyMGEwMzg4OWVkMzYiLCJ0IjoiM2EzNTk5MTItNmZhYi00OGM0LWIxMDktODRhOTFjMzVmN2MwIiwicyI6Ik9UVm1NV1l3TW1RdE9XWTNOQzAwWkdRd0xXRTJZalV0TldSaFpESTBZek01TjJGbSJ9 \ No newline at end of file