mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2025-12-31 19:47:25 +01:00
last invoice version
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
data
|
||||||
53
Dockerfile
53
Dockerfile
@@ -1,58 +1,33 @@
|
|||||||
FROM php:fpm
|
FROM php:fpm
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
####
|
&& apt-get install -y libmcrypt-dev zlib1g-dev git\
|
||||||
# composer
|
&& docker-php-ext-install iconv mcrypt mbstring pdo pdo_mysql zip
|
||||||
####
|
|
||||||
# Packages
|
|
||||||
RUN apt-get update && \
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libjpeg62-turbo-dev \
|
|
||||||
libmcrypt-dev \
|
|
||||||
libpng12-dev \
|
|
||||||
libbz2-dev \
|
|
||||||
php-pear \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
&& rm -r /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# PHP Extensions
|
|
||||||
RUN docker-php-ext-install mcrypt zip bz2 mbstring \
|
|
||||||
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
|
||||||
&& docker-php-ext-install gd
|
|
||||||
|
|
||||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||||
####
|
|
||||||
# /composer
|
|
||||||
####
|
|
||||||
|
|
||||||
|
ENV INVOICENINJA_VERSION 2.4.3
|
||||||
|
#ENV INVOICENINJA_SHA1 3e9b63c1681b6923dc1a24399411c1abde6ef5ea
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
ENV DB_HOST mysql
|
||||||
libmcrypt-dev\
|
ENV LOG errorlog
|
||||||
&& docker-php-ext-install iconv mcrypt \
|
ENV APP_DEBUG 0
|
||||||
&& docker-php-ext-install mbstring \
|
|
||||||
&& docker-php-ext-install mysqli \
|
|
||||||
&& docker-php-ext-install pdo pdo_mysql
|
|
||||||
|
|
||||||
ENV INVOICENINJA_VERSION 2.4.0
|
|
||||||
ENV INVOICENINJA_SHA1 3e9b63c1681b6923dc1a24399411c1abde6ef5ea
|
|
||||||
|
|
||||||
WORKDIR /var/www/
|
WORKDIR /var/www/
|
||||||
|
|
||||||
RUN curl -o invoiceninja.tar.gz -SL https://github.com/hillelcoren/invoice-ninja/archive/v${INVOICENINJA_VERSION}.tar.gz \
|
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 - \
|
# && echo "$INVOICENINJA_SHA1 *invoiceninja.tar.gz" | sha1sum -c - \
|
||||||
&& tar -xzf invoiceninja.tar.gz \
|
&& tar -xzf invoiceninja.tar.gz \
|
||||||
|
&& mv invoice-ninja-${INVOICENINJA_VERSION} app \
|
||||||
&& rm -rf html \
|
&& rm -rf html \
|
||||||
&& ln -s invoice-ninja-${INVOICENINJA_VERSION}/public html \
|
&& ln -s app/public html \
|
||||||
&& rm invoiceninja.tar.gz \
|
&& rm invoiceninja.tar.gz \
|
||||||
&& chown -R www-data:www-data /var/www/ \
|
# && chown -R www-data:www-data /var/www/ \
|
||||||
&& composer install --working-dir invoice-ninja-${INVOICENINJA_VERSION} -o
|
&& composer install --working-dir app -o
|
||||||
|
|
||||||
VOLUME /var/www/html
|
VOLUME /var/www/html
|
||||||
|
|
||||||
|
VOLUME /var/www/app/storage
|
||||||
COPY app.php invoice-ninja-${INVOICENINJA_VERSION}/config/app.php
|
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
||||||
|
|||||||
246
app.php
246
app.php
@@ -1,246 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
use App\Libraries\Utils;
|
|
||||||
|
|
||||||
return [
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Application Debug Mode
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| When your application is in debug mode, detailed error messages with
|
|
||||||
| stack traces will be shown on every error that occurs within your
|
|
||||||
| application. If disabled, a simple generic error page is shown.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'debug' => env('APP_DEBUG', ''),
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Application URL
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This URL is used by the console to properly generate URLs when using
|
|
||||||
| the Artisan command line tool. You should set this to the root of
|
|
||||||
| your application so that it is used when running Artisan tasks.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'url' => env('APP_URL', ''),
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Application Timezone
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| Here you may specify the default timezone for your application, which
|
|
||||||
| will be used by the PHP date and date-time functions. We have gone
|
|
||||||
| ahead and set this to a sensible default for you out of the box.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'timezone' => env('APP_TIMEZONE', 'UTC'),
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Application Locale Configuration
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| The application locale determines the default locale that will be used
|
|
||||||
| by the translation service provider. You are free to set this value
|
|
||||||
| to any of the locales which will be supported by the application.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'locale' => env('APP_LOCALE', 'en'),
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Application Fallback Locale
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| The fallback locale determines the locale to use when the current one
|
|
||||||
| is not available. You may change the value to correspond to any of
|
|
||||||
| the language folders that are provided through your application.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'fallback_locale' => 'en',
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Encryption Key
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This key is used by the Illuminate encrypter service and should be set
|
|
||||||
| to a random, 32 character string, otherwise these encrypted strings
|
|
||||||
| will not be safe. Please do this before deploying an application!
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'key' => env('APP_KEY', ''),
|
|
||||||
|
|
||||||
'cipher' => env('APP_CIPHER', MCRYPT_RIJNDAEL_128),
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Logging Configuration
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| Here you may configure the log settings for your application. Out of
|
|
||||||
| the box, Laravel uses the Monolog PHP logging library. This gives
|
|
||||||
| you a variety of powerful log handlers / formatters to utilize.
|
|
||||||
|
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'log' => 'errorlog',
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Autoloaded Service Providers
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| The service providers listed here will be automatically loaded on the
|
|
||||||
| request to your application. Feel free to add your own services to
|
|
||||||
| this array to grant expanded functionality to your applications.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'providers' => [
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Laravel Framework Service Providers...
|
|
||||||
*/
|
|
||||||
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
|
|
||||||
'Illuminate\Auth\AuthServiceProvider',
|
|
||||||
'Illuminate\Bus\BusServiceProvider',
|
|
||||||
'Illuminate\Cache\CacheServiceProvider',
|
|
||||||
'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
|
|
||||||
'Illuminate\Routing\ControllerServiceProvider',
|
|
||||||
'Illuminate\Cookie\CookieServiceProvider',
|
|
||||||
'Illuminate\Database\DatabaseServiceProvider',
|
|
||||||
'Illuminate\Encryption\EncryptionServiceProvider',
|
|
||||||
'Illuminate\Filesystem\FilesystemServiceProvider',
|
|
||||||
'Illuminate\Foundation\Providers\FoundationServiceProvider',
|
|
||||||
'Illuminate\Hashing\HashServiceProvider',
|
|
||||||
(isset($_ENV['POSTMARK_API_TOKEN']) ? 'Postmark\Adapters\LaravelMailProvider' : 'Illuminate\Mail\MailServiceProvider'),
|
|
||||||
'Illuminate\Pagination\PaginationServiceProvider',
|
|
||||||
'Illuminate\Pipeline\PipelineServiceProvider',
|
|
||||||
'Illuminate\Queue\QueueServiceProvider',
|
|
||||||
'Illuminate\Redis\RedisServiceProvider',
|
|
||||||
'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
|
|
||||||
'Illuminate\Session\SessionServiceProvider',
|
|
||||||
'Illuminate\Translation\TranslationServiceProvider',
|
|
||||||
'Illuminate\Validation\ValidationServiceProvider',
|
|
||||||
'Illuminate\View\ViewServiceProvider',
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Additional Providers
|
|
||||||
*/
|
|
||||||
'Bootstrapper\BootstrapperL5ServiceProvider',
|
|
||||||
'Former\FormerServiceProvider',
|
|
||||||
'Barryvdh\Debugbar\ServiceProvider',
|
|
||||||
'Chumper\Datatable\DatatableServiceProvider',
|
|
||||||
'Intervention\Image\ImageServiceProvider',
|
|
||||||
'Webpatser\Countries\CountriesServiceProvider',
|
|
||||||
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
|
|
||||||
'Illuminate\Html\HtmlServiceProvider',
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Application Service Providers...
|
|
||||||
*/
|
|
||||||
'App\Providers\AppServiceProvider',
|
|
||||||
'App\Providers\BusServiceProvider',
|
|
||||||
'App\Providers\ConfigServiceProvider',
|
|
||||||
'App\Providers\EventServiceProvider',
|
|
||||||
'App\Providers\RouteServiceProvider',
|
|
||||||
],
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Class Aliases
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This array of class aliases will be registered when this application
|
|
||||||
| is started. However, feel free to register as many as you wish as
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'aliases' => [
|
|
||||||
|
|
||||||
'App' => 'Illuminate\Support\Facades\App',
|
|
||||||
'Artisan' => 'Illuminate\Support\Facades\Artisan',
|
|
||||||
'Auth' => 'Illuminate\Support\Facades\Auth',
|
|
||||||
'Blade' => 'Illuminate\Support\Facades\Blade',
|
|
||||||
'Cache' => 'Illuminate\Support\Facades\Cache',
|
|
||||||
'ClassLoader' => 'Illuminate\Support\ClassLoader',
|
|
||||||
'Config' => 'Illuminate\Support\Facades\Config',
|
|
||||||
'Controller' => 'Illuminate\Routing\Controller',
|
|
||||||
'Cookie' => 'Illuminate\Support\Facades\Cookie',
|
|
||||||
'Crypt' => 'Illuminate\Support\Facades\Crypt',
|
|
||||||
'host' => 'Illuminate\Support\Facades\DB',
|
|
||||||
'Eloquent' => 'Illuminate\Database\Eloquent\Model',
|
|
||||||
'Event' => 'Illuminate\Support\Facades\Event',
|
|
||||||
'File' => 'Illuminate\Support\Facades\File',
|
|
||||||
'Hash' => 'Illuminate\Support\Facades\Hash',
|
|
||||||
'Input' => 'Illuminate\Support\Facades\Input',
|
|
||||||
'Lang' => 'Illuminate\Support\Facades\Lang',
|
|
||||||
'Log' => 'Illuminate\Support\Facades\Log',
|
|
||||||
'Mail' => 'Illuminate\Support\Facades\Mail',
|
|
||||||
'Password' => 'Illuminate\Support\Facades\Password',
|
|
||||||
'Queue' => 'Illuminate\Support\Facades\Queue',
|
|
||||||
'Redirect' => 'Illuminate\Support\Facades\Redirect',
|
|
||||||
'Redis' => 'Illuminate\Support\Facades\Redis',
|
|
||||||
'Request' => 'Illuminate\Support\Facades\Request',
|
|
||||||
'Response' => 'Illuminate\Support\Facades\Response',
|
|
||||||
'Route' => 'Illuminate\Support\Facades\Route',
|
|
||||||
'Schema' => 'Illuminate\Support\Facades\Schema',
|
|
||||||
'Seeder' => 'Illuminate\Database\Seeder',
|
|
||||||
'Session' => 'Illuminate\Support\Facades\Session',
|
|
||||||
'Str' => 'Illuminate\Support\Str',
|
|
||||||
'URL' => 'Illuminate\Support\Facades\URL',
|
|
||||||
'Validator' => 'Illuminate\Support\Facades\Validator',
|
|
||||||
'View' => 'Illuminate\Support\Facades\View',
|
|
||||||
|
|
||||||
|
|
||||||
// Added Class Aliases
|
|
||||||
'Utils' => 'App\Libraries\Utils',
|
|
||||||
'Form' => 'Collective\Html\FormFacade',
|
|
||||||
'HTML' => 'Collective\Html\HtmlFacade',
|
|
||||||
'SSH' => 'Illuminate\Support\Facades\SSH',
|
|
||||||
'Alert' => 'Bootstrapper\Facades\Alert',
|
|
||||||
'Badge' => 'Bootstrapper\Facades\Badge',
|
|
||||||
'Breadcrumb' => 'Bootstrapper\Facades\Breadcrumb',
|
|
||||||
'Button' => 'Bootstrapper\Facades\Button',
|
|
||||||
'ButtonGroup' => 'Bootstrapper\Facades\ButtonGroup',
|
|
||||||
'ButtonToolbar' => 'Bootstrapper\Facades\ButtonToolbar',
|
|
||||||
'Carousel' => 'Bootstrapper\Facades\Carousel',
|
|
||||||
'DropdownButton' => 'Bootstrapper\Facades\DropdownButton',
|
|
||||||
'Helpers' => 'Bootstrapper\Facades\Helpers',
|
|
||||||
'Icon' => 'Bootstrapper\Facades\Icon',
|
|
||||||
'Label' => 'Bootstrapper\Facades\Label',
|
|
||||||
'MediaObject' => 'Bootstrapper\Facades\MediaObject',
|
|
||||||
'Navbar' => 'Bootstrapper\Facades\Navbar',
|
|
||||||
'Navigation' => 'Bootstrapper\Facades\Navigation',
|
|
||||||
'Paginator' => 'Bootstrapper\Facades\Paginator',
|
|
||||||
'Progress' => 'Bootstrapper\Facades\Progress',
|
|
||||||
'Tabbable' => 'Bootstrapper\Facades\Tabbable',
|
|
||||||
'Table' => 'Bootstrapper\Facades\Table',
|
|
||||||
'Thumbnail' => 'Bootstrapper\Facades\Thumbnail',
|
|
||||||
'Typeahead' => 'Bootstrapper\Facades\Typeahead',
|
|
||||||
'Typography' => 'Bootstrapper\Facades\Typography',
|
|
||||||
'Former' => 'Former\Facades\Former',
|
|
||||||
'Datatable' => 'Chumper\Datatable\Facades\DatatableFacade',
|
|
||||||
'Omnipay' => 'Omnipay\Omnipay',
|
|
||||||
'CreditCard' => 'Omnipay\Common\CreditCard',
|
|
||||||
'Image' => 'Intervention\Image\Facades\Image',
|
|
||||||
'Countries' => 'Webpatser\Countries\CountriesFacade',
|
|
||||||
'Carbon' => 'Carbon\Carbon',
|
|
||||||
'Rocketeer' => 'Rocketeer\Facades\Rocketeer',
|
|
||||||
|
|
||||||
],
|
|
||||||
|
|
||||||
];
|
|
||||||
@@ -14,11 +14,9 @@ app:
|
|||||||
- APP_DEBUG=true
|
- APP_DEBUG=true
|
||||||
- APP_KEY=invoicekeyinvoicekeyinvoicekey12
|
- APP_KEY=invoicekeyinvoicekeyinvoicekey12
|
||||||
- DB_USERNAME=user
|
- DB_USERNAME=user
|
||||||
- DB_PASSWORD=mdp
|
- DB_PASSWORD=pass
|
||||||
- DB_HOST=$MYSQL_PORT
|
|
||||||
- DB_DATABASE=ninja
|
- DB_DATABASE=ninja
|
||||||
volumes:
|
- DB_HOST=mysql
|
||||||
- ./data/invoice:/var/www/html/logo
|
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: nginx
|
image: nginx
|
||||||
|
|||||||
Reference in New Issue
Block a user