Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPV6 support for docker image #5545

Open
suhjohn opened this issue Nov 28, 2024 · 2 comments
Open

IPV6 support for docker image #5545

suhjohn opened this issue Nov 28, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@suhjohn
Copy link

suhjohn commented Nov 28, 2024

Trying to deploy Qdrant on Railway with a server connecting to the Qdrant instance through private network. Railway calls the ipv6 address, but it seems like Qdrant doesn't accept ipv6 http connection on its Docker. Railway is just a specific example to replicate this issue, but I believe it's true regardless.

Current Behavior

Connection refused.

Steps to Reproduce

  1. Start a Qdrant template on Railway.
  2. Start a basic server image.
  3. Have the server image try to connect to the instance through the private address.

There just is a connection refused issue.

Expected Behavior

The Qdrant server should accept connections from ipv6.

Possible Solution

The equivalent of the following:

const port = process.env.PORT || 3000;

app.listen(port, '::', () => {
    console.log(`Server listening on [::]${port}`);
});

Context (Environment)

Detailed Description

Possible Implementation

@suhjohn suhjohn added the bug Something isn't working label Nov 28, 2024
@jimkring
Copy link

jimkring commented Dec 24, 2024

I haven't tested this yet, but I wonder setting service.host to '::' in the config.yaml would do the trick.

https://qdrant.tech/documentation/guides/configuration/

# qdrant/config/config.yaml
service:
  # Host to bind the service on
  # host: 0.0.0.0
  host: '::'

This yaml dictionary value get's handled by qdrant, here, and that seems that could work (based on a separate thread I was reading on working with IPv6 and Rust):

SocketAddr::from((settings.service.host.parse::<IpAddr>().unwrap(), grpc_port));

@jimkring
Copy link

jimkring commented Dec 24, 2024

Update: the simplest solution is to set the env variable QDRANT__SERVICE__HOST to :: -- I was able to get this to work on Railway and connect to qdrant over the internal network.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants