Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
6d1e006
Merge pull request #249 from Talk-Pick/main
simhyunmin Dec 13, 2025
37d25ab
refactor: 회원 gender, profileImageUrl, bith 필드 삭제 및 관련 코드 제거 - #250
simhyunmin Dec 14, 2025
ea8133a
refactor: 회원 컬럼 삭제로 TopicStat 또한 변경 - #250
simhyunmin Dec 14, 2025
61b9416
Merge pull request #251 from Talk-Pick/refactor/#250
simhyunmin Dec 14, 2025
21ed3c7
Merge pull request #252 from Talk-Pick/dev
simhyunmin Dec 14, 2025
fc046a0
refactor: 회원 삭제 시 연관 데이터 삭제를 위한 JPA 메서드 추가 - #253
simhyunmin Dec 24, 2025
19f8bf9
refactor: 회원 삭제 시 하드 삭제 방식으로 변경 - #253
simhyunmin Dec 24, 2025
db7a70c
Merge pull request #254 from Talk-Pick/refactor/#253
simhyunmin Dec 24, 2025
53ae434
Merge pull request #255 from Talk-Pick/refactor/#253
simhyunmin Dec 24, 2025
e7bd19e
refactor: 벌크 연산을 위한 메서드 추가 - #257
simhyunmin Dec 26, 2025
bf9ba01
refactor: 퍼사드 패턴 적용을 위해 클래스 추가 - #257
simhyunmin Dec 26, 2025
895cfcf
refactor: 회원 탈퇴 시 퍼사드 패턴 및 벌크 연산 적용 - #257
simhyunmin Dec 26, 2025
58f9733
[Merge] Merge pull request #258 from Talk-Pick/fix/#257
ItsZetty Dec 26, 2025
964867a
[Merge] Merge pull request #259 from Talk-Pick/dev
ItsZetty Dec 26, 2025
6c71081
feat: Add event handler for TopicLike - #260
ItsZetty Dec 26, 2025
4e769c9
refactor: Apply event-driven architecture with transactional safety -…
ItsZetty Dec 26, 2025
efc1885
test: Add Notice test code - #260
ItsZetty Dec 26, 2025
2bd801f
test: Add test code about Random/Topic/Today - #260
ItsZetty Dec 26, 2025
4a2e7e8
deploy: update docker-compose.yml (remove adminer container and add n…
Hszoo Dec 28, 2025
26ecfa6
[Merge] deploy: remove adminer container and add nginx volumes - #261
Hszoo Dec 28, 2025
f12affa
deploy: change server properties (local -> prod)
Hszoo Dec 28, 2025
33d7e27
[Merge] change server properties (local -> prod) #261
Hszoo Dec 28, 2025
bb45c8a
refactor: 하드 삭제 관련 테스트 코드 삭제
simhyunmin Dec 28, 2025
ed02200
Merge pull request #266 from Talk-Pick/dev
simhyunmin Dec 28, 2025
36c8648
refactor: 회원 복구 API 명세 추가 - #267
simhyunmin Dec 29, 2025
46a6954
refactor: 회원 소프트 삭제 후 하드 삭제를 위한 스케줄러 설정 - #267
simhyunmin Dec 29, 2025
d716fdf
refactor: 회원 복구 API 화이트리스트 추가 - #267
simhyunmin Dec 29, 2025
c39b6b2
refactor: 회원 삭제 시 소프트 삭제 방식으로 변경 - #267
simhyunmin Dec 29, 2025
ba841d4
refactor: 회원 삭제 스케줄러 동작 시 스레드 풀 설정 - #267
simhyunmin Dec 29, 2025
9753fda
Merge pull request #269 from Talk-Pick/refactor/#267
simhyunmin Dec 29, 2025
a2f7895
Merge pull request #270 from Talk-Pick/dev
simhyunmin Dec 29, 2025
2e75619
[Merge] CICD 파이프라인 수정 사항 반영 (#271)
Hszoo Dec 30, 2025
57564d5
feat: 로그인 타입에 GOOGLE 추가 - #272
simhyunmin Dec 30, 2025
f78675c
Merge branch 'dev' into test/#260
ItsZetty Dec 30, 2025
ea2e2ee
test: Add exception and boundary value test cases - #260
ItsZetty Dec 30, 2025
2733cb8
[Merge] Merge pull request #273 from Talk-Pick/test/#260
ItsZetty Dec 30, 2025
b41f234
[Merge] Merge pull request #274 from Talk-Pick/dev
ItsZetty Dec 30, 2025
03cc2e9
Merge branch 'dev' of https://github.com/Talk-Pick/TalkPick_Server in…
simhyunmin Dec 30, 2025
f8b085a
feat: 구글 소셜 로그인 개발 - #272
simhyunmin Dec 31, 2025
25cfd6a
feat: 구글 소셜 로그인 에러 핸들러 개발 - #272
simhyunmin Dec 31, 2025
3dbbf9b
Merge pull request #275 from Talk-Pick/feature/#272
simhyunmin Dec 31, 2025
2cd441b
Merge pull request #276 from Talk-Pick/dev
simhyunmin Dec 31, 2025
765c3b4
refactor: prod 설정에 google 설정 추가
simhyunmin Jan 1, 2026
b8e201a
refactor: MemberCommandController에 경로 매핑 애노테이션 추가
simhyunmin Jan 1, 2026
7adc28b
refactor: 멤버 컨트롤러 경로 매핑 애노테이션 추가
simhyunmin Jan 1, 2026
a53b53c
Merge pull request #277 from Talk-Pick/dev
simhyunmin Jan 1, 2026
f23d608
build : deploy.yml 임시 수정
simhyunmin Jan 1, 2026
3f707f4
Merge branch 'staging' of https://github.com/Talk-Pick/TalkPick_Serve…
simhyunmin Jan 1, 2026
12bf9b0
refactor: 구글 로그인 permitAll에 직접 경로 명시
simhyunmin Jan 1, 2026
7444cd6
build: 빌드 파일 수정
simhyunmin Jan 1, 2026
4c5e554
build : deploy.yml 임시 수정
simhyunmin Jan 1, 2026
84ec4f1
refactor: 에러메시지 추가
simhyunmin Jan 1, 2026
c5647f7
refactor: 에러메시지 추가
simhyunmin Jan 1, 2026
763665a
build: 빌드 파일 수정
simhyunmin Jan 1, 2026
0204f9f
build: 빌드 파일 수정
simhyunmin Jan 1, 2026
a6df43e
refactor: 회원 좋아요 누른 토픽 id 수정 - #278
simhyunmin Jan 1, 2026
3c49375
Merge pull request #279 from Talk-Pick/fix/#278
simhyunmin Jan 1, 2026
ad365b5
Merge pull request #280 from Talk-Pick/dev
simhyunmin Jan 1, 2026
74e557e
refactor: appleOidcService 수정
simhyunmin Jan 1, 2026
c81a727
Merge branch 'staging' of https://github.com/Talk-Pick/TalkPick_Serve…
simhyunmin Jan 1, 2026
690dec7
Deploy: github actions deploy.yml 수정
Hszoo Jan 2, 2026
00d63f0
Deploy: fix the env file path
Hszoo Jan 2, 2026
82bf3c0
Deploy: fix the env file path
Hszoo Jan 2, 2026
2ebe37f
Deploy: fix the env file path
Hszoo Jan 2, 2026
226920d
[Merge] update deploy configurations
Hszoo Jan 2, 2026
35010f2
docs: Update release.md - #283
ItsZetty Jan 4, 2026
935dbb4
[Merge] Merge pull request #284 from Talk-Pick/docs/#283
ItsZetty Jan 4, 2026
cc30195
docs: 토픽 서버 구조 문서 작성 - #285
simhyunmin Jan 4, 2026
d765165
Merge pull request #286 from Talk-Pick/docs/#285
simhyunmin Jan 4, 2026
fae57f9
feat: 코드 래빗 config 추가
simhyunmin Jan 4, 2026
1c349ba
Merge pull request #287 from Talk-Pick/coderabbit-config
simhyunmin Jan 4, 2026
3b9e434
Deploy: set up promtail-based log monitoring to grafana cloud
Hszoo Jan 5, 2026
649f6ae
[Merge] set up promtail-based log monitoring to grafana cloud
Hszoo Jan 5, 2026
bc995d0
refactor: CategoryGroup 관련 로직 제거 후 더미데이터 sql 수정 - #289
ItsZetty Jan 10, 2026
d30b471
[Merge] Merge pull request #290 from Talk-Pick/refactor/#289
ItsZetty Jan 10, 2026
9bf8b3b
[Merge] Merge pull request #291 from Talk-Pick/dev
ItsZetty Jan 10, 2026
bab45bd
fix: RandomTopicDetail 클래스 안에 CategoryGroup 데이터 삭제 - #293
ItsZetty Jan 10, 2026
62cc2eb
[Merge] Merge pull request #294 from Talk-Pick/fix/#293
ItsZetty Jan 10, 2026
97d1d03
[Merge] Merge pull request #295 from Talk-Pick/dev
ItsZetty Jan 10, 2026
61a3d7a
fix: CategoryGroup 데이터 삭제에 따른 테스트 코드도 수정 - #293
ItsZetty Jan 10, 2026
4c17ae9
Merge branch 'dev' into staging
ItsZetty Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# CodeRabbit 설정 파일
language: "ko-KR" # 리뷰 언어 한국어로 설정
early_access: false
reviews:
profile: "chill"
request_changes_workflow: false # AI가 승인 거부를 못 하게
high_level_summary: true # 전체적인 3줄 요약 제공
auto_review:
enabled: true
chat:
auto_reply: true # 대댓글로 질문하면 답변
11 changes: 0 additions & 11 deletions .github/PULL_REQUEST_TEMPLATE/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,5 @@
<!-- 예: dev → staging / staging → main -->
이번 PR은 **[브랜치A] → [브랜치B]** 병합을 위한 릴리즈 PR입니다.

### 📄 변경 요약
- 스프린트 기능 묶음 반영
- 주요 변경사항 하이라이트 (선택)

### 🛠 스키마 / 환경 변수 변경
- 없음

### 🧪 테스트 / QA
- smoke test 완료
- staging QA 완료 (해당 시)

### ⚠️ 참고 사항
<!-- 배포 시 유의하거나 리뷰어가 알아야 할 내용 -->
90 changes: 53 additions & 37 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,65 +9,81 @@ jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: ✔️ GIT - Checkout Repository ✔️
- name: GIT - Checkout Repository
uses: actions/checkout@v4

- name: 🔻 SETUP - Install JDK 21 🔻
- name: SETUP - Install JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21

- name: 🔐 CONFIG - Create application-prod.properties 🔐
run: |
mkdir -p ./src/main/resources
echo "${{ secrets.ENV }}" > ./src/main/resources/application-prod.properties

- name: ⏳ BUILD - Run Test & Build JAR ⏳
- name: BUILD - Run Test & Build JAR
run: |
./gradlew clean build

- name: ☁️ CONFIG - Configure AWS Credentials ☁️
- name: CONFIG - Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ap-northeast-2
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

- name: ☁️ AWS - Login to Amazon ECR ☁️
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: 🐳 DOCKER - Build Docker Image 🐳
run: docker build -t talkpick-server .

- name: 🐳 DOCKER - Tag Docker Image 🐳
run: docker tag talkpick-server ${{ steps.login-ecr.outputs.registry }}/talkpick-server:latest
- name: DOCKER - Build Docker Image
run: docker build -t talkpick-server:latest .

- name: DOCKER_HUB - Login to Docker Hub
run: |
echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login \
-u "${{ secrets.DOCKERHUB_USERNAME }}" \
--password-stdin

- name: ☁️ AWS - Push Docker Image to ECR ☁️
run: docker push ${{ steps.login-ecr.outputs.registry }}/talkpick-server:latest
- name: DOCKER_HUB - Push Docker image
run: |
docker tag talkpick-server:latest ${{ secrets.DOCKERHUB_USERNAME }}/talkpick-server:latest
docker push ${{ secrets.DOCKERHUB_USERNAME }}/talkpick-server:latest

- name: 🛠️ PERMISSIONS - Fix file ownership and permission before tar
- name: PERMISSIONS - Fix file ownership and permission before tar
run: |
sudo chown -R $(whoami):$(whoami) .
chmod -R 755 scripts
chmod 644 docker-compose.yml

- name: ☁️ AWS - Compress for CodeDeploy ☁️
run: |
mkdir -p deploy-files
cp appspec.yml docker-compose.yml -t deploy-files
cp -r scripts deploy-files
cp src/main/resources/application.yml deploy-files
tar -czvf $GITHUB_SHA.tar.gz -C deploy-files .
- name: AWS - Fix Permissions on EC2
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_SSH_KEY }}
script: |
target_dir="/home/${{ secrets.EC2_USER }}/TalkPick_Server"
sudo mkdir -p $target_dir
sudo chown -R $(whoami):$(whoami) $target_dir

