diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml new file mode 100644 index 0000000..90ccbe4 --- /dev/null +++ b/.github/workflows/docker-build.yaml @@ -0,0 +1,46 @@ +name: Build & Push Docker Image + +on: + push: + branches: + - main + release: + types: [published] + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract version from release tag + if: github.event_name == 'release' + id: version + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + + - name: Build and push Docker image + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + run: | + docker build -f backend.dockerfile -t itzcrazykns1337/perplexica-backend:main . + docker build -f app.dockerfile -t itzcrazykns1337/perplexica-frontend:main . + docker push itzcrazykns1337/perplexica-backend:main + docker push itzcrazykns1337/perplexica-frontend:main + + - name: Build and push release Docker image + if: github.event_name == 'release' + run: | + docker build -f backend.dockerfile -t itzcrazykns1337/perplexica-backend:${{ env.RELEASE_VERSION }} . + docker build -f app.dockerfile -t itzcrazykns1337/perplexica-frontend:${{ env.RELEASE_VERSION }} . + docker push itzcrazykns1337/perplexica-backend:${{ env.RELEASE_VERSION }} + docker push itzcrazykns1337/perplexica-frontend:${{ env.RELEASE_VERSION }} \ No newline at end of file diff --git a/backend.dockerfile b/backend.dockerfile index 0169218..66de9dc 100644 --- a/backend.dockerfile +++ b/backend.dockerfile @@ -7,7 +7,6 @@ WORKDIR /home/perplexica COPY src /home/perplexica/src COPY tsconfig.json /home/perplexica/ -COPY config.toml /home/perplexica/ COPY drizzle.config.ts /home/perplexica/ COPY package.json /home/perplexica/ COPY yarn.lock /home/perplexica/ diff --git a/docker-compose.yaml b/docker-compose.yaml index d3892e5..ad61ec2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -15,6 +15,7 @@ services: dockerfile: backend.dockerfile args: - SEARXNG_API_URL=http://searxng:8080 + image: itzcrazykns1337/perplexica-backend:main depends_on: - searxng ports: @@ -35,6 +36,7 @@ services: args: - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 + image: itzcrazykns1337/perplexica-frontend:main depends_on: - perplexica-backend ports: