diff --git a/Dockerfile b/Dockerfile index bdcbd686..684c3edd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -196,7 +196,8 @@ COPY ./target/start-mailserver.sh ./target/fail2ban-wrapper.sh ./target/postfix- RUN chmod +x /usr/local/bin/* # Configure supervisor -COPY target/supervisor/* /etc/supervisor/conf.d/ +COPY target/supervisor/supervisord.conf /etc/supervisor/supervisord.conf +COPY target/supervisor/conf.d/* /etc/supervisor/conf.d/ EXPOSE 25 587 143 465 993 110 995 4190 diff --git a/target/start-mailserver.sh b/target/start-mailserver.sh index 431e91d9..9c43d43a 100644 --- a/target/start-mailserver.sh +++ b/target/start-mailserver.sh @@ -1038,6 +1038,8 @@ function fix() { notify 'taskgrg' "Remove leftover pid files from a stop/start" rm -rf /var/run/*.pid /var/run/*/*.pid + + touch /dev/shm/supervisor.sock } function _fix_var_mail_permissions() { diff --git a/target/supervisor/saslauth.conf b/target/supervisor/conf.d/saslauth.conf similarity index 100% rename from target/supervisor/saslauth.conf rename to target/supervisor/conf.d/saslauth.conf diff --git a/target/supervisor/supervisor-app.conf b/target/supervisor/conf.d/supervisor-app.conf similarity index 100% rename from target/supervisor/supervisor-app.conf rename to target/supervisor/conf.d/supervisor-app.conf diff --git a/target/supervisor/supervisord.conf b/target/supervisor/supervisord.conf new file mode 100644 index 00000000..fb4378f1 --- /dev/null +++ b/target/supervisor/supervisord.conf @@ -0,0 +1,28 @@ +; supervisor config file + +[unix_http_server] +file=/dev/shm/supervisor.sock ; (the path to the socket file) +chmod=0700 ; sockef file mode (default 0700) + +[supervisord] +logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) +pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) +childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP) + +; the below 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: sections +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///dev/shm/supervisor.sock ; use a unix:// URL for a unix socket + +; 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/conf.d/*.conf