100 lines
2.9 KiB
Markdown
100 lines
2.9 KiB
Markdown
# 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 <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:
|
|
```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]: <http://www.flyspray.org>
|
|
[Docker]: <https://docs.docker.com/engine/install/>
|
|
[PostgreSQL]: <https://www.postgresql.org/>
|
|
[MySQL]: <https://www.mysql.com/>
|
|
[MariaDB]: <https://mariadb.com/>
|