В соседней статье было рассказано как установить Stable Diffusion к себе на компьютер с ОС Windows. С этим, думаю, все справились без проблем. Однако, учитывая тот факт, что все графические нейросети довольно требовательны к ресурсам, ну и плюс - возможно, с целью обучения своей родной локальной нейросети кто-то захочет дать доступ к своему нейро серверу в локальную сеть, либо в сеть Интернет друзьям или другим пользователям. Соответственно, возникает вопрос - как это сделать. А сделать это крайне не сложно. Достаточно в конфигурационном файле прописать всего лишь один параметр, и настроить файерволл (брандмауэр).
Для тех, кто вдруг попал на эту статью случайно и только начал разбираться в графических сетях, возможно захочетболее подробно почитать про то, что такое нейросети. Это можно сделать здесь.
Пункт 1: правим конфигурационный файл stable Diffusion. Заходим в папку, где установлена программа (согласно предыдущей статье это папка stable-diffusion в корне диска), находим там папку с программой - stable-diffusion-webui, и там находим и открываем на редактирование файл webui-user.
Пункт 2: находим в файле текстовый параметр set COMMANDLINE_ARGS=, возможно он будет пустой, если у вас мощный компьютер, возможно в нем будут дописаны какие-то параметры, оптимизирующие работ видео. Вне зависимости от увиденного, либо вписываем, либо допавляем к написанному параметр --listen и сохраняем файл.
Пункт 3: запускаем программу, и дожидаемся в интерфейсе окончания загрузки. И видим, что теперь вместо строчки http://127.0.0.1:7860 нам выдало другую - http://0.0.0.0:7860. Это значит, что программа теперь работает по нашему ip адресу. И локально ее можно запустить и как через loopback, так и по нашему ip. При запуске она попросит разрешения внести изменения в файерволл windows.
Пункт 4: узнаем свой ip адрес. Ну, это просто. Если вы не знаете как это сделать, можно задать вопрос в ChatGPT и получить такой ответ:
Пункт 5: вносим изменения в файерволл и настраиваем роутер. Теперь все работает, можем тестировать - если открывается по ip. то все хорошо. Но могут понадобиться дополнительные изменения в файерволл windows. Открываем файерволл в трее, находим нужные параметры и вносим изменения. Если не проходит - отключаем брандмауер и проверяем. Если все работает без него - проверяем где вписали неправильно.
Если хочется открыть это все в Интернет, то у вас должен быть настроен провайдером внешний ip адрес, и установлен роутер, где можно настроить соответствующие параметры - пробросить порт Stable Diffusion UI :7860 наружу, чтобы он работал на внешнем ip.
Далее про настройку роутера, реальника и порт-форвадинг.
По настройке роутера и для вывода вашей нейросети в Интернет - подробно расписывать не будем. Если вы не знаете есть ли у вас на входе в домашнюю сеть роутер, то все-равно ничего не поймете. Если вы не знаете есть ли у вас внешний (реальный) IP адрес, то тоже не имеет смысла объяснять подробно. Поэтому напишу вкратце по-пунктам что нужно сделать:
1. Вы установили Stable Diffusion на свой компьютер под Windows, она у вас работает и доступна по сети, например по Ip 192.168.10.10. Таким образом, полный адрес для доступа, например, по Wi-Fi с телефона будет http://192.168.10.100:7860.
2. У вас в квартиру/дом/офис приходит кабельный интернет от вашего провайдера. Кабель заходит в помещение. Если он подключается напрямую в компьютер - у вас нет роутера. Если он подключается в устройство, которое далее раздает по потребителям внутри - это и есть роутер.
3. Для того , чтобы иметь в вашу сеть доступ из сети Интернет, нужен внешний IP адрес, который выдается провайдером обычно за отдельную плату. Адрес бывает Статический и Динамический. Динамический адрес обычно бесплатный и меняется каждый раз, когда вы подключаетесь к сети Интернет. Такое нам не нужно. Статический адрес выдается за отдельную плату и не меняется пока вы платите за него. Нужен он. Узнать что и как, можно позвонив своему Провайдеру.
4. Если у вас есть внешний IP адрес, он либо прописывается в вашем роутере, либо настраивается отдельно и вписывается туда руками.
5. Далее нужно настроить порт-форвадинг. Подробно рассказать сложно, т.к. в разных моделях роутеров это настраивается по-разному. Но принцип везде одинаковый: Есть внутренний компьютер со Stable Diffusion, работающий по адресу и порту http://192.168.10.100:7860. Есть внешний IP адрес, выданный провайдером. Порт 7860 на нем по-умолчанию закрыт. На роутере нужно указать, что мы с локального компьютера пробрасываем порт 7860 наружу, чтобы он был виден на внешнем IP.