Skip to main content

Docker Image

To run your Fusio project you can use our docker image. You only need to create the following Dockerfile in your project:

FROM fusio/fusio
COPY ./resources /var/www/html/fusio/resources
COPY ./src /var/www/html/fusio/src
COPY ./.fusio.yml /var/www/html/fusio/.fusio.yml
COPY ./composer.json /var/www/html/fusio/composer.json
COPY ./composer.lock /var/www/html/fusio/composer.lock
COPY ./configuration.php /var/www/html/fusio/configuration.php
COPY ./container.php /var/www/html/fusio/container.php
COPY ./provider.php /var/www/html/fusio/provider.php
RUN chown -R www-data: /var/www/html/fusio
RUN cd /var/www/html/fusio && composer install
RUN a2enmod headers

GitHub

If your are working with GitHub you can use the following GitHub action to automatically build and image of your Fusio project and push this image to the GitHub docker registry.

name: Docker
on:
push:
branches:
- 'main'
tags:
- 'v*'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}