Compare commits

...

29 Commits

Author SHA1 Message Date
Sam
63aff31222 2.5.2.1 2016-05-19 12:04:33 +02:00
Sam
af26a7e26c Merge branch 'master' of github.com:invoiceninja/dockerfiles 2016-05-11 11:01:09 +03:00
Sam
16c6e0b80b invoice 2.5.2 2016-05-11 11:00:29 +03:00
Samuel Laulhau
4da0796c49 copy and preserve permission 2016-04-20 17:04:43 +03:00
Samuel Laulhau
28ff00d785 cp default shared files instead or move
fix #5
2016-04-20 16:15:57 +03:00
Samuel Laulhau
0ca7f61b17 Merge pull request #4 from yinshanyang/master
set owner of `app/bootstrap/cache` to `www-data` after `composer install`
2016-04-20 15:55:00 +03:00
Yin Shanyang
d0f7f6e2f8 set owner of app/bootstrap/cache to www-data after composer install 2016-04-20 11:37:46 +02:00
Sam
35067a0fd8 v 2.5.1.3 2016-04-10 10:38:56 +03:00
Sam
0cd0c4a682 tag 2.5.1.2 2016-04-01 11:53:17 +03:00
Sam
157dbf5bfc add maintainer mail 2016-03-22 23:54:19 +02:00
Sam
6d227da89c update readme 2016-03-22 23:40:55 +02:00
Sam
e90c73f836 v2.5.1.1 2016-03-22 23:21:44 +02:00
Sam
591707f27f invoice 2.4.8 2015-12-24 14:32:42 +01:00
Sam
daec9ecf7b add gd 2015-12-01 16:50:38 +01:00
Sam
faa178a6ad typo 2015-12-01 16:24:29 +01:00
Sam
d93b57181f fix entrypoint 2015-12-01 16:14:11 +01:00
Sam
8bbe0d578b invoice repository 2015-12-01 15:02:02 +01:00
Sam
8a223957b4 invoice ninja 2.4.7 2015-12-01 14:52:32 +01:00
Sam
701d9602c6 regen shared paths fix #1 2015-11-29 20:16:49 +01:00
Sam
76b67d50e0 update README 2015-11-16 11:08:52 +01:00
Hillel Coren
af82d26aed Initial commit 2015-11-16 11:57:21 +02:00
Sam
755af2704f invoice 2.4.6 2015-11-15 22:21:52 +01:00
Sam
8be256b789 invoice 2.4.4 2015-11-15 18:08:41 +01:00
Sam
3424f257f5 clean environnement variables 2015-11-14 23:06:59 +01:00
Samuel Laulhau
533905e678 Merge pull request #1 from pierreozoux/master
polish Dockerfile
2015-11-05 22:44:34 +01:00
pierreozoux
c6bca0dba5 Not necessary 2015-11-05 17:38:32 +00:00
pierreozoux
bd5168562f removes temp files 2015-11-05 17:38:21 +00:00
Samuel Laulhau
912692b267 wrong namespace for the image 2015-11-04 20:30:48 +01:00
Samuel Laulhau
2405269fdc add some info on how to run it 2015-11-04 20:24:22 +01:00
5 changed files with 96 additions and 53 deletions

View File

@@ -1,11 +1,19 @@
FROM php:fpm
MAINTAINER Samuel Laulhau <sam@lalop.co>
#####
# SYSTEM REQUIREMENT
#####
RUN apt-get update \
&& apt-get install -y libmcrypt-dev zlib1g-dev git\
&& docker-php-ext-install iconv mcrypt mbstring pdo pdo_mysql zip
&& apt-get install -y --no-install-recommends \
libmcrypt-dev zlib1g-dev git libgmp-dev \
libfreetype6-dev libjpeg62-turbo-dev libpng12-dev \
&& 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 mcrypt mbstring pdo pdo_mysql zip gd gmp \
&& rm -rf /var/lib/apt/lists/*
#####
# INSTALL COMPOSER
@@ -14,40 +22,41 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local
#####
# DOWNLOAD AND INSTALL INVOICE NONJA
# DOWNLOAD AND INSTALL INVOICE NINJA
#####
WORKDIR /var/www/
ENV INVOICENINJA_VERSION 2.4.3
#ENV INVOICENINJA_SHA1 3e9b63c1681b6923dc1a24399411c1abde6ef5ea
ENV INVOICENINJA_VERSION 2.5.2.1
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
&& tar -xzf invoiceninja.tar.gz -C /var/www/ \
&& rm invoiceninja.tar.gz \
&& mv /var/www/invoiceninja-${INVOICENINJA_VERSION} /var/www/app \
&& chown -R www-data:www-data /var/www/app \
&& composer install --working-dir /var/www/app -o --no-dev --no-interaction --no-progress \
&& chown -R www-data:www-data /var/www/app/bootstrap/cache \
&& mv /var/www/app/storage /var/www/app/docker-backup-storage \
&& mv /var/www/app/public/logo /var/www/app/docker-backup-public-logo
######
# DEFAULT ENV
######
ENV DB_HOST mysql
ENV DB_DATABASE ninja
ENV APP_KEY SomeRandomString
ENV LOG errorlog
ENV APP_DEBUG 0
ENV APP_DEBUG 1
#use to be mounted into nginx for exemple
VOLUME /var/www/html
VOLUME /var/www/app/public
VOLUME /var/www/app/storage
VOLUME /var/www/app/public/logo
WORKDIR /var/www/app
EXPOSE 80
COPY app-entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -1 +1,29 @@
DockerFile for invoice ninja (https://www.invoiceninja.com/)
This image is based on `php:7` official version.
The easiest way to try this image is via docker compose :
```
db:
image: mysql
environment:
MYSQL_DATABASE: ninja
MYSQL_ROOT_PASSWORD: mdp
app:
image: invoiceninja/invoiceninja
links:
- db:mysql
web:
image: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
links:
- app
volumes_from:
- app
ports:
- 80
```

39
app-entrypoint.sh Normal file
View File

@@ -0,0 +1,39 @@
#!/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
if [ ! -d /var/www/app/storage ]; then
cp -Rp /var/www/app/docker-backup-storage /var/www/app/storage
else
IN_STORAGE_BACKUP="$(ls /var/www/app/docker-backup-storage/)"
for path in $IN_STORAGE_BACKUP; do
if [ ! -e "/var/www/app/storage/$path" ]; then
cp -Rp "/var/www/app/docker-backup-storage/$path" "/var/www/app/storage/"
fi
done
fi
if [ ! -d /var/www/app/public/logo ]; then
cp -Rp /var/www/app/docker-backup-public-logo /var/www/app/public/logo
else
IN_LOGO_BACKUP="$(ls /var/www/app/docker-backup-public-logo/)"
for path in $IN_LOGO_BACKUP; do
if [ ! -e "/var/www/app/public/logo/$path" ]; then
cp -Rp "/var/www/app/docker-backup-public-logo/$path" "/var/www/app/public/logo/"
fi
done
fi
chown www-data .env
exec "$@"

View File

@@ -1,33 +0,0 @@
db:
image: mysql
environment:
MYSQL_DATABASE: ninja
MYSQL_USER: user
MYSQL_PASSWORD: pass
MYSQL_ROOT_PASSWORD: mdp
app:
image: invoice-ninja
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
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
links:
- app
volumes_from:
- app
ports:
- 80

View File

@@ -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;