diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..c73c33b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,21 @@ + + +[linuxserverurl]: https://linuxserver.io +[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] + + + + + + + + + + + + + + + +## Thanks, team linuxserver.io + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..f6a6381 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,15 @@ + + +[linuxserverurl]: https://linuxserver.io +[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] + + + + + + + + + +## Thanks, team linuxserver.io + diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index fc4048d..5e4d09a 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,75 +1,60 @@ -# using ideas/code from other sparklyballs templates -# set variable to get archive based on github api data (sparklyballs heimdall inspiration) - FROM lsiobase/alpine.nginx.arm64:3.7 + # Add qemu to build on x86_64 systems COPY qemu-aarch64-static /usr/bin + # set version label ARG BUILD_DATE ARG VERSION -ARG BOOKSTACK_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="homerr" -# install packages -RUN \ -echo "**** install build packages ****" && \ -apk add --no-cache \ - curl \ - php7-openssl \ - php7-pdo_mysql \ - php7-mbstring \ - php7-tidy \ - php7-phar \ - php7-dom \ - php7-tokenizer \ - php7-gd \ - php7-mysqlnd \ - php7-tidy \ - php7-simplexml \ - php7-ctype \ - tar && \ - -echo "**** configure php-fpm to pass env vars ****" && \ - sed -i \ - 's/;clear_env = no/clear_env = no/g' \ - /etc/php7/php-fpm.d/www.conf && \ - echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ - -echo "**** get bookstack ****" && \ - -mkdir -p\ - /var/www/html && \ - -if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ - BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ -fi && \ - -curl -o \ - /tmp/bookstack.tar.gz -L \ - "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ - -tar xf \ -/tmp/bookstack.tar.gz -C \ - /var/www/html/ --strip-components=1 && \ - -cp /var/www/html/.env.example /var/www/html/.env && \ - -echo "**** get composer ****" && \ - -cd /tmp && \ - curl -sS https://getcomposer.org/installer | php && \ - mv /tmp/composer.phar /usr/local/bin/composer && \ - -echo "**** run composer install ****" && \ - -composer install -d /var/www/html/ && \ +# package versions +ARG BOOKSTACK_RELEASE -echo "**** cleanup ****" && \ -rm -rf \ - /root/.composer \ - /tmp/* +RUN \ + echo "**** install build packages ****" && \ + apk add --no-cache \ + curl \ + php7-ctype \ + php7-dom \ + php7-gd \ + php7-mbstring \ + php7-mysqlnd \ + php7-openssl \ + php7-pdo_mysql \ + php7-phar \ + php7-simplexml \ + php7-tidy \ + php7-tokenizer \ + tar && \ + echo "**** configure php-fpm ****" && \ + sed -i 's/;clear_env = no/clear_env = no/g' /etc/php7/php-fpm.d/www.conf && \ + echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ + echo "**** fetch bookstack ****" && \ + mkdir -p\ + /var/www/html && \ + if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ + BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ + | awk '/tag_name/{print $4;exit}' FS='[""]'); \ + fi && \ + curl -o \ + /tmp/bookstack.tar.gz -L \ + "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ + tar xf \ + /tmp/bookstack.tar.gz -C \ + /var/www/html/ --strip-components=1 && \ + cp /var/www/html/.env.example /var/www/html/.env && \ + echo "**** install composer ****" && \ + cd /tmp && \ + curl -sS https://getcomposer.org/installer | php && \ + mv /tmp/composer.phar /usr/local/bin/composer && \ + echo "**** install composer dependencies ****" && \ + composer install -d /var/www/html/ && \ + echo "**** cleanup ****" && \ + rm -rf \ + /root/.composer \ + /tmp/* # copy local files COPY root/ / diff --git a/Dockerfile.amd64 b/Dockerfile.amd64 index 25acc24..8d82e9f 100644 --- a/Dockerfile.amd64 +++ b/Dockerfile.amd64 @@ -1,72 +1,57 @@ -# using ideas/code from other thelamer & sparklyballs lsio templates FROM lsiobase/alpine.nginx:3.7 # set version label ARG BUILD_DATE ARG VERSION -ARG BOOKSTACK_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="homerr" -# install packages -RUN \ -echo "**** install build packages ****" && \ -apk add --no-cache \ - curl \ - php7-openssl \ - php7-pdo_mysql \ - php7-mbstring \ - php7-tidy \ - php7-phar \ - php7-dom \ - php7-tokenizer \ - php7-gd \ - php7-mysqlnd \ - php7-tidy \ - php7-simplexml \ - php7-ctype \ - tar && \ - -echo "**** configure php-fpm to pass env vars ****" && \ - sed -i \ - 's/;clear_env = no/clear_env = no/g' \ - /etc/php7/php-fpm.d/www.conf && \ - echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ - -echo "**** get bookstack ****" && \ - -mkdir -p\ - /var/www/html && \ - -if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ - BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ -fi && \ - -curl -o \ -/tmp/bookstack.tar.gz -L \ - "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ - -tar xf \ -/tmp/bookstack.tar.gz -C \ - /var/www/html/ --strip-components=1 && \ - -cp /var/www/html/.env.example /var/www/html/.env && \ - -echo "**** get composer ****" && \ - -cd /tmp && \ - curl -sS https://getcomposer.org/installer | php && \ - mv /tmp/composer.phar /usr/local/bin/composer && \ - -echo "**** run composer install ****" && \ - -composer install -d /var/www/html/ && \ +# package versions +ARG BOOKSTACK_RELEASE -echo "**** cleanup ****" && \ -rm -rf \ - /root/.composer \ - /tmp/* +RUN \ + echo "**** install build packages ****" && \ + apk add --no-cache \ + curl \ + php7-ctype \ + php7-dom \ + php7-gd \ + php7-mbstring \ + php7-mysqlnd \ + php7-openssl \ + php7-pdo_mysql \ + php7-phar \ + php7-simplexml \ + php7-tidy \ + php7-tokenizer \ + tar && \ + echo "**** configure php-fpm ****" && \ + sed -i 's/;clear_env = no/clear_env = no/g' /etc/php7/php-fpm.d/www.conf && \ + echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ + echo "**** fetch bookstack ****" && \ + mkdir -p\ + /var/www/html && \ + if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ + BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ + | awk '/tag_name/{print $4;exit}' FS='[""]'); \ + fi && \ + curl -o \ + /tmp/bookstack.tar.gz -L \ + "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ + tar xf \ + /tmp/bookstack.tar.gz -C \ + /var/www/html/ --strip-components=1 && \ + cp /var/www/html/.env.example /var/www/html/.env && \ + echo "**** install composer ****" && \ + cd /tmp && \ + curl -sS https://getcomposer.org/installer | php && \ + mv /tmp/composer.phar /usr/local/bin/composer && \ + echo "**** install composer dependencies ****" && \ + composer install -d /var/www/html/ && \ + echo "**** cleanup ****" && \ + rm -rf \ + /root/.composer \ + /tmp/* # copy local files COPY root/ / diff --git a/Dockerfile.armhf b/Dockerfile.armhf index ca43340..ee307ac 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,75 +1,60 @@ -# using ideas/code from other sparklyballs templates -# set variable to get archive based on github api data (sparklyballs heimdall inspiration) - FROM lsiobase/alpine.nginx.armhf:3.7 + # Add qemu to build on x86_64 systems COPY qemu-arm-static /usr/bin + # set version label ARG BUILD_DATE ARG VERSION -ARG BOOKSTACK_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="homerr" -# install packages -RUN \ -echo "**** install build packages ****" && \ -apk add --no-cache \ - curl \ - php7-openssl \ - php7-pdo_mysql \ - php7-mbstring \ - php7-tidy \ - php7-phar \ - php7-dom \ - php7-tokenizer \ - php7-gd \ - php7-mysqlnd \ - php7-tidy \ - php7-simplexml \ - php7-ctype \ - tar && \ - -echo "**** configure php-fpm to pass env vars ****" && \ - sed -i \ - 's/;clear_env = no/clear_env = no/g' \ - /etc/php7/php-fpm.d/www.conf && \ - echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ - -echo "**** get bookstack ****" && \ - -mkdir -p\ - /var/www/html && \ - -if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ - BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ -fi && \ - -curl -o \ - /tmp/bookstack.tar.gz -L \ - "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ - -tar xf \ -/tmp/bookstack.tar.gz -C \ - /var/www/html/ --strip-components=1 && \ - -cp /var/www/html/.env.example /var/www/html/.env && \ - -echo "**** get composer ****" && \ - -cd /tmp && \ - curl -sS https://getcomposer.org/installer | php && \ - mv /tmp/composer.phar /usr/local/bin/composer && \ - -echo "**** run composer install ****" && \ - -composer install -d /var/www/html/ && \ +# package versions +ARG BOOKSTACK_RELEASE -echo "**** cleanup ****" && \ -rm -rf \ - /root/.composer \ - /tmp/* +RUN \ + echo "**** install build packages ****" && \ + apk add --no-cache \ + curl \ + php7-ctype \ + php7-dom \ + php7-gd \ + php7-mbstring \ + php7-mysqlnd \ + php7-openssl \ + php7-pdo_mysql \ + php7-phar \ + php7-simplexml \ + php7-tidy \ + php7-tokenizer \ + tar && \ + echo "**** configure php-fpm ****" && \ + sed -i 's/;clear_env = no/clear_env = no/g' /etc/php7/php-fpm.d/www.conf && \ + echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \ + echo "**** fetch bookstack ****" && \ + mkdir -p\ + /var/www/html && \ + if [ -z ${BOOKSTACK_RELEASE+x} ]; then \ + BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \ + | awk '/tag_name/{print $4;exit}' FS='[""]'); \ + fi && \ + curl -o \ + /tmp/bookstack.tar.gz -L \ + "https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \ + tar xf \ + /tmp/bookstack.tar.gz -C \ + /var/www/html/ --strip-components=1 && \ + cp /var/www/html/.env.example /var/www/html/.env && \ + echo "**** install composer ****" && \ + cd /tmp && \ + curl -sS https://getcomposer.org/installer | php && \ + mv /tmp/composer.phar /usr/local/bin/composer && \ + echo "**** install composer dependencies ****" && \ + composer install -d /var/www/html/ && \ + echo "**** cleanup ****" && \ + rm -rf \ + /root/.composer \ + /tmp/* # copy local files COPY root/ / diff --git a/root/etc/cont-init.d/50-config b/root/etc/cont-init.d/50-config index 4c44659..0142112 100644 --- a/root/etc/cont-init.d/50-config +++ b/root/etc/cont-init.d/50-config @@ -1,6 +1,6 @@ #!/usr/bin/with-contenv bash -# create folders +# create our folders mkdir -p \ /config/storage \ /config/uploads @@ -19,30 +19,24 @@ done # Create API key if needed if [ ! -f "/config/BOOKSTACK_APP_KEY.txt" ] -then - echo "Generating BookStack app key for first run" - key=$(php /var/www/html/artisan key:generate --show | tr -d '//' ) - echo $key > /config/BOOKSTACK_APP_KEY.txt - echo "App Key set to $key you can modify the file to update /config/BOOKSTACK_APP_KEY.txt" + then + echo "Generating BookStack app key for first run" + key=$(php /var/www/html/artisan key:generate --show | tr -d '//' ) + echo $key > /config/BOOKSTACK_APP_KEY.txt + echo "App Key set to $key you can modify the file to update /config/BOOKSTACK_APP_KEY.txt" fi # set up .env - sed -i "s/APP_KEY=SomeRandomString/APP_KEY=$key/g" /var/www/html/.env - sed -i "s/DB_HOST=localhost/DB_HOST=${DB_HOST}/g" /var/www/html/.env - sed -i "s/DB_DATABASE=database_database/DB_DATABASE=${DB_DATABASE}/g" /var/www/html/.env - sed -i "s/DB_USERNAME=database_username/DB_USERNAME=${DB_USER}/g" /var/www/html/.env - sed -i "s/DB_PASSWORD=database_user_password/DB_PASSWORD=${DB_PASS}/g" /var/www/html/.env # update database - will set up database if fresh, or, migrate existing - php /var/www/html/artisan migrate --force -# set file permissions permissions +# set permissions chown -R abc:abc \ /config \ /var/www/