Compare commits

..

20 Commits

Author SHA1 Message Date
5044430ceb blablabla
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 11:17:19 +03:00
1f211936ad blablabla
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 02:41:43 +03:00
e0ccf9a350 blablabla
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 02:38:50 +03:00
162e1cc88a blablabla
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 02:09:48 +03:00
57c776a1a3 blablabla
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 02:06:52 +03:00
facc643c0b blablabla
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:56:16 +03:00
4b0404f5df blablabla
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:53:22 +03:00
11458e92f2 feature: added stream modules into packages
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:48:11 +03:00
a26e38d0ce feature: updated nginx.conf
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:45:58 +03:00
ca9cfa40a4 feature: updated nginx.conf
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:43:56 +03:00
99b390b869 feature: updated base nginx version
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:40:49 +03:00
f61f737fb1 feature: updated default nginx.conf
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:37:03 +03:00
942d01aa0e feature: added bash to apk add
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:34:58 +03:00
3668c17087 feature: try alpine
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:33:02 +03:00
7619a4b8f8 feature: added nginx-abi-1.22.1-7 package to Dockerfile
Some checks failed
Gitea/docker-base-images/nginx-routes/pipeline/head There was a failure building this commit
2023-09-08 01:28:28 +03:00
84c7ac2add feature: added lua and perl modules to Dockerfile
Some checks failed
Gitea/docker-base-images/nginx-routes/pipeline/head There was a failure building this commit
2023-09-08 01:26:28 +03:00
93162143aa feature: try include lua module
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:22:03 +03:00
9e8b6e44bb feature: try set_by_lua func
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:19:19 +03:00
8da9c6e598 wip
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:12:46 +03:00
a82e359da2 fix: fixed Dockerfile syntax
All checks were successful
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
2023-09-08 01:00:35 +03:00
2 changed files with 19 additions and 46 deletions

View File

@ -1,46 +0,0 @@
# Nginx Routes Helper
Специальный образ NGINX, который упрощает работу с проксированием портов между разными сетками у докер контейнеров.
По-умолчанию установлены утилиты для работы с роутами.
# Пре-стартовый скрипт
При старте контейнера происходит проверка на наличие скрипта, который должен быть выполнен в самом начале.
Скрипт располагается в `/invoke_initial_script.sh`, собственно сюда его и надо монтировать.
Например, требуется добавить роуты в контейнер при его старте.
`/invoke_initial_script.sh`:
```bash
#!/usr/bin/env bash
echo "Adding routes..."
ip route add 192.168.255.0/24 via 172.20.20.2
echo "Routes added!"
```
Тут может быть совершенно что угодно, этот скрипт выполнится до старта NGINX.
# Проброс портов по-умолчанию
Если пользователь не примонтирует свой `/etc/nginx/nginx.conf`, то по-умолчанию будет использоваться
обычный `stream` прокси с порта на адрес. Слушаемый порт и целевой адрес указываются через переменные окружения:
- `NGINX_PROXY_SOURCE_PORT` - Порт (например `80`), который слушает NGINX
- `NGINX_PROXY_TARGET_ADDRESS` - Адрес и порт (например `localhost:25565`), куда будет отправляться трафик
Пример использования в `docker-compose`:
```yml
version: '3.7'
services:
test-nginx:
image: "git.tswf.io/docker-base-images/nginx-routes:latest"
ports:
- "25565:25565"
environment:
NGINX_PROXY_SOURCE_PORT: 25565
NGINX_PROXY_TARGET_ADDRESS: "another_container:9000"
another_container:
image: "blablabla"
#...
```

19
default.nginx.conf Normal file
View File

@ -0,0 +1,19 @@
events {}
stream {
server {
set $nginx_proxy_source_port '';
set $nginx_proxy_source_address '';
content_by_lua_block {
ngx.var.nginx_proxy_source_port = os.getenv("$NGINX_PROXY_SOURCE_PORT");
ngx.var.nginx_proxy_source_address = os.getenv("$NGINX_PROXY_SOURCE_ADDRESS");
ngx.say(ngx.var.nginx_proxy_source_port)
ngx.say(ngx.var.nginx_proxy_source_address)
}
listen $nginx_proxy_source_port;
proxy_pass $nginx_proxy_source_address;
}
}