services:
nginx-proxy-manager:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
networks:
- proxy-network
cloudflare-ddns:
image: favonia/cloudflare-ddns:latest
network_mode: host
restart: always
read_only: true
cap_drop: [all]
security_opt: [no-new-privileges:true]
environment:
- CLOUDFLARE_API_TOKEN=REPLACE_CLOUDFLARE_API_TOKEN
- DOMAINS=*.example.com,example.com,www.example.com
- PROXIED=false
networks:
proxy-network:
driver: bridge
external: true
유동 IP는 IP 임대 시간이 끝나면 다른 IP로 재 할당 된다
따라서, IP가 변경될 때마다 도메인서버에 설정을 바꿔주어야 한다
하지만, 가비아에서 구매한 도메인의 경우 별도의 API를 제공하고 있지 않아, 클라우드 플레어를 통해 자동화 한다
클라우드플레어에 도메인을 등록하고, 가비아에서 네임서버를 변경해주었다
이후, 클라우드플레어 대쉬보드 -> 계정관리 -> 계정 API 토큰 -> 토큰생성 -> 영역 DNS 편집 템플릿을 선택한다
아래화면창에 뜨면, 적절히 영역을 설정해준뒤

발급받은 API키는 잘 위 도커 컴포즈 파일의 CLOUDFLARE_API_TOKEN 변수로 설정해주자
HTTP 포트는 하나, 서비스는 여러개
프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다.

컴퓨터 네트워크에서 클라이언트를 대신해서 한 대 이상의 서버로부터 자원을 추출하는 프록시 서버의 일종

GUI기반 nginx 세팅 프로그램

Docker 브릿지 네트워크를 등록하고, Docker DNS를 활용하면 간편하게 세팅이 가능하다
