mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2024-11-25 09:38:47 +08:00
feat: PHP 增加 supervisor
This commit is contained in:
parent
95069a81d4
commit
89cec863f7
@ -17,6 +17,8 @@ RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar
|
||||
&& chmod +x /usr/bin/composer
|
||||
ENV COMPOSER_HOME=/tmp/composer
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
# php image's www-data user uid & gid are 82, change them to 1000 (primary user)
|
||||
RUN usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php5/5.4.45/supervisor/log/supervisord.log
Normal file
0
apps/php5/5.4.45/supervisor/log/supervisord.log
Normal file
3
apps/php5/5.4.45/supervisor/run.sh
Normal file
3
apps/php5/5.4.45/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php5/5.4.45/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php5/5.4.45/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php5/5.4.45/supervisor/supervisord.conf
Normal file
155
apps/php5/5.4.45/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -16,7 +16,8 @@ WORKDIR /tmp/extensions
|
||||
RUN chmod +x install.sh \
|
||||
&& sh install.sh
|
||||
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
@ -33,7 +34,6 @@ RUN curl -ksS https://getcomposer.org/installer | php -- --install-dir=/usr/bin
|
||||
&& chmod +x /usr/bin/composer \
|
||||
&& rm -rf /tmp/composer-setup.php
|
||||
|
||||
|
||||
# php image's www-data user uid & gid are 82, change them to 1000 (primary user)
|
||||
RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php5/5.5.38/supervisor/log/supervisord.log
Normal file
0
apps/php5/5.5.38/supervisor/log/supervisord.log
Normal file
3
apps/php5/5.5.38/supervisor/run.sh
Normal file
3
apps/php5/5.5.38/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php5/5.5.38/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php5/5.5.38/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php5/5.5.38/supervisor/supervisord.conf
Normal file
155
apps/php5/5.5.38/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -21,6 +21,9 @@ RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/1121
|
||||
RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php5/5.6.40/supervisor/log/supervisord.log
Normal file
0
apps/php5/5.6.40/supervisor/log/supervisord.log
Normal file
3
apps/php5/5.6.40/supervisor/run.sh
Normal file
3
apps/php5/5.6.40/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php5/5.6.40/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php5/5.6.40/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php5/5.6.40/supervisor/supervisord.conf
Normal file
155
apps/php5/5.6.40/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -21,6 +21,9 @@ RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/1121
|
||||
RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3
|
||||
@ -37,4 +40,4 @@ ENV COMPOSER_HOME=/tmp/composer
|
||||
RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
||||
|
||||
WORKDIR /www
|
||||
WORKDIR /www
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php7/7.0.33/supervisor/log/supervisord.log
Normal file
0
apps/php7/7.0.33/supervisor/log/supervisord.log
Normal file
3
apps/php7/7.0.33/supervisor/run.sh
Normal file
3
apps/php7/7.0.33/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php7/7.0.33/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php7/7.0.33/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php7/7.0.33/supervisor/supervisord.conf
Normal file
155
apps/php7/7.0.33/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -21,6 +21,9 @@ RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/1121
|
||||
RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3
|
||||
@ -37,4 +40,4 @@ ENV COMPOSER_HOME=/tmp/composer
|
||||
RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
||||
|
||||
WORKDIR /www
|
||||
WORKDIR /www
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php7/7.1.33/supervisor/log/supervisord.log
Normal file
0
apps/php7/7.1.33/supervisor/log/supervisord.log
Normal file
3
apps/php7/7.1.33/supervisor/run.sh
Normal file
3
apps/php7/7.1.33/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php7/7.1.33/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php7/7.1.33/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php7/7.1.33/supervisor/supervisord.conf
Normal file
155
apps/php7/7.1.33/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -21,6 +21,9 @@ RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/1121
|
||||
RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3
|
||||
@ -37,4 +40,4 @@ ENV COMPOSER_HOME=/tmp/composer
|
||||
RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
||||
|
||||
WORKDIR /www
|
||||
WORKDIR /www
|
||||
|
@ -61,7 +61,7 @@ installExtensionFromTgz()
|
||||
{
|
||||
tgzName=$1
|
||||
result=""
|
||||
extensionName="${tgzName%%-*}"
|
||||
extensionName="${tgzName%%-*}"
|
||||
shift 1
|
||||
result=$@
|
||||
mkdir ${extensionName}
|
||||
@ -609,7 +609,7 @@ if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then
|
||||
echo "---------- Install mongodb ----------"
|
||||
apk add --no-cache openssl-dev
|
||||
installExtensionFromTgz mongodb-1.7.4
|
||||
docker-php-ext-configure mongodb --with-mongodb-ssl=openssl
|
||||
docker-php-ext-configure mongodb --with-mongodb-ssl=openssl
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaf,*}" ]]; then
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php7/7.2.34/supervisor/log/supervisord.log
Normal file
0
apps/php7/7.2.34/supervisor/log/supervisord.log
Normal file
3
apps/php7/7.2.34/supervisor/run.sh
Normal file
3
apps/php7/7.2.34/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php7/7.2.34/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php7/7.2.34/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php7/7.2.34/supervisor/supervisord.conf
Normal file
155
apps/php7/7.2.34/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -21,6 +21,9 @@ RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/1121
|
||||
RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3
|
||||
@ -37,4 +40,4 @@ ENV COMPOSER_HOME=/tmp/composer
|
||||
RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
||||
|
||||
WORKDIR /www
|
||||
WORKDIR /www
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php7/7.3.33/supervisor/log/supervisord.log
Normal file
0
apps/php7/7.3.33/supervisor/log/supervisord.log
Normal file
3
apps/php7/7.3.33/supervisor/run.sh
Normal file
3
apps/php7/7.3.33/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php7/7.3.33/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php7/7.3.33/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php7/7.3.33/supervisor/supervisord.conf
Normal file
155
apps/php7/7.3.33/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -21,6 +21,8 @@ RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/1121
|
||||
RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3
|
||||
@ -37,4 +39,4 @@ ENV COMPOSER_HOME=/tmp/composer
|
||||
RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
||||
|
||||
WORKDIR /www
|
||||
WORKDIR /www
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php7/7.4.33/supervisor/log/supervisord.log
Normal file
0
apps/php7/7.4.33/supervisor/log/supervisord.log
Normal file
3
apps/php7/7.4.33/supervisor/run.sh
Normal file
3
apps/php7/7.4.33/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php7/7.4.33/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php7/7.4.33/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php7/7.4.33/supervisor/supervisord.conf
Normal file
155
apps/php7/7.4.33/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -22,6 +22,8 @@ RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/240
|
||||
RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php8/8.0.30/supervisor/log/supervisord.log
Normal file
0
apps/php8/8.0.30/supervisor/log/supervisord.log
Normal file
3
apps/php8/8.0.30/supervisor/run.sh
Normal file
3
apps/php8/8.0.30/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php8/8.0.30/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php8/8.0.30/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php8/8.0.30/supervisor/supervisord.conf
Normal file
155
apps/php8/8.0.30/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -17,10 +17,13 @@ RUN chmod +x install.sh \
|
||||
&& sh install.sh \
|
||||
&& rm -rf /tmp/extensions
|
||||
|
||||
|
||||
RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/240
|
||||
RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted
|
||||
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php8/8.1.23/supervisor/log/supervisord.log
Normal file
0
apps/php8/8.1.23/supervisor/log/supervisord.log
Normal file
3
apps/php8/8.1.23/supervisor/run.sh
Normal file
3
apps/php8/8.1.23/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php8/8.1.23/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php8/8.1.23/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php8/8.1.23/supervisor/supervisord.conf
Normal file
155
apps/php8/8.1.23/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
@ -5,26 +5,28 @@ ARG TZ
|
||||
ARG PHP_EXTENSIONS
|
||||
ARG CONTAINER_PACKAGE_URL
|
||||
|
||||
|
||||
RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi
|
||||
|
||||
ADD ./extensions/install-php-extensions /usr/local/bin/
|
||||
RUN chmod uga+x /usr/local/bin/install-php-extensions
|
||||
|
||||
RUN apk --no-cache add tzdata
|
||||
|
||||
COPY ./extensions /tmp/extensions
|
||||
WORKDIR /tmp/extensions
|
||||
RUN chmod +x install.sh \
|
||||
&& sh install.sh \
|
||||
&& rm -rf /tmp/extensions \
|
||||
&& rm -rf /tmp/extensions
|
||||
|
||||
RUN apk add tzdata \
|
||||
|
||||
RUN apk --no-cache add tzdata \
|
||||
&& cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
|
||||
&& echo "$TZ" > /etc/timezone
|
||||
|
||||
RUN apk add supervisor \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
# Fix: https://github.com/docker-library/php/issues/240
|
||||
RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted
|
||||
RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted
|
||||
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
|
||||
|
||||
|
||||
@ -37,4 +39,4 @@ ENV COMPOSER_HOME=/tmp/composer
|
||||
RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||
|
||||
|
||||
WORKDIR /www
|
||||
WORKDIR /www
|
@ -13,6 +13,11 @@ services:
|
||||
- ./log:/var/log/php
|
||||
- ./composer:/tmp/composer
|
||||
- ./extensions:/php/extensions
|
||||
- ./supervisor/supervisord.conf:/etc/supervisord.conf
|
||||
- ./supervisor/supervisor.d:/etc/supervisor.d
|
||||
- ./supervisor/log/supervisord.log:/var/log/supervisord.log
|
||||
- ./supervisor/run.sh:/run.sh
|
||||
command: sh /run.sh
|
||||
ports:
|
||||
- 127.0.0.1:${PANEL_APP_PORT_HTTP}:9000
|
||||
labels:
|
||||
|
0
apps/php8/8.2.10/supervisor/log/supervisord.log
Normal file
0
apps/php8/8.2.10/supervisor/log/supervisord.log
Normal file
3
apps/php8/8.2.10/supervisor/run.sh
Normal file
3
apps/php8/8.2.10/supervisor/run.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
supervisord -c /etc/supervisord.conf
|
0
apps/php8/8.2.10/supervisor/supervisor.d/.gitkeep
Normal file
0
apps/php8/8.2.10/supervisor/supervisor.d/.gitkeep
Normal file
155
apps/php8/8.2.10/supervisor/supervisord.conf
Normal file
155
apps/php8/8.2.10/supervisor/supervisord.conf
Normal file
@ -0,0 +1,155 @@
|
||||
; Sample supervisor config file.
|
||||
;
|
||||
; For more information on the config file, please see:
|
||||
; http://supervisord.org/configuration.html
|
||||
;
|
||||
; Notes:
|
||||
; - Shell expansion ("~" or "$HOME") is not supported. Environment
|
||||
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
||||
; - Quotes around values are not supported, except in the case of
|
||||
; the environment= options as shown below.
|
||||
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
|
||||
; - Command will be truncated if it looks like a config file comment, e.g.
|
||||
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ".
|
||||
[unix_http_server]
|
||||
; the path to the socket file
|
||||
file = /run/supervisor.sock
|
||||
|
||||
; chmod=0700 ; socket file mode (default 0700)
|
||||
; chown=nobody:nogroup ; socket file uid:gid owner
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
; inet (TCP) server disabled by default
|
||||
[inet_http_server]
|
||||
; ip_address:port specifier, *:port for all iface
|
||||
port = 127.0.0.1:9002
|
||||
|
||||
; username=user ; default is no username (open server)
|
||||
; password=123 ; default is no password (open server)
|
||||
[supervisord]
|
||||
; main log file; default $CWD/supervisord.log
|
||||
logfile = /var/log/supervisord.log
|
||||
; max main logfile bytes b4 rotation; default 50MB
|
||||
logfile_maxbytes = 50MB
|
||||
; # of main logfile backups; 0 means none, default 11
|
||||
logfile_backups = 10
|
||||
; log level; default info; others: debug,warn,trace
|
||||
loglevel = info
|
||||
; supervisord pidfile; default supervisord.pid
|
||||
pidfile = /run/supervisord.pid
|
||||
; start in foreground if true; default false
|
||||
nodaemon = true
|
||||
; min. avail startup file descriptors; default 1024
|
||||
minfds = 1024
|
||||
; min. avail process descriptors;default 200
|
||||
minprocs = 200
|
||||
; umask=022 ; process file creation umask; default 022
|
||||
; user=supervisord ; setuid to this UNIX account at startup; recommended if root
|
||||
; identifier=supervisor ; supervisord identifier, default is 'supervisor'
|
||||
; directory=/tmp ; default is not to cd during start
|
||||
; nocleanup=true ; don't clean up tempfiles at start; default false
|
||||
; 'AUTO' child log dir, default $TEMP
|
||||
childlogdir = /var/log/supervisor
|
||||
|
||||
; environment=KEY="value" ; key value pairs to add to environment
|
||||
; strip_ansi=false ; strip ansi escape codes in logs; def. false
|
||||
; The rpcinterface:supervisor section must remain in the config file for
|
||||
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
|
||||
; added by defining them in separate [rpcinterface:x] sections.
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; The supervisorctl section configures how supervisorctl will connect to
|
||||
; supervisord. configure it match the settings in either the unix_http_server
|
||||
; or inet_http_server section.
|
||||
[supervisorctl]
|
||||
; use a unix:// URL for a unix socket
|
||||
serverurl = unix:///run/supervisor.sock
|
||||
|
||||
; serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||
; username=chris ; should be same as in [*_http_server] if set
|
||||
; password=123 ; should be same as in [*_http_server] if set
|
||||
; prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||
; history_file=~/.sc_history ; use readline history if available
|
||||
; The sample program section below shows all possible program subsection values.
|
||||
; Create one or more 'real' program: sections to be able to control them under
|
||||
; supervisor.
|
||||
; [program:theprogramname]
|
||||
; command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; when to restart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions (def no adds)
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample eventlistener section below shows all possible eventlistener
|
||||
; subsection values. Create one or more 'real' eventlistener: sections to be
|
||||
; able to handle event notifications sent by supervisord.
|
||||
; [eventlistener:theeventlistenername]
|
||||
; command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||
; process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||
; numprocs=1 ; number of processes copies to start (def 1)
|
||||
; events=EVENT ; event notif. types to subscribe to (req'd)
|
||||
; buffer_size=10 ; event buffer queue size (default 10)
|
||||
; directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||
; umask=022 ; umask for process (default None)
|
||||
; priority=-1 ; the relative start priority (default -1)
|
||||
; autostart=true ; start at supervisord start (default: true)
|
||||
; startsecs=1 ; # of secs prog must stay up to be running (def. 1)
|
||||
; startretries=3 ; max # of serial start failures when starting (default 3)
|
||||
; autorestart=unexpected ; autorestart if exited after running (def: unexpected)
|
||||
; exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
|
||||
; stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||
; stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||
; stopasgroup=false ; send stop signal to the UNIX process group (default false)
|
||||
; killasgroup=false ; SIGKILL the UNIX process group (def false)
|
||||
; user=chrism ; setuid to this UNIX account to run the program
|
||||
; redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners
|
||||
; stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||
; stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
|
||||
; stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||
; stdout_syslog=false ; send stdout to syslog with process name (default false)
|
||||
; stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||
; stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||
; stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10)
|
||||
; stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||
; stderr_syslog=false ; send stderr to syslog with process name (default false)
|
||||
; environment=A="1",B="2" ; process environment additions
|
||||
; serverurl=AUTO ; override serverurl computation (childutils)
|
||||
; The sample group section below shows all possible group values. Create one
|
||||
; or more 'real' group: sections to create "heterogeneous" process groups.
|
||||
; [group:thegroupname]
|
||||
; programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||
; priority=999 ; the relative start priority (default 999)
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
[include]
|
||||
files = /etc/supervisor.d/*.ini
|
Loading…
Reference in New Issue
Block a user