- name: ☁️ AWS - Upload Archive to S3 ☁️
run: aws s3 cp --region ap-northeast-2 ./$GITHUB_SHA.tar.gz s3://talkpick-server/$GITHUB_SHA.tar.gz
- name: SCP - Copy docker-compose.yml to EC2
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_SSH_KEY }}
source: "docker-compose.yml"
target: "/home/${{ secrets.EC2_USER }}/TalkPick_Server"

- name: ☁️ AWS - Create Deployment to EC2 ☁️
run: |
aws deploy create-deployment \
--application-name talkpick-server \
--deployment-config-name CodeDeployDefault.AllAtOnce \
--deployment-group-name Production \
--s3-location "bucket=talkpick-server,bundleType=tgz,key=$GITHUB_SHA.tar.gz"
- name: AWS - Deploy to EC2
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_SSH_KEY }}
script: |
mkdir -p /home/${{ secrets.EC2_USER }}/TalkPick_Server/env
cat << 'EOF' > /home/${{ secrets.EC2_USER }}/TalkPick_Server/env/.env
${{ secrets.ENV }}
GRAFANA_CLOUD_USER=${{ secrets.GRAFANA_CLOUD_USER }}
GRAFANA_CLOUD_TOKEN=${{ secrets.GRAFANA_CLOUD_TOKEN }}
EOF

