Support for stream module

Open
#792 6 comments 16 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
38/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
docker, docker-compose, nginx

Research direction

Start with the stream branch in the linked fork and run the provided docker-compose command to observe proxying to whoami and Mongo. Then inspect stream.tmpl and the listed work: same-container support, blocking HTTP on the streaming port, and tests. Done means those items are implemented and covered by tests.

Written by the indexing model from the issue text.

Description

I wanted to float an idea: support for streaming connections. I put together a quick proof of concept on the stream branch of this fork. Run docker-compose -f docker-compose-separate-containers.yml up -d --build to see connections proxied to both the whoami service and a mongo service. You can grab a mongo admin UI and connect to it using mongo.local:27017.

So, what do people think? Is there a valuable use case for this?

Downsides:

  • You can't have different VIRTUAL_HOSTS listening on the same port, since there's no hostname resolution like with HTTP.

Work left:

  • Get it working when docker-gen and nginx are running in the same container
  • Block http access over the streaming port
  • Finish stream.tmpl
  • Tests
Dominant language
Python
Stars
19.9k
Forks
3k
Avg merge
2d 11h
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nginx-proxy/nginx-proxy

All issues in nginx-proxy/nginx-proxy

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.