1
- # ignore: true
2
1
# documentation: https://invoiceninja.github.io/selfhost.html
3
2
# slogan: The leading open-source invoicing platform
4
3
# tags: invoicing, billing, accounting, finance, self-hosted
@@ -11,18 +10,20 @@ services:
11
10
- SERVICE_FQDN_INVOICENINJA
12
11
- APP_ENV=${APP_ENV:-production}
13
12
- APP_URL=${SERVICE_FQDN_INVOICENINJA}
14
- - APP_KEY=${SERVICE_REALBASE64_INVOICENINJA}
13
+ - APP_KEY=base64: ${SERVICE_REALBASE64_INVOICENINJA}
15
14
- APP_DEBUG=${APP_DEBUG:-false}
16
15
- REQUIRE_HTTPS=${REQUIRE_HTTPS:-false}
17
16
- PHANTOMJS_PDF_GENERATION=${PHANTOMJS_PDF_GENERATION:-false}
18
17
- PDF_GENERATOR=${PDF_GENERATOR:-snappdf}
19
18
- TRUSTED_PROXIES=${TRUSTED_PROXIES:-*}
20
19
- QUEUE_CONNECTION=${QUEUE_CONNECTION:-database}
20
+ -
IN_USER_EMAIL=${IN_USER_EMAIL:[email protected] }
21
+ - IN_PASSWORD=${SERVICE_PASSWORD_INVOICENINJAUSER}
21
22
- DB_HOST=${DB_HOST:-mariadb}
22
23
- DB_PORT=${DB_PORT:-3306}
23
24
- DB_DATABASE=${DB_DATABASE:-invoiceninja}
24
- - DB_USERNAME=$SERVICE_USER_INVOICENINJA
25
- - DB_PASSWORD=$SERVICE_PASSWORD_INVOICENINJA
25
+ - DB_USERNAME=$SERVICE_USER_MARIADB
26
+ - DB_PASSWORD=$SERVICE_PASSWORD_MARIADB
26
27
healthcheck :
27
28
test : ['CMD', 'echo', 'ok']
28
29
interval : 5s
@@ -31,6 +32,52 @@ services:
31
32
volumes :
32
33
- invoice-ninja-public:/var/www/app/public
33
34
- invoice-ninja-storage:/var/www/app/storage
35
+ - type : bind
36
+ source : ./supervisord.conf
37
+ target : /etc/supervisord.conf
38
+ content : |
39
+ [supervisord]
40
+ nodaemon=true
41
+ pidfile=/tmp/supervisord.pid
42
+ logfile=/dev/null ; nodaemon will cause logs to go to stdout
43
+ logfile_maxbytes=0
44
+ loglevel=info
45
+
46
+ [program:php-fpm]
47
+ redirect_stderr=true
48
+ stdout_logfile=/dev/stdout
49
+ stdout_logfile_maxbytes=0
50
+ stderr_logfile=/dev/stderr
51
+ stderr_logfile_maxbytes=0
52
+ command=php artisan serve --host 0.0.0.0 --port 9000
53
+
54
+ [program:scheduler]
55
+ autorestart=true
56
+ redirect_stderr=true
57
+ stdout_logfile=/dev/stdout
58
+ stdout_logfile_maxbytes=0
59
+ stderr_logfile=/dev/stderr
60
+ stderr_logfile_maxbytes=0
61
+ command=php artisan schedule:work
62
+
63
+ [program:queue-worker]
64
+ process_name=%(program_name)s_%(process_num)02d
65
+ autorestart=true
66
+ redirect_stderr=true
67
+ stdout_logfile=/dev/stdout
68
+ stdout_logfile_maxbytes=0
69
+ stderr_logfile=/dev/stderr
70
+ stderr_logfile_maxbytes=0
71
+ numprocs=2
72
+ command=php artisan queue:work --sleep=3 --tries=1 --memory=256 --timeout=3600
73
+
74
+ [eventlistener:shutdown]
75
+ command=shutdown.sh
76
+ events=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL
77
+ stdout_logfile=/dev/stdout
78
+ stdout_logfile_maxbytes=0
79
+ stderr_logfile=/dev/stderr
80
+ stderr_logfile_maxbytes=0
34
81
- type : bind
35
82
source : ./php.ini
36
83
target : /usr/local/etc/php/php.ini
@@ -52,7 +99,6 @@ services:
52
99
; opcache.jit=1205
53
100
; opcache.memory_consumption=1024M
54
101
55
-
56
102
post_max_size = 60M
57
103
upload_max_filesize = 50M
58
104
memory_limit=512M
@@ -86,10 +132,10 @@ services:
86
132
volumes :
87
133
- mariadb-data:/var/lib/mysql
88
134
environment :
89
- - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT
135
+ - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_MARIADBROOT
90
136
- MYSQL_DATABASE=${DB_DATABASE:-invoiceninja}
91
- - MYSQL_USER=$SERVICE_USER_INVOICENINJA
92
- - MYSQL_PASSWORD=$SERVICE_PASSWORD_INVOICENINJA
137
+ - MYSQL_USER=$SERVICE_USER_MARIADB
138
+ - MYSQL_PASSWORD=$SERVICE_PASSWORD_MARIADB
93
139
healthcheck :
94
140
test : ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
95
141
interval : 5s
0 commit comments