diff --git a/Dockerfile b/Dockerfile index 0a47295..4cb2a58 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,34 +18,37 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local # DOWNLOAD AND INSTALL INVOICE NONJA ##### -WORKDIR /var/www/ - -ENV INVOICENINJA_VERSION 2.4.3 +ENV INVOICENINJA_VERSION 2.4.2 #ENV INVOICENINJA_SHA1 3e9b63c1681b6923dc1a24399411c1abde6ef5ea -RUN curl -o invoiceninja.tar.gz -SL https://github.com/hillelcoren/invoice-ninja/archive/v${INVOICENINJA_VERSION}.tar.gz \ -# && echo "$INVOICENINJA_SHA1 *invoiceninja.tar.gz" | sha1sum -c - \ - && tar -xzf invoiceninja.tar.gz \ - && mv invoice-ninja-${INVOICENINJA_VERSION} app \ - && rm -rf html \ - && ln -s app/public html \ - && rm invoiceninja.tar.gz \ -# && chown -R www-data:www-data /var/www/ \ - && composer install --working-dir app -o +RUN curl -o invoiceninja.tar.gz -SL https://github.com/hillelcoren/invoice-ninja/archive/v${INVOICENINJA_VERSION}.tar.gz +# RUN echo "$INVOICENINJA_SHA1 *invoiceninja.tar.gz" | sha1sum -c - +RUN tar -xzf invoiceninja.tar.gz -C /var/www/ +RUN rm invoiceninja.tar.gz +RUN mv /var/www/invoiceninja-${INVOICENINJA_VERSION} /var/www/app +RUN chown -R www-data:www-data /var/www/app +RUN composer install --working-dir /var/www/app -o --no-dev --no-interaction ###### # DEFAULT ENV ###### ENV DB_HOST mysql +ENV DB_DATABASE ninja ENV APP_KEY SomeRandomString ENV LOG errorlog ENV APP_DEBUG 0 #use to be mounted into nginx for exemple -VOLUME /var/www/html +VOLUME /var/www/app/public + +WORKDIR /var/www/app EXPOSE 80 +COPY app-entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] CMD ["php-fpm"] diff --git a/app-entrypoint.sh b/app-entrypoint.sh new file mode 100644 index 0000000..a346328 --- /dev/null +++ b/app-entrypoint.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -e + + +# if we're linked to MySQL, and we're using the root user, and our linked +# container has a default "root" password set up and passed through... :) +: ${DB_USERNAME:=root} +if [ "$DB_USERNAME" = 'root' ]; then + : ${DB_PASSWORD:=$MYSQL_ENV_MYSQL_ROOT_PASSWORD} +fi + +echo "DB_USERNAME=$DB_USERNAME" >> .env +echo "DB_PASSWORD=$DB_PASSWORD" >> .env + +chown www-data .env + +exec "$@" diff --git a/docker-compose.yml b/docker-compose.yml index 89d9422..0a1c7c1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,24 +2,12 @@ db: image: mysql environment: MYSQL_DATABASE: ninja - MYSQL_USER: user - MYSQL_PASSWORD: pass MYSQL_ROOT_PASSWORD: mdp app: - image: lalop/invoice-ninja + image: lalop/invoice-ninja:2.4.2 links: - db:mysql - environment: - - APP_DEBUG=true - - APP_KEY=invoicekeyinvoicekeyinvoicekey12 - - DB_USERNAME=user - - DB_PASSWORD=pass - - DB_DATABASE=ninja - - DB_HOST=mysql - volumes: - - ./data/storage:/var/www/app/storage:rw - - ./data/logo:/var/www/app/public/logo:rw web: image: nginx diff --git a/nginx.conf b/nginx.conf index 1534403..5cb3ba6 100644 --- a/nginx.conf +++ b/nginx.conf @@ -17,7 +17,7 @@ http { listen 80 default; server_name your_ininja_site; - root /var/www/html; + root /var/www/app/public; index index.php;