summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/publish-workflow.yaml33
-rw-r--r--Dockerfile6
-rw-r--r--docker-compose.yml15
3 files changed, 46 insertions, 8 deletions
diff --git a/.github/workflows/publish-workflow.yaml b/.github/workflows/publish-workflow.yaml
new file mode 100644
index 00000000..07567a2f
--- /dev/null
+++ b/.github/workflows/publish-workflow.yaml
@@ -0,0 +1,33 @@
+name: Publish Docker image
+
+on:
+ push:
+ tags:
+ - '**'
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Setup Buildx
+ uses: docker/setup-buildx-action@v3
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ - name: Get metadata for Docker
+ id: metadata
+ uses: docker/metadata-action@v5
+ with:
+ images: ghcr.io/${{ github.repository }}
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v3
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Build and push image
+ uses: docker/build-push-action@v5
+ with:
+ context: .
+ push: true
+ tags: ${{ steps.metadata.outputs.tags }}
+ labels: ${{ steps.metadata.outputs.labels }}
diff --git a/Dockerfile b/Dockerfile
index a4ab3733..3cb86bec 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -26,8 +26,8 @@ RUN pip install --upgrade pip && pip install -r requirements.txt
# This may include all code, assets, and configuration files required to run the application.
COPY . /app/
-# Expose port 1337
-EXPOSE 1337
+# Expose port 80 and 1337
+EXPOSE 80 1337
# Define the default command to run the app using Python's module mode.
-CMD ["python", "-m", "g4f.api.run"] \ No newline at end of file
+ENTRYPOINT ["python", "-m", "g4f.cli"] \ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index b044ed81..0ecceefd 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,13 +1,18 @@
version: '3'
services:
- gpt4free:
+ gpt4free-api: &gpt4free
+ image: gpt4free:latest
build:
context: .
dockerfile: Dockerfile
- volumes:
- - .:/app
+ cache_from:
+ - gpt4free:latest
ports:
- '1337:1337'
- environment:
- - PYTHONUNBUFFERED=1 \ No newline at end of file
+ command: api
+ gpt4free-gui:
+ <<: *gpt4free
+ ports:
+ - '8080:80'
+ command: gui \ No newline at end of file