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

시놀로지 도커에 shlink 설치하기 - 짧은 주소 만들기

빨간물약 빨간물약 517 1

1

8

image.png.jpg

요런 화면의 shlink라는 도커 컨테이너 입니다

 

긴 주소의 파일을 짧게 줄여주는 역할을 하는 서비스 인데요

 

시놀로지 도커에 설치 하려다 보니 기존의 가이드들이 좀 오래되서 시행착오를 겪었습니다

 

정리할겸 기록을 남겨 봅니다

 

우선 7.2 버전 기준의 가이드고요 도커 컴포즈를 이용해 설치를 해줄 겁니다

DB는 마리아DB 패키지를 이용해 줄 거기 때문에

마리아DB패키지와 phpmyadmin 패키지가 설치 돼있어야 합니다

그리고 SSL과 DDNS 세팅이 돼있어야 합니다

우선 마리아DB패키지를 이용할 것이기 때문에 DB생성을 먼저 해주겠습니다

 

마리아DB 패키지 설정은 

 

image.png.jpg

TCP/IP 연결 활성화 체크 해주시고 3306 포트를 설정 해줍니다

 

이렇게 되면 시놀로지 내부의 도커 컨테이너 들이 마리아 DB에 접근이 가능 해집니다

 

그 후에 phpmyadmin을 실행 해주시고 root 유저로 접속 해주세요

 

image.png.jpg

image.png.jpg

 

접속 후 사용자 계정 - 사용자 추가를 해줍니다

 

image.png.jpg

 

사용자 이름은 shlink로 만들어 주시고 비번은 편한대로 만드시면 됩니다

저는 생성 버튼을 통해 랜덤생성 했습니다

생성한 비번은 따로 적어 두세요

동명의 DB 생성 체크 해주시고 권한 모두 체크 해주세요 

그리고 쭉 내려서 좌측 하단 실행 눌러 주시면 DB와 사용자가 생성 됩니다

 

우선 DB관련 설정은 끝났습니다

 

그 다음은 DDNS 설정을 해주겠습니다

시놀로지 역방향 프록시를 사용하셔도 되고 NPM이나 caddy를 설정 하셨으면 그 걸로도 가능합니다

 

우리가 만들 역방향 프록시는 두 가지 입니다

짧은 주소를 만들었을 때 보여지는 DDNS와 

짧은 주소를 만들기 위해 shlink에 접속할 주소 

shlink는 별도의 로그인이 없기 때문에

보안을 위해 접속 주소를 만들지 않고 내부ip접속을 유지해도 관계 없습니다

혹은 클플 제로트러스트 같은 다른 인증 서비스를 활용해도 됩니다

 

우선 역방향 프록시 설정을 하기 전에 설명을 드리자면 

shlink는 두 가지 컨테이너로 이뤄져 있습니다 

주소를 짧게 만들어 주는 컨테이너 + shlink 웹 UI 컨테이너 입니다 

 

주소를 짧게 만들어 주는 컨테이너는 8335포트를 사용할 거고요

웹UI 컨테이너는 8336포트를 사용할 겁니다

 

그리고 8335 포트 컨테이너는 url를 줄였을 때 짧아진 URL을 표시하기 때문에

url.내도메인.com 이란 형식으로 지정을 해줄 겁니다

 

웹UI 주소도 설정 하실 거면 8336포트 컨테이너는 shlink.내도메인.com이 되겠네요

 

설정은 간단하죠 

 

역방향 프록시 기준으로 보시면 

image.png.jpg

 

설정 - 로그인 포털 - 역방향 프록시 선택

 

image.png.jpg

우선 shlink URL 설정 입니다 HSTS 체크 해주시고요

image.png.jpg

사용자 지정 머리글에서 웹소켓 설정 해주세요

image.png.jpg

그리고 저장

 

image.png.jpg

두번 째는 웹UI 접속을 위한 설정입니다

 

image.png.jpg

이것도 웹소켓 넣어주시고 저장

 

image.png.jpg

그 후에 파일스테이션을 이용해 docker폴더에 shlink폴더를 만들어 주시면 됩니다

 

그럼 이제 사전 준비는 끝났습니다

 

컨테이너 매니저로 이동 해주시면 됩니다

