summaryrefslogtreecommitdiffstats
path: root/docs/docker.md
diff options
context:
space:
mode:
authorTekky <98614666+xtekky@users.noreply.github.com>2024-10-22 23:32:27 +0200
committerGitHub <noreply@github.com>2024-10-22 23:32:27 +0200
commita63c18de796bd4f3e818ff170b6ff595304f95e0 (patch)
tree844dbb9a8d3526a8b60564b78f7a19a4e0f605d9 /docs/docker.md
parentMerge pull request #2282 from Karasiq/patch-1 (diff)
parentUpdated docs/providers-and-models.md g4f/models.py g4f/Provider/Upstage.py (diff)
downloadgpt4free-a63c18de796bd4f3e818ff170b6ff595304f95e0.tar
gpt4free-a63c18de796bd4f3e818ff170b6ff595304f95e0.tar.gz
gpt4free-a63c18de796bd4f3e818ff170b6ff595304f95e0.tar.bz2
gpt4free-a63c18de796bd4f3e818ff170b6ff595304f95e0.tar.lz
gpt4free-a63c18de796bd4f3e818ff170b6ff595304f95e0.tar.xz
gpt4free-a63c18de796bd4f3e818ff170b6ff595304f95e0.tar.zst
gpt4free-a63c18de796bd4f3e818ff170b6ff595304f95e0.zip
Diffstat (limited to 'docs/docker.md')
-rw-r--r--docs/docker.md115
1 files changed, 92 insertions, 23 deletions
diff --git a/docs/docker.md b/docs/docker.md
index db33b925..e1caaf3d 100644
--- a/docs/docker.md
+++ b/docs/docker.md
@@ -1,45 +1,114 @@
-### G4F - Docker Setup
-Easily set up and run the G4F project using Docker without the hassle of manual dependency installation.
+# G4F Docker Setup
-1. **Prerequisites:**
- - [Install Docker](https://docs.docker.com/get-docker/)
- - [Install Docker Compose](https://docs.docker.com/compose/install/)
+## Table of Contents
+ - [Prerequisites](#prerequisites)
+ - [Installation and Setup](#installation-and-setup)
+ - [Testing the API](#testing-the-api)
+ - [Troubleshooting](#troubleshooting)
+ - [Stopping the Service](#stopping-the-service)
-2. **Clone the Repository:**
-```bash
-git clone https://github.com/xtekky/gpt4free.git
-```
+## Prerequisites
+**Before you begin, ensure you have the following installed on your system:**
+ - [Docker](https://docs.docker.com/get-docker/)
+ - [Docker Compose](https://docs.docker.com/compose/install/)
+ - Python 3.7 or higher
+ - pip (Python package manager)
-3. **Navigate to the Project Directory:**
+**Note:** If you encounter issues with Docker, you can run the project directly using Python.
-```bash
-cd gpt4free
-```
+## Installation and Setup
+
+### Docker Method (Recommended)
+1. **Clone the Repository**
+ ```bash
+ git clone https://github.com/xtekky/gpt4free.git
+ cd gpt4free
+ ```
+
+2. **Build and Run with Docker Compose**
+ ```bash
+ docker-compose up --build
+ ```
+
+3. **Access the API**
+ The server will be accessible at `http://localhost:1337`
+
+### Non-Docker Method
+If you encounter issues with Docker, you can run the project directly using Python:
+
+1. **Clone the Repository**
+ ```bash
+ git clone https://github.com/xtekky/gpt4free.git
+ cd gpt4free
+ ```
+
+2. **Install Dependencies**
+ ```bash
+ pip install -r requirements.txt
+ ```
-4. **Build the Docker Image:**
+3. **Run the Server**
+ ```bash
+ python -m g4f.api.run
+ ```
+4. **Access the API**
+ The server will be accessible at `http://localhost:1337`
+
+## Testing the API
+**You can test the API using curl or by creating a simple Python script:**
+### Using curl
```bash
-docker pull selenium/node-chrome
-docker-compose build
+curl -X POST -H "Content-Type: application/json" -d '{"prompt": "What is the capital of France?"}' http://localhost:1337/chat/completions
```
-5. **Start the Service:**
+### Using Python
+**Create a file named `test_g4f.py` with the following content:**
+```python
+import requests
+
+url = "http://localhost:1337/v1/chat/completions"
+body = {
+ "model": "gpt-3.5-turbo",
+ "stream": False,
+ "messages": [
+ {"role": "assistant", "content": "What can you do?"}
+ ]
+}
+
+json_response = requests.post(url, json=body).json().get('choices', [])
+
+for choice in json_response:
+ print(choice.get('message', {}).get('content', ''))
+```
+**Run the script:**
```bash
-docker-compose up
+python test_g4f.py
```
-Your server will now be accessible at `http://localhost:1337`. Interact with the API or run tests as usual.
+## Troubleshooting
+- If you encounter issues with Docker, try running the project directly using Python as described in the Non-Docker Method.
+- Ensure that you have the necessary permissions to run Docker commands. You might need to use `sudo` or add your user to the `docker` group.
+- If the server doesn't start, check the logs for any error messages and ensure all dependencies are correctly installed.
-To stop the Docker containers, simply run:
+**_For more detailed information on API endpoints and usage, refer to the [G4F API documentation](docs/interference-api.md)._**
+
+
+## Stopping the Service
+
+### Docker Method
+**To stop the Docker containers, use the following command:**
```bash
docker-compose down
```
-> [!Note]
-> Changes made to local files reflect in the Docker container due to volume mapping in `docker-compose.yml`. However, if you add or remove dependencies, rebuild the Docker image using `docker-compose build`.
+### Non-Docker Method
+If you're running the server directly with Python, you can stop it by pressing Ctrl+C in the terminal where it's running.
+
+---
-[Return to Home](/) \ No newline at end of file
+[Return to Home](/)