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 같은 거.
다른 방법도 있겠지만 번거롭잖아.