image.png.jpg

프로젝트 생성을 누르시고 이름과 만들어 놓은 폴더를 선택 후 도커 컴포즈 만들기 선택

아래의 코드를 적어 줍니다

 

한글로 된 부분은 본인 설정에 맞게 수정 해주세요

version: "3.5"
services:
  shlink:
    image: shlinkio/shlink:stable
    container_name: shlink
    environment:
      - DB_HOST=나스IP
      - DB_PORT=3306
      - DB_USER=shlink
      - DB_PASSWORD=phpmyadmin에서 설정한 암호
      - DB_NAME=shlink
      - DB_DRIVER=maria
      - DEFAULT_DOMAIN=url.내도메인.com
      - IS_HTTPS_ENABLED=true
    ports:
      - 8335:8080
    restart: always
  shlink-web:
    image: shlinkio/shlink-web-client
    container_name: shlink-web
    restart: always
    environment:
      SHLINK_SERVER_NAME: 서버이름
      SHLINK_SERVER_URL: https://url.내도메인.com
    ports:
      - 8336:80

복사 붙여넣기 했을 때 에러가 뜨시는 분은 

compose.yaml 다운 받으셔서 수정 하신 후

docker - shlink 폴더에 업로드 하시고 프로젝트 생성 해주세요

그 후 다음 누르시고

 

image.png.jpg

다음

 

image.png.jpg

완료 누르시면 생성과 함께 실행 됩니다

 

image.png.jpg

빌드가 정상 적으로 완료 되면 두 개의 컨테이너가 실행 됩니다

 

 

image.png.jpg

웹UI접속 주소나 내부ip:8336 으로 접속 하시면 서버를 선택하고 세팅하는 화면이 나올텐데요

API키를 입력 해줘야 정상 작동이 됩니다

 

API키를 만들기 위해서 컨테이너 매니저로 갑니다

 

image.png.jpg

shlink 컨테이너 선택 후 우측 상단 작업 - 터미널 열기 선택

 

image.png.jpg

생성 화살표 부분 선택 후 명령으로 실행 선택

image.png.jpg

bash로는 열리지 않기 때문에 sh로 실행 해줍니다 확인

 

image.png.jpg

터미널에 아래 코드를 입력 해줍니다

sh -c "shlink api-key:generate"   

 

복사 붙여 넣기는 터미널에서 ctrl+A 후 ctrl+V 하시면 붙여 넣기 됩니다

생성된 API 키는 ctrl+A 후 ctrl+C로 복사해 주세요

 

image.png.jpg

여기에 넣어 주시면 됩니다 

 

참고로 위 스샷은 서버 추가 화면이라 버튼 구성이 다를 수 있습니다만 비슷 할 겁니다

API키 값 넣어주시고 연결 해주세요

 

image.png.jpg

이제 이런 화면이 보인다면 설치는 완료 된 겁니다

 

사용법은 간단합니다

맨위에 줄이고 싶은 긴 주소를 입력하시고

두 번째에 별칭을 입력 합니다 참고로 한글도 됩니다

그 다음 Save 누르시면 아래 쪽에 만들어진 짧은 주소와 원본 주소가 표시 됩니다

 

예를 들어 별칭을 test 혹은 테스트 라고 입력을 했다면

url.내도메인.com/test 혹은 url.내도메인.com/테스트 라는 주소가 생성 됩니다

 

image.png.jpg

우측 상단 서버 관리 눌러 보시면

 

image.png.jpg

설정 된 서버 목록이 보입니다 자동 연결 체크 해주세요

 

이게 접속 하는 클라이언트가 변경 되면 주소를 새로 입력 해야 할 수 있습니다

API키는 따로 저장 하시거나 위에 Export servers 를 통해 서버 정보를 저장 해두시면 편하게 재등록 가능합니다 

 

image.png.jpg

웹브라우저 번역 기능 이용하시면 좀 더 편하게 이용 가능하고요

이런 저런 세부 설정들이 있으니 필요하신 설정들 적용해서 사용하시면 될 거 같습니다

 

긴 글 읽으시느라 고생 하셨습니다

