|
1 | | -# using ideas/code from other sparklyballs templates |
2 | | -# set variable to get archive based on github api data (sparklyballs heimdall inspiration) |
3 | | - |
4 | 1 | FROM lsiobase/alpine.nginx.arm64:3.7 |
| 2 | + |
5 | 3 | # Add qemu to build on x86_64 systems |
6 | 4 | COPY qemu-aarch64-static /usr/bin |
| 5 | + |
7 | 6 | # set version label |
8 | 7 | ARG BUILD_DATE |
9 | 8 | ARG VERSION |
10 | | -ARG BOOKSTACK_RELEASE |
11 | 9 | LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" |
12 | 10 | LABEL maintainer="homerr" |
13 | 11 |
|
14 | | -# install packages |
15 | | -RUN \ |
16 | | -echo "**** install build packages ****" && \ |
17 | | -apk add --no-cache \ |
18 | | - curl \ |
19 | | - php7-openssl \ |
20 | | - php7-pdo_mysql \ |
21 | | - php7-mbstring \ |
22 | | - php7-tidy \ |
23 | | - php7-phar \ |
24 | | - php7-dom \ |
25 | | - php7-tokenizer \ |
26 | | - php7-gd \ |
27 | | - php7-mysqlnd \ |
28 | | - php7-tidy \ |
29 | | - php7-simplexml \ |
30 | | - php7-ctype \ |
31 | | - tar && \ |
32 | | - |
33 | | -echo "**** configure php-fpm to pass env vars ****" && \ |
34 | | - sed -i \ |
35 | | - 's/;clear_env = no/clear_env = no/g' \ |
36 | | - /etc/php7/php-fpm.d/www.conf && \ |
37 | | - echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ |
38 | | - |
39 | | -echo "**** get bookstack ****" && \ |
40 | | - |
41 | | -mkdir -p\ |
42 | | - /var/www/html && \ |
43 | | - |
44 | | -if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ |
45 | | - BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ |
46 | | - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ |
47 | | -fi && \ |
48 | | - |
49 | | -curl -o \ |
50 | | - /tmp/bookstack.tar.gz -L \ |
51 | | - "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ |
52 | | - |
53 | | -tar xf \ |
54 | | -/tmp/bookstack.tar.gz -C \ |
55 | | - /var/www/html/ --strip-components=1 && \ |
56 | | - |
57 | | -cp /var/www/html/.env.example /var/www/html/.env && \ |
58 | | - |
59 | | -echo "**** get composer ****" && \ |
60 | | - |
61 | | -cd /tmp && \ |
62 | | - curl -sS https://getcomposer.org/installer | php && \ |
63 | | - mv /tmp/composer.phar /usr/local/bin/composer && \ |
64 | | - |
65 | | -echo "**** run composer install ****" && \ |
66 | | - |
67 | | -composer install -d /var/www/html/ && \ |
| 12 | +# package versions |
| 13 | +ARG BOOKSTACK_RELEASE |
68 | 14 |
|
69 | | -echo "**** cleanup ****" && \ |
70 | | -rm -rf \ |
71 | | - /root/.composer \ |
72 | | - /tmp/* |
| 15 | +RUN \ |
| 16 | + echo "**** install build packages ****" && \ |
| 17 | + apk add --no-cache \ |
| 18 | + curl \ |
| 19 | + php7-ctype \ |
| 20 | + php7-dom \ |
| 21 | + php7-gd \ |
| 22 | + php7-mbstring \ |
| 23 | + php7-mysqlnd \ |
| 24 | + php7-openssl \ |
| 25 | + php7-pdo_mysql \ |
| 26 | + php7-phar \ |
| 27 | + php7-simplexml \ |
| 28 | + php7-tidy \ |
| 29 | + php7-tokenizer \ |
| 30 | + tar && \ |
| 31 | + echo "**** configure php-fpm ****" && \ |
| 32 | + sed -i 's/;clear_env = no/clear_env = no/g' /etc/php7/php-fpm.d/www.conf && \ |
| 33 | + echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ |
| 34 | + echo "**** fetch bookstack ****" && \ |
| 35 | + mkdir -p\ |
| 36 | + /var/www/html && \ |
| 37 | + if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ |
| 38 | + BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ |
| 39 | + | awk '/tag_name/{print $4;exit}' FS='[""]'); \ |
| 40 | + fi && \ |
| 41 | + curl -o \ |
| 42 | + /tmp/bookstack.tar.gz -L \ |
| 43 | + "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ |
| 44 | + tar xf \ |
| 45 | + /tmp/bookstack.tar.gz -C \ |
| 46 | + /var/www/html/ --strip-components=1 && \ |
| 47 | + cp /var/www/html/.env.example /var/www/html/.env && \ |
| 48 | + echo "**** install composer ****" && \ |
| 49 | + cd /tmp && \ |
| 50 | + curl -sS https://getcomposer.org/installer | php && \ |
| 51 | + mv /tmp/composer.phar /usr/local/bin/composer && \ |
| 52 | + echo "**** install composer dependencies ****" && \ |
| 53 | + composer install -d /var/www/html/ && \ |
| 54 | + echo "**** cleanup ****" && \ |
| 55 | + rm -rf \ |
| 56 | + /root/.composer \ |
| 57 | + /tmp/* |
73 | 58 |
|
74 | 59 | # copy local files |
75 | 60 | COPY root/ / |
|
0 commit comments