Compare commits
5 Commits
aee31cc4c2
...
e38f73d94d
| Author | SHA1 | Date | |
|---|---|---|---|
|
e38f73d94d
|
|||
|
78b0aa4a47
|
|||
|
1020db8c7b
|
|||
|
1476d01af3
|
|||
|
b49d837097
|
47
1.0-dev/mysqli/Dockerfile
Normal file
47
1.0-dev/mysqli/Dockerfile
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
FROM php:8.0-apache AS base
|
||||||
|
|
||||||
|
ENV FLYSPRAY /var/www/flyspray
|
||||||
|
|
||||||
|
WORKDIR $FLYSPRAY
|
||||||
|
|
||||||
|
RUN apt-get update -y && \
|
||||||
|
apt-get upgrade -y && \
|
||||||
|
apt-get install -y graphviz libfreetype6-dev libjpeg-dev zlib1g-dev && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN docker-php-ext-configure gd --with-freetype --with-jpeg && \
|
||||||
|
docker-php-ext-install -j$(nproc) exif gd mysqli
|
||||||
|
|
||||||
|
ENV APACHE_DOCUMENT_ROOT $FLYSPRAY
|
||||||
|
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf && \
|
||||||
|
sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
|
||||||
|
|
||||||
|
|
||||||
|
# The base target can be used for development also
|
||||||
|
# Run `docker build --target dev --tag flyspray:base` to build the base image`
|
||||||
|
# You can use this as part of a docker-compose setup to develop the flyspray application
|
||||||
|
FROM base AS dev
|
||||||
|
|
||||||
|
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
|
||||||
|
|
||||||
|
|
||||||
|
FROM composer:2.5.1 AS build
|
||||||
|
|
||||||
|
ARG flyspray_src=https://github.com/flyspray/flyspray.git
|
||||||
|
ARG flyspray_branch=master
|
||||||
|
|
||||||
|
# Only do a shallow clone
|
||||||
|
RUN git clone --depth 1 "$flyspray_src" --branch "$flyspray_branch" . && rm -rf .git
|
||||||
|
|
||||||
|
RUN composer install --ignore-platform-reqs --no-dev --optimize-autoloader
|
||||||
|
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
|
||||||
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||||
|
|
||||||
|
COPY --from=build --chown=www-data:www-data /app "$FLYSPRAY"
|
||||||
|
|
||||||
|
VOLUME $FLYSPRAY/attachments, $FLYSPRAY/avatars
|
||||||
|
EXPOSE 80 443
|
||||||
47
1.0-dev/pgsql/Dockerfile
Normal file
47
1.0-dev/pgsql/Dockerfile
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
FROM php:8.0-apache AS base
|
||||||
|
|
||||||
|
ENV FLYSPRAY /var/www/flyspray
|
||||||
|
|
||||||
|
WORKDIR $FLYSPRAY
|
||||||
|
|
||||||
|
RUN apt-get update -y && \
|
||||||
|
apt-get upgrade -y && \
|
||||||
|
apt-get install -y graphviz libpq-dev libfreetype6-dev libjpeg-dev zlib1g-dev && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN docker-php-ext-configure gd --with-freetype --with-jpeg && \
|
||||||
|
docker-php-ext-install -j$(nproc) exif gd pgsql
|
||||||
|
|
||||||
|
ENV APACHE_DOCUMENT_ROOT $FLYSPRAY
|
||||||
|
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf && \
|
||||||
|
sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
|
||||||
|
|
||||||
|
|
||||||
|
# The base target can be used for development also
|
||||||
|
# Run `docker build --target dev --tag flyspray:base` to build the base image`
|
||||||
|
# You can use this as part of a docker-compose setup to develop the flyspray application
|
||||||
|
FROM base AS dev
|
||||||
|
|
||||||
|
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
|
||||||
|
|
||||||
|
|
||||||
|
FROM composer:2.5.1 AS build
|
||||||
|
|
||||||
|
ARG flyspray_src=https://github.com/flyspray/flyspray.git
|
||||||
|
ARG flyspray_branch=master
|
||||||
|
|
||||||
|
# Only do a shallow clone
|
||||||
|
RUN git clone --depth 1 "$flyspray_src" --branch "$flyspray_branch" . && rm -rf .git
|
||||||
|
|
||||||
|
RUN composer install --ignore-platform-reqs --no-dev --optimize-autoloader
|
||||||
|
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
|
||||||
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||||
|
|
||||||
|
COPY --from=build --chown=www-data:www-data /app "$FLYSPRAY"
|
||||||
|
|
||||||
|
VOLUME $FLYSPRAY/attachments, $FLYSPRAY/avatars
|
||||||
|
EXPOSE 80 443
|
||||||
@@ -20,8 +20,8 @@ RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-av
|
|||||||
|
|
||||||
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||||
|
|
||||||
RUN curl -L "$FLYSPRAY_SRC" | tar zxf - --strip-components=1
|
RUN curl -L "$FLYSPRAY_SRC" | tar zxf - --strip-components=1 && \
|
||||||
RUN chown www-data:www-data -R "$FLYSPRAY"
|
chown www-data:www-data -R "$FLYSPRAY"
|
||||||
|
|
||||||
VOLUME $FLYSPRAY/attachments, $FLYSPRAY/avatars
|
VOLUME $FLYSPRAY/attachments, $FLYSPRAY/avatars
|
||||||
EXPOSE 80 443
|
EXPOSE 80 443
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-av
|
|||||||
|
|
||||||
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||||
|
|
||||||
RUN curl -L "$FLYSPRAY_SRC" | tar zxf - --strip-components=1
|
RUN curl -L "$FLYSPRAY_SRC" | tar zxf - --strip-components=1 && \
|
||||||
RUN chown www-data:www-data -R "$FLYSPRAY"
|
chown www-data:www-data -R "$FLYSPRAY"
|
||||||
|
|
||||||
VOLUME $FLYSPRAY/attachments, $FLYSPRAY/avatars
|
VOLUME $FLYSPRAY/attachments, $FLYSPRAY/avatars
|
||||||
EXPOSE 80 443
|
EXPOSE 80 443
|
||||||
|
|||||||
2
TODO.md
2
TODO.md
@@ -1,4 +1,4 @@
|
|||||||
- Is there a low effort way to automate the setup?
|
- Is there a low effort way to automate the setup?
|
||||||
- Do we need the `graphviz` dependency?
|
- Do we need the `graphviz` dependency?
|
||||||
- Build an image of master/1.0-rc11-dev
|
|
||||||
- Distribute the images
|
- Distribute the images
|
||||||
|
- Automate distribution (and then rename dev to nightly?)
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Usage: ./build-all.sh [image-name]
|
# Usage: ./build-all.sh [image-name]
|
||||||
|
|
||||||
name="${1:-flyspray}"
|
name="${1:-rkcsd/flyspray}"
|
||||||
|
|
||||||
|
docker build -t "$name:1.0-dev-mysqli" -t "$name:1.0-dev" -t "$name:dev" ./1.0-dev/mysqli
|
||||||
|
docker build -t "$name:1.0-dev-pgsql" ./1.0-dev/pgsql
|
||||||
docker build -t "$name:1.0-rc10-mysqli" -t "$name:1.0-rc10" -t "$name:latest" ./1.0-rc10/mysqli
|
docker build -t "$name:1.0-rc10-mysqli" -t "$name:1.0-rc10" -t "$name:latest" ./1.0-rc10/mysqli
|
||||||
docker build -t "$name:1.0-rc10-pgsql" ./1.0-rc10/pgsql
|
docker build -t "$name:1.0-rc10-pgsql" ./1.0-rc10/pgsql
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ services:
|
|||||||
container_name: flyspray
|
container_name: flyspray
|
||||||
image: flyspray:1.0-rc10
|
image: flyspray:1.0-rc10
|
||||||
build: 1.0-rc10/mysqli
|
build: 1.0-rc10/mysqli
|
||||||
environment:
|
|
||||||
FLYSPRAY_DATABASE_DBHOST: db
|
|
||||||
FLYSPRAY_DATABASE_DBNAME: flyspray
|
|
||||||
FLYSPRAY_DATABASE_DBUSER: flyspray
|
|
||||||
FLYSPRAY_DATABASE_DBPASS: ${DB_PASSWORD}
|
|
||||||
ports:
|
ports:
|
||||||
- 8081:80
|
- 8081:80
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
Reference in New Issue
Block a user