cd /home/${{ secrets.EC2_USER }}/TalkPick_Server
docker compose pull talkpick-server
docker compose build nginx
docker compose up -d
128 changes: 128 additions & 0 deletions STRUCTURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# TalkPick 서버 구조

## 개요
TalkPick 서버는 스몰토크 주제 추천 및 사용자 성향(MBTI 등) 기반 통계 서비스를 제공하는 서비스
헥사고날 아키텍처(Ports & Adapters)를 기반으로 도메인 중심 설계를 따름

## 1. Global (공통 인프라 및 설정)

### `talkPick.global.config`
* **`AsyncConfig`**: 비동기 작업 처리 설정 (`@EnableAsync`)
* **`CacheConfig`**: 로컬 캐싱 설정 (Caffeine 등)
* **`CorsFilter`**: CORS 정책 설정 (허용 출처, 헤더 등)
* **`JacksonConfig`**: JSON 직렬화/역직렬화 설정
* **`JasyptConfig`**: 설정 파일 암호화 지원
* **`JpaAuditingConfig`**: JPA 엔티티 자동 감시 (`BaseTime` 등) 활성화
* **`QuerydslConfig`**: QueryDSL `JPAQueryFactory` 빈 등록
* **`SchedulingConfig`**: 스케줄링 작업 활성화 (`@EnableScheduling`)
* **`SpringDocOpenApiConfig`**: Swagger/OpenAPI 문서 설정
* **`WebConfig`**: 웹 MVC 설정 (ArgumentResolver 등 등록)

### `talkPick.global.security`
* **Config**
* `SecurityConfig`: Spring Security 체인 설정. CSRF/FormLogin 비활성화, JWT 필터 추가, WhiteList 기반 경로 허용
* **Filter**
* `JwtAuthenticationFilter`: JWT 토큰 파싱 및 유효성 검증, `SecurityContext`에 인증 정보 설정
* `ExceptionHandlerFilter`: 필터 체인 내 예외 포착 및 핸들링
* **JWT**
* `JwtProvider`: 토큰 생성, 검증, 정보 추출 (MemberId, Role)
* `JwtTokenCommandService`: 액세스/리프레시 토큰 발급 및 재발급
* `RefreshTokenRepository`: 리프레시 토큰 저장소
* **Resolver**
* `MemberIdArgumentResolver`: 컨트롤러 파라미터 `@MemberId`를 통해 인증된 사용자 ID 주입

### `talkPick.global.exception`
* **Handler**: `GlobalExceptionHandler` 및 도메인별 핸들러 (`MemberExceptionHandler`, `TopicExceptionHandler` 등)
* **Exception**: `TalkPickException` (루트 예외), `ErrorCode` (에러 코드 정의)

### `talkPick.global.rateLimiter`
* **Adapter**: `RateLimiterManagerAdapter` (Caffeine + Bucket4j 기반 토큰 버킷 알고리즘 구현)
* **Aspect**: `RateLimiterAspect` (`@RateLimited` 어노테이션이 붙은 메서드 트래픽 제어)
* **Annotation**: `@RateLimited`

