# Выводим локальные сервисы в интернет. Пошаговая инструкция

**URL:** <https://forum.samohosting.ru/t/vyvodim-lokalnye-servisy-v-internet-poshagovaya-instrukcziya/466>\
**Category:** Обратный прокси(reverse proxy)\
**Tags:** заметка\
**Created:** [05.Июль.2025 12:34:08 UTC](https://forum.samohosting.ru/t/vyvodim-lokalnye-servisy-v-internet-poshagovaya-instrukcziya/466 "2025-07-05T12:34:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![\_fuse](https://forum.samohosting.ru/user_avatar/forum.samohosting.ru/_fuse/32/529_2.png) [@\_fuse](https://forum.samohosting.ru/u/_fuse)\
**Post date:** [05.Июль.2025 12:34:08 UTC](https://forum.samohosting.ru/t/vyvodim-lokalnye-servisy-v-internet-poshagovaya-instrukcziya/466/1 "2025-07-05T12:34:08Z")

</div>

Инструкция сделана по [видео](https://www.youtube.com/watch?v=mlCvBHG7MVQ) Автора канала Samohosting без теоретической части. Подразумевается, что у вас уже есть VPS-сервер, а также домен. Отличие от видео только в шаге, где сделана корректировка перед выпуском SSL-сертификата.

Арендовываем/логинимся на VPS-сервер. Настраиваем A запись для IP-адреса. Условно: [home.example.com](http://home.example.com) → 11.11.11.11. Настраиваем [NetBird](https://youtu.be/eKYHmdY8ikw?t=722)

**Проверка сервисов.**

Проверяем доступность локального сервиса  
`root@my-server:/# ping 192.168.0.221`  
`PING 192.168.0.221 (192.168.0.221) 56(84) bytes of data.`  
`64 bytes from 192.168.0.221: icmp_seq=1 ttl=64 time=24.8 ms`  
`64 bytes from 192.168.0.221: icmp_seq=2 ttl=64 time=24.5 ms`  
`--- 192.168.0.221 ping statistics ---`  
`2 packets transmitted, 2 received, 0% packet loss, time 1001ms`

Проверяем домен  
`root@my-server:/# ping name.example.com`  
`PING name.example.com (11.11.11.11) 56(84) bytes of data.`  
`64 bytes from 176.119.157.40 (11.11.11.11): icmp_seq=1 ttl=64 time=0.036 ms`  
`64 bytes from 176.119.157.40 (11.11.11.11): icmp_seq=2 ttl=64 time=0.051 ms`  
`--- name.example.com ping statistics ---`  
`3 packets transmitted, 3 received, 0% packet loss, time 2002ms`  
`rtt min/avg/max/mdev = 0.036/0.048/0.057/0.008 ms`

Пингуется - все в порядке, идем дальше

**Установка Docker.**  
Устанавливаем Docker для развертывания reverse-proxy  
Официальный репозиторий: [Install Docker Engine on Ubuntu | Docker Docs](https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script)  
`root@my-server:/# curl -fsSL https://get.docker.com -o get-docker.sh`  
`root@my-server:/# sudo sh ./get-docker.sh`  
Проверяем правильность установки  
`root@my-server:/# docker ps`  
`CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES`

Видим подобный вывод - идем дальше

**Установка Dockge.**  
Официальный репозиторий: [dockge/README.md at master · louislam/dockge · GitHub](https://github.com/louislam/dockge/blob/master/README.md)

`root@my-server:/# mkdir -p /opt/stacks /opt/dockge`  
`root@my-server:/# cd /opt/dockge`  
`root@my-server:/opt/dockge# curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml`  
`% Total % Received % Xferd Average Speed Time Time Time Current`  
`Dload Upload Total Spent Left Speed`  
`100 760 100 760 0 0 1660 0 --:--:-- --:--:-- --:--:-- 1663`

Открываем compose.yaml, чтобы заменить стандартный host порт на другой. Диапазон от 1024 до 65535.  
`root@my-server:/opt/dockge# nano compose.yaml`

 ![](https://forum.samohosting.ru/uploads/default/original/1X/3c64d304c76c61c54a83b18bf93f6e09d76b7ebd.png)  
`root@my-server:/opt/dockge# docker compose up -d`

```auto
[+] Running 12/12
 ✔ dockge Pulled 68.3s
   ✔ 6e909acdb790 Pull complete 12.1s
   ✔ d714f4673cad Pull complete 12.2s
   ✔ be84add755f8 Pull complete 19.5s
   ✔ 9a8d89ceeab1 Pull complete 19.9s
   ✔ 4c07c1809c8e Pull complete 19.9s
   ✔ a80bf94e51e2 Pull complete 25.2s
   ✔ 7dec24f91d8e Pull complete 25.7s
   ✔ 15981effcbf4 Pull complete 25.8s
   ✔ 1523b165f21c Pull complete 52.2s
   ✔ de698ba33720 Pull complete 57.3s
   ✔ 4d8f84d497cc Pull complete 58.6s
[+] Running 2/2
 ✔ Network dockge_default Created 1.2s
 ✔ Container dockge-dockge-1 Started  

```

Проверяем, переходим в браузере по адресу ранее созданного домена: [http://name.example.com](http://name.example.com)

 ![](https://forum.samohosting.ru/uploads/default/original/1X/19105cd81b66ab5312cb02938f1d8146885433df.png)  
Получилось зайти - идем дальше. Авторизовываемся.

**Установка NGINX PROXY MANAGER**  
Официальный репозиторий: [GitHub - NginxProxyManager/nginx-proxy-manager: Docker container for managing Nginx proxy hosts with a simple, powerful interface · GitHub](https://github.com/NginxProxyManager/nginx-proxy-manager?tab=readme-ov-file)  
Создаем новый Compose

 ![](https://forum.samohosting.ru/uploads/default/original/1X/526151cc713f67e1cd83bf14d8e06710a06fb5a2.png)  
Пишем имя  
Вставляем docker-compose.yml:

```auto
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

    # Uncomment the next line if you uncomment anything in the section
    # environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

```

Host-port меняем на свой. Volumes рекомендуется хранить на своем хосте

 ![](https://forum.samohosting.ru/uploads/default/original/1X/d00cfd5f53bb9186f24a600eb0fad32c4c2dedfe.png)  
Nginx proxy manager установлен!  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/97ffb939ff0d2435e65e9135b065bfddfb4ca3f9.png)  
Переходим на [name.example.com:811](http://name.example.com:811)  
Стандартный логин и пароль [admin@example.com](mailto:admin@example.com) | changeme  
После авторизации меняем эти данные на свои  
Переходим в proxy hosts  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/04a0f417292f12830d4bd697814e1bb4d49a6373.png)  
Жмем add proxy host  
Указываем ваш [name.example.com](http://name.example.com), IP и Port локального ресурса  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/d244d34ac59649ba0130eea114599af0ee9548ff.png)  
Готово! Мы опубликовали во внешний мир наш сервис, можем на него переходить по доменному имени  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/67af1983149b1d21176d935271b7ab8af44a7460.png)  
Внимание! Перед выпуском SSl-сертификатов, нам нужно создать новый proxy host с указанием IP-адреса сервера, на который устанавливался nginx proxy manager, а также с новым поддоменом  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/3a8958f49dbc3689e50a984d62835b69d0b7a59a.png)  
Теперь мы имеем 2 proxy host: один из них ведет конкретно на nginx proxy manager (который мы устанавливали на VPS-сервер), второй ведет на наш локальный ресурс  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/32a00cf44f745b447283e443e9e0b94b73b7a59a.png)  
Переходим к выпуску SSL-сертификата:  
Идем в настройки - Edit  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/c1d622096804abb517192f204921fa3a78d37a82.png)  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/0f06c4eaf1931fc739523ff8ece6e42ce0cd1a67.png)  
 ![Pasted image 20250705135344](https://forum.samohosting.ru/uploads/default/original/1X/0f06c4eaf1931fc739523ff8ece6e42ce0cd1a67.png)  
Жмем Save и проделываем данные действия со вторым proxy host  
SSL-сертификаты выпущены!  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/764c41fe225ac818f62e0964fa2aeb93ce8736f0.png)  
Теперь сделаем базовую авторизацию  
Переходим в раздел Access List → Add Access List  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/f646b46b3b91eebe884f68f0359e21a4c8aaaacc.png)  
Указываем логин | пароль и жмем Save  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/70fe96c4940ae273261bbad84f80d4c611d23a56.png)  
Возвращаемся в Proxy Host → выбираем хост → редактировать → добавляем Access List → жмем Save  
 ![](https://forum.samohosting.ru/uploads/default/original/1X/be4c5407a6daae69fe7234212f744bc8a0d78359.png)  
Базовая настройка готова!

P.S. Если что-то упустил, прошу скорректировать меня.

---

<div class="post-metadata">

**Author:** ![Mosproekt4](https://forum.samohosting.ru/user_avatar/forum.samohosting.ru/mosproekt4/32/504_2.png) [@Mosproekt4](https://forum.samohosting.ru/u/Mosproekt4)\
**Post date:** [05.Июль.2025 13:38:12 UTC](https://forum.samohosting.ru/t/vyvodim-lokalnye-servisy-v-internet-poshagovaya-instrukcziya/466/2 "2025-07-05T13:38:12Z")

</div>

Спс, отличная инструкция,немного муторно все. надо что б за пару кликов )) можно проще андройд приложение - все коннектится без vps. У меня правда только музыка во внешку и кино.
