기존 JDK를 지우지 않고 JDK 11로 빌드하기: SDKMAN이 PATH를 가로채는 원리

로컬은 Corretto 21인데 빌드 테스트는 JDK 11이 필요할 때, SDKMAN이 기존 JDK를 건드리지 않고 PATH 우선순위만 가로채 세션 단위로 버전을 바꾸는 원리와 기존 JDK를 처리하는 세 가지 선택

2025년 7월 24일 · 4 분

Nginx Proxy Manager API로 Proxy Host 자동으로 붙이기

테넌트가 생길 때마다 손으로 하던 도메인 연결을 Nginx Proxy Manager API로 Proxy Host를 만들어 자동화했다.

2025년 7월 5일 · 2 분

SonarQube를 brew에서 Docker로 옮겼다

SonarQube Java 분석의 .class 요구 에러를 빌드로 풀고, brew 없이도 돌도록 서버와 Scanner를 Docker로 옮긴 기록

2024년 12월 20일 · 3 분

Mac에서 컨테이너 IP로 접속이 안 되는 이유

Mac에서 컨테이너 IP가 보이는데도 접속되지 않는 건 Docker 네트워크가 Linux VM 안에만 있어서다.

2024년 9월 21일 · 2 분

Ubuntu 컨테이너에는 sshd가 없다

PoC에서 SSH 접속을 시험하려는데 Ubuntu 이미지에 sshd가 없어서, openssh-server를 깔고 로컬 2222번 포트로 붙였다.

2024년 9월 2일 · 2 분

Mac에서는 Metricbeat를 컨테이너 밖에 깔아야 했다

Docker ELK에 Metricbeat 컨테이너를 붙였지만 Mac 호스트 메트릭은 수집되지 않아, Mac에 직접 설치해 Kibana에서 CPU 사용량을 확인했다.

2024년 7월 10일 · 3 분

Nginx 한 대로 시험한 ELK를 Nginx Proxy Manager에 합치기

Nginx 컨테이너로 로그 전달 경로를 먼저 확인하고, 같은 볼륨 공유 방식으로 Nginx Proxy Manager에 ELK를 합쳐 ModSecurity 로그를 Kibana에 쌓았다.

2024년 7월 7일 · 8 분

Nginx Proxy Manager - Official Guide & Local Setup for Customization

커스텀을 위해 코드 수정 후 Nginx Proxy Manager를 정상적으로 실행할 수 있어야했는데, 그 어디에서도 이를 위한 가이드를 찾을 수 없었다. 결국 직접 소스코드 분석 후 다음과 같은 내용들을 확인했다.

2024년 7월 5일 · 3 분

Aurora MySQL을 8.0으로 올리기 전 알아두면 좋았을 주요 포인트 (feat. 롤백 설계)

Aurora MySQL 5.7에서 8.0으로 올리며 배포 방식별 다운타임, 파라미터 그룹 우선순위, 바뀐 기본값을 확인하고 롤백 절차를 직접 세운 기록

2024년 6월 25일 · 6 분

requirements.txt 대신 Poetry로 의존성 관리

개발용과 배포용 패키지가 섞이는 requirements.txt 대신 Poetry로 의존성과 가상 환경을 관리하는 명령어를 정리했다.

2024년 5월 4일 · 2 분