TL;DR

옵션에 아래 추가

--ngrok-options '{"domain":"<YOUR_SUBDOMAIN>.ngrok-free.app"}'


고정 도메인 주소 확인법

ngrok 관련 글이 올라와서 계정 접속해보니 고정 도메인을 주네?

다른 사람도 받은 거야? 갑자기 돈 내라고 하는 거 아니겠지?

상단에 팝업 뜨길래 아무 생각 없이 눌러서 받긴 했는데... 혹시 다른 사람도 팝업 뜨면 무슨 내용인지 알려줘ㅠㅠ


여튼, [ Cloud Edge - Domains ] 에 들어가니 받은 게 있었어.

(13자리)-(20자리).ngrok-free.app 이네. 엄청 복잡하지만 받았어. 


이거 그대로 쓰면 로컬이나 코랩 외 클라우드 쓰는 사람은 편할거야.


SDWebUI 설정 방법

ngrok cli 에서는 아래처럼 쓰라고 되있어

ngrok http --domain=<YOUR_SUBDOMAIN>.ngrok-free.app 80

근데, sdwebui는 python api로 되있던가 그럴거야. 암튼 exe로 실행하는 거 아니야.

그래서 혹시 몰라 옵션 확인해보니 있더라. 참고로 공홈 위키 갱신 안된지 오래라 코드에서 직접 확인하는 게 정확함.


modules/cmd_args.py

parser.add_argument("--ngrok-options", type=json.loads, help='The options to pass to ngrok in JSON format, e.g.: \'{"authtoken_from_env":true, "basic_auth":"user:password", "oauth_provider":"google", "oauth_allow_emails":"[email protected]"}\'', default=dict())


json 형식으로 쓰라고 하네. 그래서 ngrok 토큰 옵션 옆에 

--ngrok-options '{"domain":"<YOUR_SUBDOMAIN>.ngrok-free.app"}'

요렇게 추가해주고 실행해 봤어



Launching Web UI with arguments: --allow-code --opt-sdp-no-mem-attention --opt-channelslast --skip-version-check --disable-console-progressbars --enable-insecure-extension-access --hide-ui-dir-config --api --no-hashing --styles-file /data/styles.csv --theme dark --no-gradio-queue --gradio-auth user:pass --ngrok MyAuthKeyIsAlsoImportantAndIAlmostMissedIt --ngrok-options {"domain":"IFORGOTTOREMOVETHIS.ngrok-free.app"}

No module 'xformers'. Proceeding without it.

ngrok authtoken detected, trying to connect...

ngrok connected to localhost:7860! URL: https://THISISMYSUBDOM-INANDIMNOTSUREITSFREE.ngrok-free.app

You can use this link after the launch is complete.



잘 동작하네.


장점

- 매 번 주소 기억할 필요 없음

- 별도 설치 필요 없음

- 사용법이 간단


활용법

- 로컬PC에서 실행해두고 외부에서 PC/모바일에서 동작

- 클라우드에서 실행할 때 (코랩도 PC든 어디서든 켜두고, 다른 단말로 접속할 때 편하겠지?)


기타

혹시 주소가 길어 번거로우면 url shortener 쓰자 b**ly 나 ti**url 같은 거.

다른 방법도 있겠지만 번거롭잖아.