docker-compose for production

This commit is contained in:
Sam
2018-01-14 22:44:20 +01:00
parent 16f77b069e
commit 13487557e6
5 changed files with 58 additions and 49 deletions

View File

@@ -0,0 +1,16 @@
MYSQL_DATABASE=ninja
MYSQL_ROOT_PASSWORD=pwd
APP_DEBUG=0
APP_URL=http://localhost:8000
APP_KEY=SomeRandomStringSomeRandomString
APP_CIPHER=AES-256-CBC
DB_USERNAME=root
DB_PASSWORD=pwd
DB_HOST=mysql
MAIL_HOST=mail.service.host
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_DRIVER=smtp
MAIL_FROM_NAME="My name"
MAIL_FROM_ADDRESS=user@mail.com

View File

@@ -0,0 +1,49 @@
version: "2"
services:
db:
image: mysql
env_file: .env
restart: always
volumes:
- ./srv/invoiceninja/mysql:/var/lib/mysql
app:
image: invoiceninja/invoiceninja
links:
- db:mysql
env_file: .env
restart: always
volumes:
- ./srv/invoiceninja/storage:/var/www/app/storage:rw
- ./srv/invoiceninja/logo:/var/www/app/public/logo:rw
web:
image: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
links:
- app
volumes_from:
- app
ports:
- 8000:80
cron:
image: invoiceninja/invoiceninja
links:
- db:mysql
env_file: .env
volumes_from:
- app
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
sleep 300s
while /bin/true; do
./artisan ninja:send-invoices
./artisan ninja:send-reminders
sleep 1h
done
EOF'

50
docker-compose/nginx.conf Normal file
View File

@@ -0,0 +1,50 @@
user www-data;
events {
worker_connections 768;
}
http {
upstream backend {
server app:9000;
}
include /etc/nginx/mime.types;
default_type application/octet-stream;
gzip on;
gzip_disable "msie6";
server {
listen 80 default;
server_name your_ininja_site;
root /var/www/app/public;
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass backend;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
}