From 89cec863f706a5c5b69317f4400785e5c7a831b7 Mon Sep 17 00:00:00 2001 From: zhengkunwang223 Date: Thu, 30 Nov 2023 17:52:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20PHP=20=E5=A2=9E=E5=8A=A0=20supervisor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/php5/5.4.45/build/php/Dockerfile | 2 + apps/php5/5.4.45/docker-compose.yml | 5 + .../5.4.45/supervisor/log/supervisord.log | 0 apps/php5/5.4.45/supervisor/run.sh | 3 + .../5.4.45/supervisor/supervisor.d/.gitkeep | 0 apps/php5/5.4.45/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php5/5.5.38/build/php/Dockerfile | 4 +- apps/php5/5.5.38/docker-compose.yml | 5 + .../5.5.38/supervisor/log/supervisord.log | 0 apps/php5/5.5.38/supervisor/run.sh | 3 + .../5.5.38/supervisor/supervisor.d/.gitkeep | 0 apps/php5/5.5.38/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php5/5.6.40/build/php/Dockerfile | 3 + apps/php5/5.6.40/docker-compose.yml | 5 + .../5.6.40/supervisor/log/supervisord.log | 0 apps/php5/5.6.40/supervisor/run.sh | 3 + .../5.6.40/supervisor/supervisor.d/.gitkeep | 0 apps/php5/5.6.40/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php7/7.0.33/build/php/Dockerfile | 5 +- apps/php7/7.0.33/docker-compose.yml | 5 + .../7.0.33/supervisor/log/supervisord.log | 0 apps/php7/7.0.33/supervisor/run.sh | 3 + .../7.0.33/supervisor/supervisor.d/.gitkeep | 0 apps/php7/7.0.33/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php7/7.1.33/build/php/Dockerfile | 5 +- apps/php7/7.1.33/docker-compose.yml | 5 + .../7.1.33/supervisor/log/supervisord.log | 0 apps/php7/7.1.33/supervisor/run.sh | 3 + .../7.1.33/supervisor/supervisor.d/.gitkeep | 0 apps/php7/7.1.33/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php7/7.2.34/build/php/Dockerfile | 5 +- .../7.2.34/build/php/extensions/install.sh | 4 +- apps/php7/7.2.34/docker-compose.yml | 5 + .../7.2.34/supervisor/log/supervisord.log | 0 apps/php7/7.2.34/supervisor/run.sh | 3 + .../7.2.34/supervisor/supervisor.d/.gitkeep | 0 apps/php7/7.2.34/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php7/7.3.33/build/php/Dockerfile | 5 +- apps/php7/7.3.33/docker-compose.yml | 5 + .../7.3.33/supervisor/log/supervisord.log | 0 apps/php7/7.3.33/supervisor/run.sh | 3 + .../7.3.33/supervisor/supervisor.d/.gitkeep | 0 apps/php7/7.3.33/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php7/7.4.33/build/php/Dockerfile | 4 +- apps/php7/7.4.33/docker-compose.yml | 5 + .../7.4.33/supervisor/log/supervisord.log | 0 apps/php7/7.4.33/supervisor/run.sh | 3 + .../7.4.33/supervisor/supervisor.d/.gitkeep | 0 apps/php7/7.4.33/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php8/8.0.30/build/php/Dockerfile | 2 + apps/php8/8.0.30/docker-compose.yml | 5 + .../8.0.30/supervisor/log/supervisord.log | 0 apps/php8/8.0.30/supervisor/run.sh | 3 + .../8.0.30/supervisor/supervisor.d/.gitkeep | 0 apps/php8/8.0.30/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php8/8.1.23/build/php/Dockerfile | 3 + apps/php8/8.1.23/docker-compose.yml | 5 + .../8.1.23/supervisor/log/supervisord.log | 0 apps/php8/8.1.23/supervisor/run.sh | 3 + .../8.1.23/supervisor/supervisor.d/.gitkeep | 0 apps/php8/8.1.23/supervisor/supervisord.conf | 155 ++++++++++++++++++ apps/php8/8.2.10/build/php/Dockerfile | 14 +- apps/php8/8.2.10/docker-compose.yml | 5 + .../8.2.10/supervisor/log/supervisord.log | 0 apps/php8/8.2.10/supervisor/run.sh | 3 + .../8.2.10/supervisor/supervisor.d/.gitkeep | 0 apps/php8/8.2.10/supervisor/supervisord.conf | 155 ++++++++++++++++++ 67 files changed, 1834 insertions(+), 15 deletions(-) create mode 100644 apps/php5/5.4.45/supervisor/log/supervisord.log create mode 100644 apps/php5/5.4.45/supervisor/run.sh create mode 100644 apps/php5/5.4.45/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php5/5.4.45/supervisor/supervisord.conf create mode 100644 apps/php5/5.5.38/supervisor/log/supervisord.log create mode 100644 apps/php5/5.5.38/supervisor/run.sh create mode 100644 apps/php5/5.5.38/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php5/5.5.38/supervisor/supervisord.conf create mode 100644 apps/php5/5.6.40/supervisor/log/supervisord.log create mode 100644 apps/php5/5.6.40/supervisor/run.sh create mode 100644 apps/php5/5.6.40/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php5/5.6.40/supervisor/supervisord.conf create mode 100644 apps/php7/7.0.33/supervisor/log/supervisord.log create mode 100644 apps/php7/7.0.33/supervisor/run.sh create mode 100644 apps/php7/7.0.33/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php7/7.0.33/supervisor/supervisord.conf create mode 100644 apps/php7/7.1.33/supervisor/log/supervisord.log create mode 100644 apps/php7/7.1.33/supervisor/run.sh create mode 100644 apps/php7/7.1.33/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php7/7.1.33/supervisor/supervisord.conf create mode 100644 apps/php7/7.2.34/supervisor/log/supervisord.log create mode 100644 apps/php7/7.2.34/supervisor/run.sh create mode 100644 apps/php7/7.2.34/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php7/7.2.34/supervisor/supervisord.conf create mode 100644 apps/php7/7.3.33/supervisor/log/supervisord.log create mode 100644 apps/php7/7.3.33/supervisor/run.sh create mode 100644 apps/php7/7.3.33/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php7/7.3.33/supervisor/supervisord.conf create mode 100644 apps/php7/7.4.33/supervisor/log/supervisord.log create mode 100644 apps/php7/7.4.33/supervisor/run.sh create mode 100644 apps/php7/7.4.33/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php7/7.4.33/supervisor/supervisord.conf create mode 100644 apps/php8/8.0.30/supervisor/log/supervisord.log create mode 100644 apps/php8/8.0.30/supervisor/run.sh create mode 100644 apps/php8/8.0.30/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php8/8.0.30/supervisor/supervisord.conf create mode 100644 apps/php8/8.1.23/supervisor/log/supervisord.log create mode 100644 apps/php8/8.1.23/supervisor/run.sh create mode 100644 apps/php8/8.1.23/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php8/8.1.23/supervisor/supervisord.conf create mode 100644 apps/php8/8.2.10/supervisor/log/supervisord.log create mode 100644 apps/php8/8.2.10/supervisor/run.sh create mode 100644 apps/php8/8.2.10/supervisor/supervisor.d/.gitkeep create mode 100644 apps/php8/8.2.10/supervisor/supervisord.conf diff --git a/apps/php5/5.4.45/build/php/Dockerfile b/apps/php5/5.4.45/build/php/Dockerfile index 3b8618d1..52f4ae29 100644 --- a/apps/php5/5.4.45/build/php/Dockerfile +++ b/apps/php5/5.4.45/build/php/Dockerfile @@ -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 diff --git a/apps/php5/5.4.45/docker-compose.yml b/apps/php5/5.4.45/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php5/5.4.45/docker-compose.yml +++ b/apps/php5/5.4.45/docker-compose.yml @@ -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: diff --git a/apps/php5/5.4.45/supervisor/log/supervisord.log b/apps/php5/5.4.45/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php5/5.4.45/supervisor/run.sh b/apps/php5/5.4.45/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php5/5.4.45/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php5/5.4.45/supervisor/supervisor.d/.gitkeep b/apps/php5/5.4.45/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php5/5.4.45/supervisor/supervisord.conf b/apps/php5/5.4.45/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php5/5.4.45/supervisor/supervisord.conf @@ -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 diff --git a/apps/php5/5.5.38/build/php/Dockerfile b/apps/php5/5.5.38/build/php/Dockerfile index 709ee904..e541d11c 100644 --- a/apps/php5/5.5.38/build/php/Dockerfile +++ b/apps/php5/5.5.38/build/php/Dockerfile @@ -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 diff --git a/apps/php5/5.5.38/docker-compose.yml b/apps/php5/5.5.38/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php5/5.5.38/docker-compose.yml +++ b/apps/php5/5.5.38/docker-compose.yml @@ -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: diff --git a/apps/php5/5.5.38/supervisor/log/supervisord.log b/apps/php5/5.5.38/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php5/5.5.38/supervisor/run.sh b/apps/php5/5.5.38/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php5/5.5.38/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php5/5.5.38/supervisor/supervisor.d/.gitkeep b/apps/php5/5.5.38/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php5/5.5.38/supervisor/supervisord.conf b/apps/php5/5.5.38/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php5/5.5.38/supervisor/supervisord.conf @@ -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 diff --git a/apps/php5/5.6.40/build/php/Dockerfile b/apps/php5/5.6.40/build/php/Dockerfile index d04ac054..97ca458c 100644 --- a/apps/php5/5.6.40/build/php/Dockerfile +++ b/apps/php5/5.6.40/build/php/Dockerfile @@ -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 diff --git a/apps/php5/5.6.40/docker-compose.yml b/apps/php5/5.6.40/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php5/5.6.40/docker-compose.yml +++ b/apps/php5/5.6.40/docker-compose.yml @@ -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: diff --git a/apps/php5/5.6.40/supervisor/log/supervisord.log b/apps/php5/5.6.40/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php5/5.6.40/supervisor/run.sh b/apps/php5/5.6.40/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php5/5.6.40/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php5/5.6.40/supervisor/supervisor.d/.gitkeep b/apps/php5/5.6.40/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php5/5.6.40/supervisor/supervisord.conf b/apps/php5/5.6.40/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php5/5.6.40/supervisor/supervisord.conf @@ -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 diff --git a/apps/php7/7.0.33/build/php/Dockerfile b/apps/php7/7.0.33/build/php/Dockerfile index 12f20c31..3a139279 100644 --- a/apps/php7/7.0.33/build/php/Dockerfile +++ b/apps/php7/7.0.33/build/php/Dockerfile @@ -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 \ No newline at end of file +WORKDIR /www diff --git a/apps/php7/7.0.33/docker-compose.yml b/apps/php7/7.0.33/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php7/7.0.33/docker-compose.yml +++ b/apps/php7/7.0.33/docker-compose.yml @@ -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: diff --git a/apps/php7/7.0.33/supervisor/log/supervisord.log b/apps/php7/7.0.33/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.0.33/supervisor/run.sh b/apps/php7/7.0.33/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php7/7.0.33/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php7/7.0.33/supervisor/supervisor.d/.gitkeep b/apps/php7/7.0.33/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.0.33/supervisor/supervisord.conf b/apps/php7/7.0.33/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php7/7.0.33/supervisor/supervisord.conf @@ -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 diff --git a/apps/php7/7.1.33/build/php/Dockerfile b/apps/php7/7.1.33/build/php/Dockerfile index 12f20c31..3a139279 100644 --- a/apps/php7/7.1.33/build/php/Dockerfile +++ b/apps/php7/7.1.33/build/php/Dockerfile @@ -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 \ No newline at end of file +WORKDIR /www diff --git a/apps/php7/7.1.33/docker-compose.yml b/apps/php7/7.1.33/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php7/7.1.33/docker-compose.yml +++ b/apps/php7/7.1.33/docker-compose.yml @@ -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: diff --git a/apps/php7/7.1.33/supervisor/log/supervisord.log b/apps/php7/7.1.33/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.1.33/supervisor/run.sh b/apps/php7/7.1.33/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php7/7.1.33/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php7/7.1.33/supervisor/supervisor.d/.gitkeep b/apps/php7/7.1.33/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.1.33/supervisor/supervisord.conf b/apps/php7/7.1.33/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php7/7.1.33/supervisor/supervisord.conf @@ -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 diff --git a/apps/php7/7.2.34/build/php/Dockerfile b/apps/php7/7.2.34/build/php/Dockerfile index 12f20c31..3a139279 100644 --- a/apps/php7/7.2.34/build/php/Dockerfile +++ b/apps/php7/7.2.34/build/php/Dockerfile @@ -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 \ No newline at end of file +WORKDIR /www diff --git a/apps/php7/7.2.34/build/php/extensions/install.sh b/apps/php7/7.2.34/build/php/extensions/install.sh index a7524697..4912aa67 100644 --- a/apps/php7/7.2.34/build/php/extensions/install.sh +++ b/apps/php7/7.2.34/build/php/extensions/install.sh @@ -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 diff --git a/apps/php7/7.2.34/docker-compose.yml b/apps/php7/7.2.34/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php7/7.2.34/docker-compose.yml +++ b/apps/php7/7.2.34/docker-compose.yml @@ -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: diff --git a/apps/php7/7.2.34/supervisor/log/supervisord.log b/apps/php7/7.2.34/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.2.34/supervisor/run.sh b/apps/php7/7.2.34/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php7/7.2.34/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php7/7.2.34/supervisor/supervisor.d/.gitkeep b/apps/php7/7.2.34/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.2.34/supervisor/supervisord.conf b/apps/php7/7.2.34/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php7/7.2.34/supervisor/supervisord.conf @@ -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 diff --git a/apps/php7/7.3.33/build/php/Dockerfile b/apps/php7/7.3.33/build/php/Dockerfile index 12f20c31..3a139279 100644 --- a/apps/php7/7.3.33/build/php/Dockerfile +++ b/apps/php7/7.3.33/build/php/Dockerfile @@ -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 \ No newline at end of file +WORKDIR /www diff --git a/apps/php7/7.3.33/docker-compose.yml b/apps/php7/7.3.33/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php7/7.3.33/docker-compose.yml +++ b/apps/php7/7.3.33/docker-compose.yml @@ -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: diff --git a/apps/php7/7.3.33/supervisor/log/supervisord.log b/apps/php7/7.3.33/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.3.33/supervisor/run.sh b/apps/php7/7.3.33/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php7/7.3.33/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php7/7.3.33/supervisor/supervisor.d/.gitkeep b/apps/php7/7.3.33/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.3.33/supervisor/supervisord.conf b/apps/php7/7.3.33/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php7/7.3.33/supervisor/supervisord.conf @@ -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 diff --git a/apps/php7/7.4.33/build/php/Dockerfile b/apps/php7/7.4.33/build/php/Dockerfile index 12f20c31..90b7dfaf 100644 --- a/apps/php7/7.4.33/build/php/Dockerfile +++ b/apps/php7/7.4.33/build/php/Dockerfile @@ -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 \ No newline at end of file +WORKDIR /www diff --git a/apps/php7/7.4.33/docker-compose.yml b/apps/php7/7.4.33/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php7/7.4.33/docker-compose.yml +++ b/apps/php7/7.4.33/docker-compose.yml @@ -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: diff --git a/apps/php7/7.4.33/supervisor/log/supervisord.log b/apps/php7/7.4.33/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.4.33/supervisor/run.sh b/apps/php7/7.4.33/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php7/7.4.33/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php7/7.4.33/supervisor/supervisor.d/.gitkeep b/apps/php7/7.4.33/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php7/7.4.33/supervisor/supervisord.conf b/apps/php7/7.4.33/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php7/7.4.33/supervisor/supervisord.conf @@ -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 diff --git a/apps/php8/8.0.30/build/php/Dockerfile b/apps/php8/8.0.30/build/php/Dockerfile index 92722560..b73a2003 100644 --- a/apps/php8/8.0.30/build/php/Dockerfile +++ b/apps/php8/8.0.30/build/php/Dockerfile @@ -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 diff --git a/apps/php8/8.0.30/docker-compose.yml b/apps/php8/8.0.30/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php8/8.0.30/docker-compose.yml +++ b/apps/php8/8.0.30/docker-compose.yml @@ -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: diff --git a/apps/php8/8.0.30/supervisor/log/supervisord.log b/apps/php8/8.0.30/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php8/8.0.30/supervisor/run.sh b/apps/php8/8.0.30/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php8/8.0.30/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php8/8.0.30/supervisor/supervisor.d/.gitkeep b/apps/php8/8.0.30/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php8/8.0.30/supervisor/supervisord.conf b/apps/php8/8.0.30/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php8/8.0.30/supervisor/supervisord.conf @@ -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 diff --git a/apps/php8/8.1.23/build/php/Dockerfile b/apps/php8/8.1.23/build/php/Dockerfile index f768d4e3..b73a2003 100644 --- a/apps/php8/8.1.23/build/php/Dockerfile +++ b/apps/php8/8.1.23/build/php/Dockerfile @@ -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 diff --git a/apps/php8/8.1.23/docker-compose.yml b/apps/php8/8.1.23/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php8/8.1.23/docker-compose.yml +++ b/apps/php8/8.1.23/docker-compose.yml @@ -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: diff --git a/apps/php8/8.1.23/supervisor/log/supervisord.log b/apps/php8/8.1.23/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php8/8.1.23/supervisor/run.sh b/apps/php8/8.1.23/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php8/8.1.23/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php8/8.1.23/supervisor/supervisor.d/.gitkeep b/apps/php8/8.1.23/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php8/8.1.23/supervisor/supervisord.conf b/apps/php8/8.1.23/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php8/8.1.23/supervisor/supervisord.conf @@ -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 diff --git a/apps/php8/8.2.10/build/php/Dockerfile b/apps/php8/8.2.10/build/php/Dockerfile index 17cc27a8..b73a2003 100644 --- a/apps/php8/8.2.10/build/php/Dockerfile +++ b/apps/php8/8.2.10/build/php/Dockerfile @@ -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 \ No newline at end of file diff --git a/apps/php8/8.2.10/docker-compose.yml b/apps/php8/8.2.10/docker-compose.yml index 9173c14e..a854f960 100644 --- a/apps/php8/8.2.10/docker-compose.yml +++ b/apps/php8/8.2.10/docker-compose.yml @@ -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: diff --git a/apps/php8/8.2.10/supervisor/log/supervisord.log b/apps/php8/8.2.10/supervisor/log/supervisord.log new file mode 100644 index 00000000..e69de29b diff --git a/apps/php8/8.2.10/supervisor/run.sh b/apps/php8/8.2.10/supervisor/run.sh new file mode 100644 index 00000000..1af74853 --- /dev/null +++ b/apps/php8/8.2.10/supervisor/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +supervisord -c /etc/supervisord.conf \ No newline at end of file diff --git a/apps/php8/8.2.10/supervisor/supervisor.d/.gitkeep b/apps/php8/8.2.10/supervisor/supervisor.d/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/php8/8.2.10/supervisor/supervisord.conf b/apps/php8/8.2.10/supervisor/supervisord.conf new file mode 100644 index 00000000..c966c994 --- /dev/null +++ b/apps/php8/8.2.10/supervisor/supervisord.conf @@ -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