name: Build and Publish Docker Image on: push: branches: - master env: REGISTRY: 192.168.10.174:3000 IMAGE_NAME: ${{ gitea.repository }} jobs: build-and-push-image: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 # Simple login directly with docker login - name: Log in to the Container registry run: echo "${{ secrets.DOCKER_TOKEN }}" | docker login ${{ env.REGISTRY }} -u "${{ gitea.actor }}" --password-stdin # Frontend image (nginx + SPA) - name: Build frontend Docker image run: | LOWERCASE_IMAGE=$(echo "${{ env.IMAGE_NAME }}" | tr '[:upper:]' '[:lower:]') docker build -t ${{ env.REGISTRY }}/$LOWERCASE_IMAGE:latest . - name: Push frontend Docker image run: | LOWERCASE_IMAGE=$(echo "${{ env.IMAGE_NAME }}" | tr '[:upper:]' '[:lower:]') docker push ${{ env.REGISTRY }}/$LOWERCASE_IMAGE:latest # Backend image (Express API) - name: Build backend Docker image run: | LOWERCASE_IMAGE=$(echo "${{ env.IMAGE_NAME }}" | tr '[:upper:]' '[:lower:]') docker build -t ${{ env.REGISTRY }}/$LOWERCASE_IMAGE-backend:latest ./server - name: Push backend Docker image run: | LOWERCASE_IMAGE=$(echo "${{ env.IMAGE_NAME }}" | tr '[:upper:]' '[:lower:]') docker push ${{ env.REGISTRY }}/$LOWERCASE_IMAGE-backend:latest