신고공유스크랩
8
profile image 1등
달소 2023.06.30. 12:33
와우,,, 정성 글 정말 감사드립니다!! 앞으로 나올 가이드에 포함시켜야겠습니다 ㅎ
2등
thkweon 2023.09.13. 13:17

api key 받아오는거부터 안되네요...ㅠㅠ 뭐가 잘못된건지..

일단 확인한건,,shlink 도커에 DB 설정을 싹 지우고 docker 말아 올리면 api-key 정상적으로 나오는데,,,db를 연결하면 api-key 명령어 날리고 무한 대기에 빠집니다.

 

db 문제인가 싶어 아무리 phpmyadmin 살펴봐도 권한 문제 같은건 딱히 없어서....

thkweon 2023.09.13. 13:19
thkweon
2023/09/13 13:17:43 stdout info.
2023/09/13 13:17:43 stdout [ERROR] Error generating database.. Set SHELL_VERBOSITY=3 to see specific error
2023/09/13 13:17:43 stdout
2023/09/13 13:17:43 stdout Initializing database if needed...


shlink 도커에서 이런 로그가 뜨네요... DB문제는 맞는거 같은데,,,아무리 봐도 본문과 동일한 절차를 거친거라... 이해가 안되네요
3등
thkweon 2023.09.13. 14:11
2023/09/13 14:09:39 stdout ERR An exception occurred in the driver: SQLSTATE[HY000] [2002] Operation timed out

yourls도 db 타임아웃 때문에 포기했는데....이것도 타임아웃이네요..........ㅠㅠㅠㅠㅠㅠㅠ
profile image
빨간물약 글쓴이 2023.09.16. 23:30
thkweon
시놀로지 도커가 맞는데 이런 오류가 생긴 거면 DB쪽에 뭔가 문제가 있는 거 같긴 합니다만
자세한 내용은 알 수가 없네요
thkweon 2023.09.18. 11:15
빨간물약
해결했습니다. 그냥 DB랑 통신이 안되는게 맞았네요 ㅋㅋㅋ

제가 이해가 부족해서 발생한 일 같습니다.
도커를 프로젝트로 생성하게 되면 도커가 사용할 네트워크가 생성되고 이걸 시놀로지의 DB랑 연결하려면 도커 네트워크의 게이트웨이 주소를 줘야하는데 계속 192.168 실제 내부 사설망 ip를 줬네요...

다만, 컨테이너로 구축한 mysql은 여전히 동작하지 않네요....ㅠ

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
쓰기
태그 : Synology
번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 62 달소 23.05.29.01:57 24971 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26560 +23
정보 토렌트 알림 디스코드로 받기 2 블랙앤해적 2일 전20:02 277 +1
질문 비추 취소 기능은 없나요..? 19 나와너 2일 전15:25 263 +7
후기 ghost 블로그를 만들어 봤습니다 12 빨간물약 4일 전15:26 425 +3
30 질문
image
서브어린이 24.04.12.21:58 86 0
29 질문
image
서브어린이 24.04.12.20:32 99 0
28 잡담
normal
니즛 24.03.24.12:38 166 0
27 질문
image
하루오빠 24.03.23.20:27 762 0
26 질문
image
ohyes 24.03.19.12:33 352 0
25 질문
image
SMILE 24.03.08.07:35 367 0
24 질문
normal
mam2apoyo 24.02.27.15:17 239 0
23 질문
image
칠성사이다 24.02.23.03:02 200 0
22 질문
normal
무명인 24.02.21.15:12 420 0
21 질문
image
90000 24.02.21.03:15 247 0
20 질문
image
짹짹이 24.02.20.06:43 389 0
19 가이드
normal
riverflow 24.02.16.13:34 975 +6
18 후기
image
빨간물약 24.02.16.11:16 1665 +2
17 정보
image
빨간물약 23.12.05.03:01 96 0
16 정보
normal
빨간물약 23.12.03.16:56 561 +3
15 후기
image
빨간물약 23.11.25.18:37 1037 +1
14 정보
image
빨간물약 23.11.21.20:33 374 +1
가이드
image
빨간물약 23.06.29.01:50 517 +1
12 정보
image
빨간물약 23.06.23.16:05 699 +1
11 가이드
image
빨간물약 23.05.29.21:28 982 +3