123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- FROM composer:1.7 as php-build
- RUN apk add git
- RUN adduser -S dev
- RUN mkdir /koel && chown dev /koel
- COPY --chown=dev:nogroup ./koel /koel
- WORKDIR /koel
- USER dev
- RUN composer install --no-interaction
- FROM node:8.12.0-alpine as js-build
- # gyp verb `which` failed Error: not found: python2
- # gyp verb `which` failed at getNotFoundError (/koel/node_modules/which/which.js:13:12)
- # ...
- # gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:154:21)
- RUN apk add python2 make g++
- RUN adduser -S dev
- USER dev
- COPY --from=php-build --chown=dev:nogroup /koel /koel
- WORKDIR /koel
- RUN yarn install
- FROM php:7.2.10-apache-stretch
- RUN find / -xdev -type f -perm /u+s -exec chmod --changes u-s {} \; \
- && find / -xdev -type f -perm /g+s -exec chmod --changes g-s {} \;
- # libpq-dev: required for build of pdo_pgsql (includes libpq-fe.h)
- # zlib1g-dev: required by zip module
- RUN apt-get update && apt-get install --yes \
- libpq-dev \
- zlib1g-dev \
- netcat
- RUN docker-php-ext-install -j$(nproc) \
- exif \
- pdo_pgsql \
- zip
- RUN a2enmod headers rewrite
- RUN a2disconf other-vhosts-access-log
- COPY ./apache2.conf /etc/apache2/apache2.conf
- RUN chmod o+r /etc/apache2/apache2.conf
- EXPOSE 8080
- # https://github.com/docker-library/docs/blob/master/php/README.md
- RUN mv $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini
- COPY --from=js-build --chown=root:www-data /koel /koel
- WORKDIR /koel
- RUN chown --changes --recursive www-data .env storage/
- COPY ./run-koel.sh /
- RUN chmod o+rx /run-koel.sh
- USER www-data
- CMD ["/run-koel.sh"]
|