# flyspray-docker This repository contains build files for [Flyspray] docker images. The images extend the official `php:apache` image. If you would like to use another webserver, you must create them yourself. Images are available for [PostgreSQL] (`*/pgsql`) and [MySQL]/[MariaDB] (`*/mysqli`). # Prerequesits Install [Docker]. ## Building the image ```bash docker build \ --tag flyspray:1.0-rc10-mysqli \ ./1.0-rc10/mysqli ``` If you would like to build all images, use the `build-all.sh` script. ## Running the container Create and run the container with the following command (mounts are optional and depend on your usecase): ```bash docker volume create flyspray_attachments docker volume create flyspray_avatars docker run --name flyspray \ --volume flyspray_attachments:/var/www/flyspray/attachments:rw \ --volume flyspray_avatars:/var/www/flyspray/avatars:rw \ --volume /path/to/flyspray.conf.php:/var/www/flyspray/flyspray.conf.php:rw \ --volume /path/to/flyspray.ini:/usr/local/etc/php/conf.d/flyspray.ini:ro \ flyspray:1.0-rc10-mysqli ``` ## Using docker compose 1. Run `docker compose up -d` 2. Open in your Browser 3. Install flyspray. Use the database credentials you defined below and `"db"` for the database hostname. 4. Optional: Mount the config file. 1. While the container is running, copy the generated config: ```bash docker cp flyspray:/var/www/flyspray/flyspray.conf.php /path/to/flyspray.conf.php ``` 2. Add the `flyspray.conf.php` file to the `volumes` of `web` 3. Recreate the container by running `docker compose up -d` ```yaml version: '3.8' services: web: container_name: flyspray image: flyspray:1.0-rc10-mysqli ports: - 8081:80 volumes: # Keep attachments and avatars between containers - flyspray_attachments:/var/www/flyspray/attachments:rw - flyspray_avatars:/var/www/flyspray/avatars:rw # Recommended: Mount a custom flyspray config file # NOTE: Do not mount an empty file! - ./flyspray.conf.php:/var/www/flyspray/flyspray.conf.php:rw # Optional: Mount additional php options (max upload size, etc.) - ./flyspray.ini:/usr/local/etc/php/conf.d/flyspray.ini:ro db: container_name: flyspray_db image: mariadb:10.3.2 environment: MYSQL_DATABASE: flyspray MYSQL_USER: flyspray MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} volumes: - flyspray_dbdata:/var/lib/mysql volumes: flyspray_attachements: {} flyspray_avatars: {} flyspray_dbdata: {} ``` ## Adding a new version 1. Copy the last version directory 2. Change the `FLYSPRAY_SRC` url 3. Make necessary changes [Flyspray]: [Docker]: [PostgreSQL]: [MySQL]: [MariaDB]: