mirror of
https://github.com/enricoros/big-AGI.git
synced 2026-05-10 21:50:14 -07:00
Reverse proxy instructions. Fixes #587
This commit is contained in:
@@ -46,6 +46,7 @@ Step-by-step deployment and system configuration instructions.
|
|||||||
- **[Source code alterations guide](customizations.md)**: source code primer and alterations guidelines
|
- **[Source code alterations guide](customizations.md)**: source code primer and alterations guidelines
|
||||||
- **[Basic Authentication](deploy-authentication.md)**: Optional, adds a username and password wall
|
- **[Basic Authentication](deploy-authentication.md)**: Optional, adds a username and password wall
|
||||||
- **[Database Setup](deploy-database.md)**: Optional, enables "Chat Link Sharing"
|
- **[Database Setup](deploy-database.md)**: Optional, enables "Chat Link Sharing"
|
||||||
|
- **[Reverse Proxy](deploy-reverse-proxy.md)**: Optional, enables custom domain and SSL
|
||||||
- **[Environment Variables](environment-variables.md)**: 📌 Pre-configures models and services
|
- **[Environment Variables](environment-variables.md)**: 📌 Pre-configures models and services
|
||||||
|
|
||||||
## Support and Community
|
## Support and Community
|
||||||
|
|||||||
@@ -81,7 +81,8 @@ Then, edit the nginx configuration file `/etc/nginx/sites-enabled/default` and a
|
|||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
proxy_cache off;
|
proxy_cache off;
|
||||||
|
|
||||||
# Longer timeouts
|
# Longer timeouts (1hr)
|
||||||
|
keepalive_timeout 3600;
|
||||||
proxy_read_timeout 3600;
|
proxy_read_timeout 3600;
|
||||||
proxy_connect_timeout 3600;
|
proxy_connect_timeout 3600;
|
||||||
proxy_send_timeout 3600;
|
proxy_send_timeout 3600;
|
||||||
|
|||||||
@@ -59,6 +59,17 @@ To make local services running on your host machine accessible to a Docker conta
|
|||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
### Reverse Proxy Configuration
|
||||||
|
|
||||||
|
A reverse proxy is a server that sits in front of big-AGI's container and can forwards web
|
||||||
|
requests to it. Often used to run multiple web applications, expose them to the internet,
|
||||||
|
increase security.
|
||||||
|
|
||||||
|
If you're deploying big-AGI behind a reverse proxy, you may want to see
|
||||||
|
our [Reverse Proxy Deployment Guide](deploy-reverse-proxy.md) for more information.
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
### More Information
|
### More Information
|
||||||
|
|
||||||
The [`Dockerfile`](../Dockerfile) describes how to create a Docker image. It establishes a Node.js environment,
|
The [`Dockerfile`](../Dockerfile) describes how to create a Docker image. It establishes a Node.js environment,
|
||||||
|
|||||||
@@ -79,4 +79,7 @@ To update big-AGI to the latest version:
|
|||||||
|
|
||||||
This will trigger a rolling update of the deployment with the latest image.
|
This will trigger a rolling update of the deployment with the latest image.
|
||||||
|
|
||||||
|
**Note**: If you're deploying big-AGI behind a reverse proxy, you may need to configure
|
||||||
|
your proxy to support streaming. See our [Reverse Proxy Deployment Guide](deploy-reverse-proxy.md) for more information.
|
||||||
|
|
||||||
Note: For production use, consider setting up an Ingress Controller or Load Balancer instead of using port-forward.
|
Note: For production use, consider setting up an Ingress Controller or Load Balancer instead of using port-forward.
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
# Advanced: Deploying big-AGI behind a Reverse Proxy
|
||||||
|
|
||||||
|
Note: if you don't have a reverse proxy set up, you can skip this guide.
|
||||||
|
|
||||||
|
If you're deploying big-AGI behind a reverse proxy, you may want to configure your proxy to support streaming output.
|
||||||
|
This guide provides instructions on how to configure your reverse proxy to support streaming output from big-AGI.
|
||||||
|
|
||||||
|
This is for advanced deployments, and you should have a basic understanding of how reverse proxies work.
|
||||||
|
|
||||||
|
## Nginx Configuration
|
||||||
|
|
||||||
|
If you're using Nginx as your reverse proxy, add the following configuration to your server block:
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name your-domain.com;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
# ...your specific proxy_pass configuration, example below...
|
||||||
|
proxy_pass http://localhost:3000; # Assuming big-AGI is running on port 3000
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection 'upgrade';
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_cache_bypass $http_upgrade;
|
||||||
|
# ...
|
||||||
|
|
||||||
|
# Important: Disable buffering for the streaming responses (SSE)
|
||||||
|
chunked_transfer_encoding on; # Turn on chunked transfer encoding
|
||||||
|
proxy_buffering off; # Turn off proxy buffering
|
||||||
|
proxy_cache off; # Turn off caching
|
||||||
|
tcp_nodelay on; # Turn on TCP NODELAY option, disable delay ACK algorithm
|
||||||
|
tcp_nopush on; # Turn on TCP NOPUSH option, disable Nagle algorithm
|
||||||
|
|
||||||
|
# Important: Longer timeouts (5 min)
|
||||||
|
keepalive_timeout 300;
|
||||||
|
proxy_connect_timeout 300;
|
||||||
|
proxy_read_timeout 300;
|
||||||
|
proxy_send_timeout 300;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This configuration disables caching and buffering, enables chunked transfer encoding, and adjusts TCP settings to optimize for streaming content.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
If you're experiencing issues with streaming not working, especially when deploying behind a reverse proxy,
|
||||||
|
ensure that your proxy is configured to support streaming output as described above.
|
||||||
|
|
||||||
|
## Additional Resources
|
||||||
|
|
||||||
|
- For Docker deployments, see our [Docker Deployment Guide](deploy-docker.md)
|
||||||
|
- For Kubernetes deployments, see our [Kubernetes Deployment Guide](deploy-k8s.md)
|
||||||
|
- For general installation instructions, see our [Installation Guide](installation.md)
|
||||||
|
|
||||||
|
If you continue to experience issues, please reach out to our [community support channels](README.md#support-and-community).
|
||||||
@@ -99,6 +99,8 @@ or follow the steps below for a quick start.
|
|||||||
```
|
```
|
||||||
Access your big-AGI instance at `http://localhost:3000`.
|
Access your big-AGI instance at `http://localhost:3000`.
|
||||||
|
|
||||||
|
If you deploy big-AGI behind a reverse proxy, you may want to check out the [Reverse Proxy Configuration Guide](deploy-reverse-proxy.md).
|
||||||
|
|
||||||
### Kubernetes Deployment
|
### Kubernetes Deployment
|
||||||
|
|
||||||
Deploy big-AGI on a Kubernetes cluster for enhanced scalability and management. Follow these steps for a Kubernetes deployment:
|
Deploy big-AGI on a Kubernetes cluster for enhanced scalability and management. Follow these steps for a Kubernetes deployment:
|
||||||
|
|||||||
Reference in New Issue
Block a user