mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2026-01-01 20:17:26 +01:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
696d3b356a | ||
|
|
0ef00831f6 | ||
|
|
6ba1f11221 | ||
|
|
933748e15b | ||
|
|
03180fc65e | ||
|
|
e0fcb50ecb | ||
|
|
5c418c474e | ||
|
|
5e59ec10e3 | ||
|
|
6b0182e712 | ||
|
|
961282a90e | ||
|
|
3a17d81cab |
39
Dockerfile
39
Dockerfile
@@ -1,22 +1,37 @@
|
||||
FROM php:7.2-fpm
|
||||
ARG PHP_IMAGE_TAG=7.2-fpm-stretch
|
||||
FROM php:${PHP_IMAGE_TAG}
|
||||
|
||||
MAINTAINER Samuel Laulhau <sam@lalop.co>
|
||||
LABEL maintainer="Samuel Laulhau <sam@lalop.co>"
|
||||
|
||||
#####
|
||||
# SYSTEM REQUIREMENT
|
||||
#####
|
||||
ENV PHANTOMJS phantomjs-2.1.1-linux-x86_64
|
||||
ENV BUILD_DEPS \
|
||||
zlib1g-dev \
|
||||
git \
|
||||
libgmp-dev \
|
||||
unzip \
|
||||
libfreetype6-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libpng-dev \
|
||||
build-essential \
|
||||
chrpath \
|
||||
libssl-dev \
|
||||
libxft-dev \
|
||||
libfreetype6 \
|
||||
libfontconfig1 \
|
||||
libfontconfig1-dev
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
zlib1g-dev git libgmp-dev unzip \
|
||||
libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
|
||||
build-essential chrpath libssl-dev libxft-dev \
|
||||
libfreetype6 libfontconfig1 libfontconfig1-dev \
|
||||
&& apt-get install -y --no-install-recommends $BUILD_DEPS \
|
||||
&& ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/local/include/ \
|
||||
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||
&& docker-php-ext-configure gmp \
|
||||
&& docker-php-ext-install iconv mbstring pdo pdo_mysql zip gd gmp opcache \
|
||||
&& curl -o ${PHANTOMJS}.tar.bz2 -SL https://bitbucket.org/ariya/phantomjs/downloads/${PHANTOMJS}.tar.bz2 \
|
||||
&& docker-php-ext-install iconv mbstring pdo pdo_mysql zip gd gmp opcache
|
||||
|
||||
ENV PHANTOMJS phantomjs-2.1.1-linux-x86_64
|
||||
# Install PHANTOMJS
|
||||
RUN curl -o ${PHANTOMJS}.tar.bz2 -SL https://bitbucket.org/ariya/phantomjs/downloads/${PHANTOMJS}.tar.bz2 \
|
||||
&& tar xvjf ${PHANTOMJS}.tar.bz2 \
|
||||
&& rm ${PHANTOMJS}.tar.bz2 \
|
||||
&& mv ${PHANTOMJS} /usr/local/share \
|
||||
@@ -38,10 +53,10 @@ RUN { \
|
||||
# DOWNLOAD AND INSTALL INVOICE NINJA
|
||||
#####
|
||||
|
||||
ENV INVOICENINJA_VERSION 4.5.8
|
||||
ENV INVOICENINJA_VERSION 4.5.14
|
||||
|
||||
RUN curl -o ninja.zip -SL https://download.invoiceninja.com/ninja-v${INVOICENINJA_VERSION}.zip \
|
||||
&& unzip ninja.zip -d /var/www/ \
|
||||
&& unzip -q ninja.zip -d /var/www/ \
|
||||
&& rm ninja.zip \
|
||||
&& mv /var/www/ninja /var/www/app \
|
||||
&& mv /var/www/app/storage /var/www/app/docker-backup-storage \
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
FROM php:7.2-fpm-alpine
|
||||
ARG PHP_IMAGE_TAG=7.2-fpm-alpine
|
||||
FROM php:${PHP_IMAGE_TAG}
|
||||
|
||||
MAINTAINER Samuel Laulhau <sam@lalop.co>
|
||||
LABEL maintainer="Samuel Laulhau <sam@lalop.co>"
|
||||
|
||||
#####
|
||||
# SYSTEM REQUIREMENT
|
||||
@@ -35,7 +36,7 @@ RUN { \
|
||||
# DOWNLOAD AND INSTALL INVOICE NINJA
|
||||
#####
|
||||
|
||||
ENV INVOICENINJA_VERSION 4.5.8
|
||||
ENV INVOICENINJA_VERSION 4.5.14
|
||||
|
||||
RUN curl -o ninja.zip -SL https://download.invoiceninja.com/ninja-v${INVOICENINJA_VERSION}.zip \
|
||||
&& unzip ninja.zip -d /var/www/ \
|
||||
|
||||
@@ -7,7 +7,7 @@ APP_KEY=SomeRandomStringSomeRandomString
|
||||
APP_CIPHER=AES-256-CBC
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=pwd
|
||||
DB_HOST=mysql
|
||||
DB_HOST=db
|
||||
DB_DATABASE=ninja
|
||||
MAIL_HOST=mail.service.host
|
||||
MAIL_USERNAME=username
|
||||
|
||||
@@ -1,4 +1,15 @@
|
||||
version: "2"
|
||||
version: '3.6'
|
||||
|
||||
volumes:
|
||||
db:
|
||||
storage:
|
||||
logo:
|
||||
public:
|
||||
|
||||
# uncomment if you want to use external network (example network: "web")
|
||||
#networks:
|
||||
# web:
|
||||
# external: true
|
||||
|
||||
services:
|
||||
db:
|
||||
@@ -6,36 +17,45 @@ services:
|
||||
env_file: .env
|
||||
restart: always
|
||||
volumes:
|
||||
- data-volume:/var/lib/mysql
|
||||
- db:/var/lib/mysql
|
||||
networks:
|
||||
- default
|
||||
|
||||
app:
|
||||
image: invoiceninja/invoiceninja
|
||||
links:
|
||||
- db:mysql
|
||||
env_file: .env
|
||||
restart: always
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ./srv/invoiceninja/storage:/var/www/app/storage:rw
|
||||
- ./srv/invoiceninja/logo:/var/www/app/public/logo:rw
|
||||
- storage:/var/www/app/storage
|
||||
- logo:/var/www/app/public/logo
|
||||
- public:/var/www/app/public
|
||||
networks:
|
||||
- default
|
||||
|
||||
web:
|
||||
image: nginx:1
|
||||
volumes:
|
||||
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
links:
|
||||
- app
|
||||
volumes_from:
|
||||
- app
|
||||
ports:
|
||||
- storage:/var/www/app/storage
|
||||
- logo:/var/www/app/public/logo
|
||||
- public:/var/www/app/public
|
||||
expose: # Expose ports without publishing them to the host machine - they’ll only be accessible to linked services.
|
||||
- "80"
|
||||
ports: # Delete if you want to use reverse proxy
|
||||
- 8000:80
|
||||
networks:
|
||||
# - web # uncomment if you want to use external network (reverse proxy for example)
|
||||
- default
|
||||
|
||||
cron:
|
||||
image: invoiceninja/invoiceninja
|
||||
links:
|
||||
- db:mysql
|
||||
env_file: .env
|
||||
volumes_from:
|
||||
- app
|
||||
volumes:
|
||||
- storage:/var/www/app/storage
|
||||
- logo:/var/www/app/public/logo
|
||||
- public:/var/www/app/public
|
||||
entrypoint: |
|
||||
bash -c 'bash -s <<EOF
|
||||
trap "break;exit" SIGHUP SIGINT SIGTERM
|
||||
@@ -46,7 +66,5 @@ services:
|
||||
sleep 1d
|
||||
done
|
||||
EOF'
|
||||
|
||||
volumes:
|
||||
data-volume:
|
||||
|
||||
networks:
|
||||
- default
|
||||
Reference in New Issue
Block a user