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

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):

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 http://localhost:8081 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:
      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
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
Description
Build files for Flyspray docker images
Readme 40 KiB
Languages
Dockerfile 92.7%
Shell 7.3%