• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

Shlink - 설치형 url shortener

Lamanus Lamanus 539

0

1

 

 

단축 url 생성을 위한 설치형 서비스 shlink를 설치해봤습니다.

 

 

image.png.jpg

 

 

docker 기반으로 손쉽게 설치하고 nginx proxy manager를 통해서 구성도 빠르게 마칠 수 있습니다.

먼저, 아래 docker-compose.yml 파일을 입맛에 맛게 수정하시면 됩니다.

 

services:
  shlink:
    image: shlinkio/shlink:stable
    container_name: shlink
    restart: unless-stopped
    volumes:
      - data:/etc/shlink/data
    networks:
      - local
    environment:
      DEFAULT_DOMAIN: url.lamanus.kr
      IS_HTTPS_ENABLED: true
      REDIRECT_APPEND_EXTRA_PATH: true

  shlink-web:
    image: shlinkio/shlink-web-client
    container_name: shlink-web
    restart: unless-stopped
    networks:
      - local
    environment:
      SHLINK_SERVER_NAME: default
      SHLINK_SERVER_URL: https://url.lamanus.kr

volumes:
  data:

networks:
  local:
    external: true

 

저는 사전에 local 이라는 도커 네트워크가 있어서 이렇게 되는거고, 필요에 따라서 네트워크 설정을 삭제하거나, links를 이용하면 됩니다.

이 상태로 배포 후에 2개의 url에 대해서 nginx proxy를 등록해줘야 합니다.

  • url.lamanus.kr : url shortner service -> http://shlink:8080
  • shlink.lamanus.kr : web portal -> http://shlink-web:80

이후에 ssl 인증서 적용, access lists를 통해서 web portal은 내부에서만 접근 가능하게 ip 제한을 설정합니다.

 

 

아직 web portal에서는 default 서버에 연결을 할 수 없는데요, 이유는 서비스에서 api 키를 발급받아야 하기 때문입니다.

간단하게 host에서 아래 명령으로 혹은 portainer 등을 통해서 컨테이너 내부에 명령을 수행합니다.

docker exec shlink sh -c "shlink api-key:generate"

 

image.png.jpg

 

 

이렇게 얻은 api 키를 web portal에서 default 서버 설정 편집 화면에 입력하면 서비스가 정상적으로 동작하게 됩니다.

 

샘플로 url 하나를 줄여보겠습니다. (도메인이 길어서 늘어난 것은 기분탓입니다.)

 

 

image.png.jpg

 

 

생성된 url 샘플입니다.

잘 동작하네요.

신고공유스크랩
1

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

등록된 글이 없습니다.