From 235a30e2fa3c09d695a299a3a3b41f915caf1a61 Mon Sep 17 00:00:00 2001 From: Sergio Mendolia Date: Fri, 29 Nov 2024 18:57:03 +0100 Subject: [PATCH] Build a container with the code --- .github/workflows/docker-publish.yml | 63 ++++++++++++++++++++++++++++ .gitignore | 2 - Dockerfile | 16 +++++++ 3 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/docker-publish.yml create mode 100644 Dockerfile diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml new file mode 100644 index 00000000..1ec0fa2f --- /dev/null +++ b/.github/workflows/docker-publish.yml @@ -0,0 +1,63 @@ +name: Build + +# Controls when the workflow will run +on: + push: + branches: + - 'main' + - 'bundle-in-container' + tags: + - 'v*.*.*' + release: + types: [published] + +# permissions are needed if pushing to ghcr.io +permissions: + packages: write + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + # Get the repository's code + - name: Checkout + uses: actions/checkout@v3 + # https://github.com/docker/setup-qemu-action + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GHCR + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Docker meta + id: biblioteca # you'll use this in the next step + uses: docker/metadata-action@v3 + with: + # list of Docker images to use as base name for tags + images: ghcr.io/${{ github.repository }} + # Docker tags based on the following events/attributes + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.biblioteca.outputs.tags }} + labels: ${{ steps.biblioteca.outputs.labels }} + diff --git a/.gitignore b/.gitignore index 4e8cfc33..4c95b203 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,6 @@ /.composer /vendor/ docker-compose.override.yml -docker-compose.yml -Dockerfile /backups/*.sql /public/media/cache/* !/public/images/.gitkeep diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..ff9ba768 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM ghcr.io/biblioverse/biblioteca-docker:latest + +USER root +COPY . /var/www/html + + + +WORKDIR /var/www/html + +RUN composer install +RUN npm install +RUN npm run build + +RUN chown -R www-data:www-data /var/www/html + +USER www-data \ No newline at end of file