### `talkPick.global.log`
* **Aspect**: `LoggerAspect` (현재 주석 처리됨, AOP 기반 로깅)

### `talkPick.global.healthCheck`
* **API**: `DBHealthIndicator`, `UrlHealthIndicator` (시스템 상태 점검)

---

## 2. Domain (핵심 비즈니스 로직)

### **Member (회원)**
* **Entity**: `Member` (핵심 정보), `MemberLoginHistory` (로그인 기록), `MemberTerm` (약관 동의 내역)
* **Port (In/Out)**
* In: `MemberCommandUseCase`, `MemberQueryUseCase`, `MemberWithdrawalUseCase`
* Out: `MemberCommandRepositoryPort`, `MemberQueryRepositoryPort` 등
* **Service (Application)**
* `MemberCommandService`: 회원가입, 프로필 수정(MBTI), 약관 동의, 로그아웃
* `MemberQueryService`: 프로필 조회, 좋아요한 토픽 조회, 캘린더 결과 조회
* `MemberWithdrawalService`: 회원 탈퇴(Soft Delete) 및 영구 삭제(Hard Delete)
* **Adapter (Out)**
* `MemberJpaRepository`: 기본 CRUD
* `MemberLikedTopicsQuerydslRepository`: 좋아요한 토픽 커서 페이징 조회 (복잡한 조인)
* `MemberTopicResultQuerydslRepository`: 일자별 토픽 결과 조회

### **Topic (토픽)**
* **Entity**: `Topic` (주제), `TopicStat` (통계), `Category`, `Keyword`, `TopicLikeHistory`
* **Port (In/Out)**
* In: `TopicCommandUseCase`, `TopicQueryUseCase`
* Out: `TopicQueryRepositoryPort`, `TopicLikeHistoryCommandRepositoryPort` 등
* **Service (Application)**
* `TopicCommandService`: 좋아요 기능 (이벤트 발행)
* `TopicQueryService`: 카테고리 목록, 토픽 상세 조회
* **Adapter (Out)**
* `TopicQuerydslRepository`: 토픽 검색 및 조회
* `TopicStatJpaRepository`: 통계 데이터 관리

### **Random (랜덤 토픽)**
* **Entity**: `Random` (세션), `RandomTopicHistory` (진행 이력)
* **Port (In/Out)**
* In: `RandomCommandUseCase`, `RandomQueryUseCase`
* **Service (Application)**
* `RandomCommandService`: 세션 시작/종료, 다음 토픽 진행, 평점/한줄평 등록
* `RandomQueryService`: 조건별 랜덤 토픽 추천 목록 조회
* **Adapter (Out)**
* `RandomQuerydslRepository`, `RandomTopicHistoryQuerydslRepository`: 동적 쿼리 처리

### **Today (오늘의 토픽)**
* **Entity**: `TodayTopic` (사용자-토픽 매핑)
* **Service (Application)**
* `TodayTopicQueryService`: 사용자별 오늘의 토픽 조회 (캐싱 적용 `CacheManager`)
* **Adapter (Out)**
* `TodayTopicQuerydslRepository`: 오늘의 토픽 조회 최적화

### **Notice (공지사항)**
* **Entity**: `Notice`, `NoticeImage`
* **Service (Application)**
* `NoticeQueryService`: 공지사항 목록(커서 페이징) 및 상세 조회
* **Adapter (Out)**
* `NoticeQuerydslRepository`: 페이징 쿼리

### **Inquiry (문의)**
* **Entity**: `Inquiry`
* **Service (Application)**
* `InquiryCommandService`: 문의 등록
* `InquiryQueryService`: 내 문의 내역 조회
* **Adapter (Out)**
* `InquiryQuerydslRepository`: 문의 내역 페이징

### **Term (약관)**
* **Entity**: `Term`
* **Adapter (Out)**: `TermJpaRepository`

---

## 3. Batch (배치 및 스케줄러)
* **`MemberCleanupScheduler`**: 탈퇴 상태인 회원과 연관 데이터를 주기적으로 영구 삭제 (Hard Delete)
* **`TodayTopicCacheRefreshScheduler`**: 매일 자정 사용자별 새로운 '오늘의 토픽' 생성 및 캐시 갱신
* **`MasterTokenGenerator`**: 개발/테스트용 마스터 토큰 생성

---

## 4. External (외부 연동)
* **Kakao**: `KakaoOidcService` (ID Token 검증, 공개키 조회, 사용자 정보 파싱)
* **Apple**: `AppleOidcService` (애플 로그인 지원)
* **Google**: `GoogleOidcService` (구글 로그인 지원)
* **Port**: `KakaoOidcUsecase` 등 인터페이스 정의로 결합도 낮춤
26 changes: 0 additions & 26 deletions appspec.yml

This file was deleted.

46 changes: 21 additions & 25 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,16 @@
services:
## talkpick
## talkpick server
talkpick-server:
image: 718513646976.dkr.ecr.ap-northeast-2.amazonaws.com/talkpick-server:latest
image: hszoo/talkpick-server:latest
container_name: talkpick-server
ports:
- "8080:8080"
networks:
- t4y
ports:
- "8080:8080"
restart: always
volumes:
- ./env/.env.properties:/app/config/.env.properties
environment:
- SPRING_CONFIG_IMPORT=optional:file:/app/config/.env.properties
env_file:
- ./env/.env

## adminer
adminer:
image: adminer
container_name: talkpick-db-adminer
networks:
- t4y
restart: always
ports:
- "8081:8080"

- /home/ec2-user/TalkPick_Server/env/.env

## nginx
nginx:
build: ./nginx
Expand All @@ -35,14 +21,24 @@ services:
ports:
- "443:443"
- "80:80"
environment:
ORIGIN_CERTIFICATE: "${ORIGIN_CERTIFICATE}"
PRIVATE_CERTIFICATE_KEY: "${PRIVATE_CERTIFICATE_KEY}"
depends_on:
- talkpick-server
- adminer
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ./nginx/html/terms/privacy-policy:/usr/share/nginx/html/docs:ro
- /etc/ssl/cloudflare:/etc/ssl/cloudflare:ro

## promtail
promtail:
image: grafana/promtail:2.9.4
container_name: promtail
networks:
- t4y
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- ./promtail.yaml:/etc/promtail/config.yml:ro
command: -config.file=/etc/promtail/config.yml
restart: unless-stopped

networks:
t4y:
t4y:
9 changes: 0 additions & 9 deletions nginx/Dockerfile

This file was deleted.

Loading