├── .editorconfig ├── .github └── workflows │ └── docker.yml ├── .templates ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── LICENSE ├── Makefile ├── README.md ├── debian-php-70 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-71 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-72 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-73 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-74 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-80 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-81 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-82 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-83 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php ├── debian-php-84 ├── Dockerfile ├── entrypoint.sh ├── nginx │ ├── mime.types │ ├── nginx.conf │ └── sites.d │ │ └── site.conf ├── php │ ├── php-fpm.conf │ └── php.ini ├── supervisor │ ├── services │ │ ├── cron.conf │ │ ├── nginx.conf │ │ └── php-fpm.conf │ └── supervisord.conf └── www │ ├── dockette.png │ ├── index.html │ └── phpinfo.php └── screenshot.png /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.{md, html, php, phpt}] 12 | indent_style = tab 13 | indent_size = tab 14 | tab_width = 4 15 | 16 | [*.{js, ts, vue}] 17 | indent_style = space 18 | indent_size = 2 19 | 20 | [{*.json, *.yml}] 21 | indent_style = space 22 | indent_size = 2 23 | -------------------------------------------------------------------------------- /.github/workflows/docker.yml: -------------------------------------------------------------------------------- 1 | name: "Docker" 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | push: 7 | branches: ["master"] 8 | 9 | schedule: 10 | - cron: "0 8 * * 1" 11 | 12 | jobs: 13 | build: 14 | name: "Build" 15 | uses: dockette/.github/.github/workflows/docker.yml@master 16 | secrets: inherit 17 | with: 18 | image: "dockette/web" 19 | tag: "${{ matrix.tag }}" 20 | context: "${{ matrix.context }}" 21 | strategy: 22 | matrix: 23 | include: 24 | - { context: debian-php-70, tag: php-70 } 25 | - { context: debian-php-71, tag: php-71 } 26 | - { context: debian-php-72, tag: php-72 } 27 | - { context: debian-php-73, tag: php-73 } 28 | - { context: debian-php-74, tag: php-74 } 29 | - { context: debian-php-80, tag: php-80 } 30 | - { context: debian-php-81, tag: php-81 } 31 | - { context: debian-php-82, tag: php-82 } 32 | - { context: debian-php-83, tag: php-83 } 33 | - { context: debian-php-84, tag: php-84 } 34 | -------------------------------------------------------------------------------- /.templates/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /.templates/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /.templates/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /.templates/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /.templates/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /.templates/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /.templates/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /.templates/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /.templates/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /.templates/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /.templates/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/.templates/www/dockette.png -------------------------------------------------------------------------------- /.templates/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /.templates/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | Dockette / Web 2 | 3 |

4 | 🐳 Ready-to-use docker images for websites (nginx, PHP 7.0/7.1/7.2/7.3/7.4/8.0/8.1/8.2/8.3/8.4 + FPM, supervisor, cron). 5 |

6 | 7 |

8 | 🕹 f3l1x.io | 💻 f3l1x | 🐦 @xf3l1x 9 |

10 | 11 |

12 | 13 | 14 | 15 |

16 | 17 | ![](https://github.com/dockette/web/blob/master/screenshot.png "It works") 18 | 19 | ## Overview 20 | 21 | This project provides ready-to-use Docker images for web development and deployment. These images are built with a focus on PHP applications, offering a complete environment with Nginx, PHP-FPM, Supervisor, and Cron capabilities. 22 | 23 | ### Key Features 24 | 25 | - **Multiple PHP Versions**: Support for PHP 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, and 8.4 26 | - **Nginx Web Server**: Pre-configured with sensible defaults for PHP applications 27 | - **PHP-FPM**: Optimized for performance with common extensions installed 28 | - **Supervisor**: Process control system to manage services 29 | - **Cron Support**: Schedule and run periodic tasks 30 | - **Debian-based**: All images are built on Debian Bookworm for stability 31 | - **Customizable**: Easy configuration through volume mounts 32 | - **Production-Ready**: Optimized for both development and production environments 33 | 34 | ## Usage 35 | 36 | | Image | Distro | PHP | 37 | |-----------------------|----------|-----| 38 | | `dockette/web:php-84` | Bookworm | 8.4 | 39 | | `dockette/web:php-83` | Bookworm | 8.3 | 40 | | `dockette/web:php-82` | Bookworm | 8.2 | 41 | | `dockette/web:php-81` | Bookworm | 8.1 | 42 | | `dockette/web:php-80` | Bookworm | 8.0 | 43 | | `dockette/web:php-74` | Bookworm | 7.4 | 44 | | `dockette/web:php-73` | Bookworm | 7.3 | 45 | | `dockette/web:php-72` | Bookworm | 7.2 | 46 | | `dockette/web:php-71` | Bookworm | 7.1 | 47 | | `dockette/web:php-70` | Bookworm | 7.0 | 48 | 49 | You can easily start your Docker container with following command. 50 | 51 | ``` 52 | docker run \ 53 | -it \ 54 | --rm \ 55 | --name www \ 56 | -p 80:80 \ 57 | dockette/web:php-84 58 | ``` 59 | 60 | ### Custom Nginx config 61 | 62 | To customize Nginx config just bind new config to the path `/etc/nginx/sites.d/site.conf`, for example, 63 | in such way: 64 | 65 | ``` 66 | docker run \ 67 | -it \ 68 | --rm \ 69 | --name www \ 70 | -v my-lovely-nginx.conf:/etc/nginx/sites.d/site.conf \ 71 | -p 80:80 \ 72 | dockette/web:php-84 73 | ``` 74 | 75 | ### Run cron tasks 76 | 77 | You could also run cron tasks, just simply bind your `crontab` to `/etc/cron.d/app`, for example, 78 | in such way: 79 | 80 | ``` 81 | docker run \ 82 | -it \ 83 | --rm \ 84 | --name www \ 85 | -v my-crontab:/etc/cron.d/app \ 86 | -p 80:80 \ 87 | dockette/web:php-84 88 | ``` 89 | 90 | Please note, this crontab should has a little bit different format. 91 | There is also username, for example: 92 | 93 | ``` 94 | 57 19 * * * www-data my_command 95 | ``` 96 | 97 | ## Maintainers 98 | 99 | 100 | 101 | 102 | 103 | ----- 104 | 105 | Consider to [support](https://bit.ly/f3l1xsponsor) **f3l1x**. Also thank you for using this package. 106 | -------------------------------------------------------------------------------- /debian-php-70/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM dockette/debian:bookworm 2 | 3 | # PHP 4 | ENV PHP_MODS_DIR=/etc/php/7.0/mods-available 5 | ENV PHP_CLI_DIR=/etc/php/7.0/cli/ 6 | ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d 7 | ENV PHP_CGI_DIR=/etc/php/7.0/cgi/ 8 | ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d 9 | ENV PHP_FPM_DIR=/etc/php/7.0/fpm/ 10 | ENV PHP_FPM_CONF_DIR=${PHP_FPM_DIR}/conf.d 11 | ENV PHP_FPM_POOL_DIR=${PHP_FPM_DIR}/pool.d 12 | ENV PHP_FPM_BIN=/usr/sbin/php-fpm7.0 13 | ENV PHP_FPM_CONF=/etc/php/7.0/php-fpm.conf 14 | ENV TZ=Europe/Prague 15 | 16 | # INSTALLATION 17 | RUN apt update && apt dist-upgrade -y && \ 18 | # DEPENDENCIES ############################################################# 19 | apt install -y wget curl apt-transport-https ca-certificates gnupg2 cron && \ 20 | # PHP DEB.SURY.CZ ########################################################## 21 | wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ 22 | echo "deb https://packages.sury.org/php/ bookworm main" > /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php7.0-apcu \ 31 | php7.0-bz2 \ 32 | php7.0-bcmath \ 33 | php7.0-calendar \ 34 | php7.0-cgi \ 35 | php7.0-cli \ 36 | php7.0-ctype \ 37 | php7.0-curl \ 38 | php7.0-fpm \ 39 | php7.0-geoip \ 40 | php7.0-gettext \ 41 | php7.0-gd \ 42 | php7.0-intl \ 43 | php7.0-imap \ 44 | php7.0-ldap \ 45 | php7.0-mbstring \ 46 | php7.0-memcached \ 47 | # php7.0-mongo \ 48 | php7.0-mysql \ 49 | php7.0-pdo \ 50 | php7.0-pgsql \ 51 | php7.0-redis \ 52 | php7.0-soap \ 53 | php7.0-sqlite3 \ 54 | php7.0-ssh2 \ 55 | php7.0-tidy \ 56 | php7.0-zip \ 57 | php7.0-xmlrpc \ 58 | php7.0-xsl && \ 59 | # COMPOSER ################################################################# 60 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 61 | # PHP MOD(s) ############################################################### 62 | rm ${PHP_FPM_POOL_DIR}/www.conf && \ 63 | # NGINX #################################################################### 64 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 65 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 66 | # CLEAN UP ################################################################# 67 | rm /etc/nginx/conf.d/default.conf && \ 68 | apt clean -y && \ 69 | apt autoclean -y && \ 70 | apt remove -y wget && \ 71 | apt autoremove -y && \ 72 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 73 | 74 | # PHP 75 | ADD ./php/php-fpm.conf /etc/php/7.0/ 76 | ADD ./php/php.ini /etc/php/7.0/conf.d/ 77 | 78 | # NGINX 79 | ADD ./nginx/nginx.conf /etc/nginx/ 80 | ADD ./nginx/mime.types /etc/nginx/ 81 | ADD ./nginx/sites.d /etc/nginx/sites.d 82 | 83 | # WWW 84 | ADD ./www /srv/www/ 85 | 86 | # SUPERVISOR 87 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 88 | ADD ./supervisor/services /etc/supervisor/conf.d/ 89 | 90 | # APPLICATION 91 | WORKDIR /srv 92 | 93 | EXPOSE 80 94 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 95 | RUN chmod +x /usr/sbin/entrypoint.sh 96 | CMD ["/usr/sbin/entrypoint.sh"] 97 | -------------------------------------------------------------------------------- /debian-php-70/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-70/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-70/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-70/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-70/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-70/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-70/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-70/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-70/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-70/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-70/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-70/www/dockette.png -------------------------------------------------------------------------------- /debian-php-70/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-70/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php7.2-apcu \ 31 | php7.2-bz2 \ 32 | php7.2-bcmath \ 33 | php7.2-calendar \ 34 | php7.2-cgi \ 35 | php7.2-cli \ 36 | php7.2-ctype \ 37 | php7.2-curl \ 38 | php7.2-fpm \ 39 | php7.2-geoip \ 40 | php7.2-gettext \ 41 | php7.2-gd \ 42 | php7.2-intl \ 43 | php7.2-imap \ 44 | php7.2-ldap \ 45 | php7.2-mbstring \ 46 | php7.2-memcached \ 47 | # php7.2-mongo \ 48 | php7.2-mysql \ 49 | php7.2-pdo \ 50 | php7.2-pgsql \ 51 | php7.2-redis \ 52 | php7.2-soap \ 53 | php7.2-sqlite3 \ 54 | php7.2-ssh2 \ 55 | php7.2-tidy \ 56 | php7.2-zip \ 57 | php7.2-xmlrpc \ 58 | php7.2-xsl && \ 59 | # COMPOSER ################################################################# 60 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 61 | # PHP MOD(s) ############################################################### 62 | rm ${PHP_FPM_POOL_DIR}/www.conf && \ 63 | # NGINX #################################################################### 64 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 65 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 66 | # CLEAN UP ################################################################# 67 | rm /etc/nginx/conf.d/default.conf && \ 68 | apt clean -y && \ 69 | apt autoclean -y && \ 70 | apt remove -y wget && \ 71 | apt autoremove -y && \ 72 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 73 | 74 | # CRON 75 | RUN truncate -s 0 /etc/crontab 76 | 77 | # PHP 78 | ADD ./php/php-fpm.conf /etc/php/7.2/ 79 | ADD ./php/php.ini /etc/php/7.2/conf.d/ 80 | 81 | # NGINX 82 | ADD ./nginx/nginx.conf /etc/nginx/ 83 | ADD ./nginx/mime.types /etc/nginx/ 84 | ADD ./nginx/sites.d /etc/nginx/sites.d 85 | 86 | # WWW 87 | ADD ./www /srv/www/ 88 | 89 | # SUPERVISOR 90 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 91 | ADD ./supervisor/services /etc/supervisor/conf.d/ 92 | 93 | # APPLICATION 94 | WORKDIR /srv 95 | 96 | EXPOSE 80 97 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 98 | RUN chmod +x /usr/sbin/entrypoint.sh 99 | CMD ["/usr/sbin/entrypoint.sh"] 100 | -------------------------------------------------------------------------------- /debian-php-71/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-71/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-71/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-71/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-71/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-71/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-71/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-71/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-71/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-71/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-71/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-71/www/dockette.png -------------------------------------------------------------------------------- /debian-php-71/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-71/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php7.2-apcu \ 31 | php7.2-bz2 \ 32 | php7.2-bcmath \ 33 | php7.2-calendar \ 34 | php7.2-cgi \ 35 | php7.2-cli \ 36 | php7.2-ctype \ 37 | php7.2-curl \ 38 | php7.2-fpm \ 39 | php7.2-geoip \ 40 | php7.2-gettext \ 41 | php7.2-gd \ 42 | php7.2-intl \ 43 | php7.2-imap \ 44 | php7.2-ldap \ 45 | php7.2-mbstring \ 46 | php7.2-memcached \ 47 | # php7.2-mongo \ 48 | php7.2-mysql \ 49 | php7.2-pdo \ 50 | php7.2-pgsql \ 51 | php7.2-redis \ 52 | php7.2-soap \ 53 | php7.2-sqlite3 \ 54 | php7.2-ssh2 \ 55 | php7.2-tidy \ 56 | php7.2-zip \ 57 | php7.2-xmlrpc \ 58 | php7.2-xsl && \ 59 | # COMPOSER ################################################################# 60 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 61 | # PHP MOD(s) ############################################################### 62 | rm ${PHP_FPM_POOL_DIR}/www.conf && \ 63 | # NGINX #################################################################### 64 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 65 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 66 | # CLEAN UP ################################################################# 67 | rm /etc/nginx/conf.d/default.conf && \ 68 | apt clean -y && \ 69 | apt autoclean -y && \ 70 | apt remove -y wget && \ 71 | apt autoremove -y && \ 72 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 73 | 74 | # CRON 75 | RUN truncate -s 0 /etc/crontab 76 | 77 | # PHP 78 | ADD ./php/php-fpm.conf /etc/php/7.2/ 79 | ADD ./php/php.ini /etc/php/7.2/conf.d/ 80 | 81 | # NGINX 82 | ADD ./nginx/nginx.conf /etc/nginx/ 83 | ADD ./nginx/mime.types /etc/nginx/ 84 | ADD ./nginx/sites.d /etc/nginx/sites.d 85 | 86 | # WWW 87 | ADD ./www /srv/www/ 88 | 89 | # SUPERVISOR 90 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 91 | ADD ./supervisor/services /etc/supervisor/conf.d/ 92 | 93 | # APPLICATION 94 | WORKDIR /srv 95 | 96 | EXPOSE 80 97 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 98 | RUN chmod +x /usr/sbin/entrypoint.sh 99 | CMD ["/usr/sbin/entrypoint.sh"] 100 | -------------------------------------------------------------------------------- /debian-php-72/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-72/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-72/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-72/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-72/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-72/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-72/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-72/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-72/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-72/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-72/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-72/www/dockette.png -------------------------------------------------------------------------------- /debian-php-72/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-72/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php7.3-apcu \ 31 | php7.3-bz2 \ 32 | php7.3-bcmath \ 33 | php7.3-calendar \ 34 | php7.3-cgi \ 35 | php7.3-cli \ 36 | php7.3-ctype \ 37 | php7.3-curl \ 38 | php7.3-fpm \ 39 | php7.3-geoip \ 40 | php7.3-gettext \ 41 | php7.3-gd \ 42 | php7.3-intl \ 43 | php7.3-imap \ 44 | php7.3-ldap \ 45 | php7.3-mbstring \ 46 | php7.3-memcached \ 47 | # php7.3-mongo \ 48 | php7.3-mysql \ 49 | php7.3-pdo \ 50 | php7.3-pgsql \ 51 | php7.3-redis \ 52 | php7.3-soap \ 53 | php7.3-sqlite3 \ 54 | php7.3-ssh2 \ 55 | php7.3-tidy \ 56 | php7.3-zip \ 57 | php7.3-xmlrpc \ 58 | php7.3-xsl && \ 59 | # COMPOSER ################################################################# 60 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 61 | # PHP MOD(s) ############################################################### 62 | rm ${PHP_FPM_POOL_DIR}/www.conf && \ 63 | # NGINX #################################################################### 64 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 65 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 66 | # CLEAN UP ################################################################# 67 | rm /etc/nginx/conf.d/default.conf && \ 68 | apt clean -y && \ 69 | apt autoclean -y && \ 70 | apt remove -y wget && \ 71 | apt autoremove -y && \ 72 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 73 | 74 | # CRON 75 | RUN truncate -s 0 /etc/crontab 76 | 77 | # PHP 78 | ADD ./php/php-fpm.conf /etc/php/7.3/ 79 | ADD ./php/php.ini /etc/php/7.3/conf.d/ 80 | 81 | # NGINX 82 | ADD ./nginx/nginx.conf /etc/nginx/ 83 | ADD ./nginx/mime.types /etc/nginx/ 84 | ADD ./nginx/sites.d /etc/nginx/sites.d 85 | 86 | # WWW 87 | ADD ./www /srv/www/ 88 | 89 | # SUPERVISOR 90 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 91 | ADD ./supervisor/services /etc/supervisor/conf.d/ 92 | 93 | # APPLICATION 94 | WORKDIR /srv 95 | 96 | # PORTS 97 | EXPOSE 80 98 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 99 | RUN chmod +x /usr/sbin/entrypoint.sh 100 | CMD ["/usr/sbin/entrypoint.sh"] 101 | -------------------------------------------------------------------------------- /debian-php-73/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-73/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-73/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-73/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-73/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-73/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-73/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-73/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-73/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-73/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-73/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-73/www/dockette.png -------------------------------------------------------------------------------- /debian-php-73/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-73/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php7.4-apcu \ 31 | php7.4-bz2 \ 32 | php7.4-bcmath \ 33 | php7.4-calendar \ 34 | php7.4-cgi \ 35 | php7.4-cli \ 36 | php7.4-ctype \ 37 | php7.4-curl \ 38 | php7.4-fpm \ 39 | php7.4-geoip \ 40 | php7.4-gettext \ 41 | php7.4-gd \ 42 | php7.4-intl \ 43 | php7.4-imap \ 44 | php7.4-ldap \ 45 | php7.4-mbstring \ 46 | php7.4-memcached \ 47 | # php7.4-mongo \ 48 | php7.4-mysql \ 49 | php7.4-pdo \ 50 | php7.4-pgsql \ 51 | php7.4-redis \ 52 | php7.4-soap \ 53 | php7.4-sqlite3 \ 54 | php7.4-ssh2 \ 55 | php7.4-tidy \ 56 | php7.4-zip \ 57 | php7.4-xmlrpc \ 58 | php7.4-xsl && \ 59 | # COMPOSER ################################################################# 60 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 61 | # PHP MOD(s) ############################################################### 62 | rm ${PHP_FPM_POOL_DIR}/www.conf && \ 63 | # NGINX #################################################################### 64 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 65 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 66 | # CLEAN UP ################################################################# 67 | rm /etc/nginx/conf.d/default.conf && \ 68 | apt clean -y && \ 69 | apt autoclean -y && \ 70 | apt remove -y wget && \ 71 | apt autoremove -y && \ 72 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 73 | 74 | # CRON 75 | RUN truncate -s 0 /etc/crontab 76 | 77 | # PHP 78 | ADD ./php/php-fpm.conf /etc/php/7.4/ 79 | ADD ./php/php.ini /etc/php/7.4/conf.d/ 80 | 81 | # NGINX 82 | ADD ./nginx/nginx.conf /etc/nginx/ 83 | ADD ./nginx/mime.types /etc/nginx/ 84 | ADD ./nginx/sites.d /etc/nginx/sites.d 85 | 86 | # WWW 87 | ADD ./www /srv/www/ 88 | 89 | # SUPERVISOR 90 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 91 | ADD ./supervisor/services /etc/supervisor/conf.d/ 92 | 93 | # APPLICATION 94 | WORKDIR /srv 95 | 96 | # PORTS 97 | EXPOSE 80 98 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 99 | RUN chmod +x /usr/sbin/entrypoint.sh 100 | CMD ["/usr/sbin/entrypoint.sh"] 101 | -------------------------------------------------------------------------------- /debian-php-74/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-74/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-74/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-74/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-74/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-74/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-74/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-74/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-74/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-74/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-74/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-74/www/dockette.png -------------------------------------------------------------------------------- /debian-php-74/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-74/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php8.0-apcu \ 31 | php8.0-bz2 \ 32 | php8.0-bcmath \ 33 | php8.0-calendar \ 34 | php8.0-cgi \ 35 | php8.0-cli \ 36 | php8.0-ctype \ 37 | php8.0-curl \ 38 | php8.0-fpm \ 39 | php8.0-gettext \ 40 | php8.0-gd \ 41 | php8.0-intl \ 42 | php8.0-imap \ 43 | php8.0-ldap \ 44 | php8.0-mbstring \ 45 | php8.0-memcached \ 46 | # php8.0-mongo \ 47 | php8.0-mysql \ 48 | php8.0-pdo \ 49 | php8.0-pgsql \ 50 | php8.0-redis \ 51 | php8.0-soap \ 52 | php8.0-sqlite3 \ 53 | php8.0-ssh2 \ 54 | php8.0-tidy \ 55 | php8.0-zip \ 56 | php8.0-xmlrpc \ 57 | php8.0-xsl && \ 58 | # COMPOSER ################################################################# 59 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 60 | # NGINX #################################################################### 61 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 62 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 63 | # CLEAN UP ################################################################# 64 | rm /etc/nginx/conf.d/default.conf && \ 65 | apt clean -y && \ 66 | apt autoclean -y && \ 67 | apt remove -y wget && \ 68 | apt autoremove -y && \ 69 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 70 | 71 | # CRON 72 | RUN truncate -s 0 /etc/crontab 73 | 74 | # PHP 75 | ADD ./php/php-fpm.conf /etc/php/8.0/ 76 | ADD ./php/php.ini /etc/php/8.0/conf.d/ 77 | 78 | # NGINX 79 | ADD ./nginx/nginx.conf /etc/nginx/ 80 | ADD ./nginx/mime.types /etc/nginx/ 81 | ADD ./nginx/sites.d /etc/nginx/sites.d 82 | 83 | # WWW 84 | ADD ./www /srv/www/ 85 | 86 | # SUPERVISOR 87 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 88 | ADD ./supervisor/services /etc/supervisor/conf.d/ 89 | 90 | # APPLICATION 91 | WORKDIR /srv 92 | 93 | # PORTS 94 | EXPOSE 80 95 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 96 | RUN chmod +x /usr/sbin/entrypoint.sh 97 | CMD ["/usr/sbin/entrypoint.sh"] 98 | -------------------------------------------------------------------------------- /debian-php-80/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-80/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-80/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-80/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-80/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-80/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-80/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-80/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-80/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-80/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-80/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-80/www/dockette.png -------------------------------------------------------------------------------- /debian-php-80/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-80/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php8.1-apcu \ 31 | php8.1-bz2 \ 32 | php8.1-bcmath \ 33 | php8.1-calendar \ 34 | php8.1-cgi \ 35 | php8.1-cli \ 36 | php8.1-ctype \ 37 | php8.1-curl \ 38 | php8.1-fpm \ 39 | php8.1-gettext \ 40 | php8.1-gd \ 41 | php8.1-intl \ 42 | php8.1-imap \ 43 | php8.1-ldap \ 44 | php8.1-mbstring \ 45 | php8.1-memcached \ 46 | # php8.1-mongo \ 47 | php8.1-mysql \ 48 | php8.1-pdo \ 49 | php8.1-pgsql \ 50 | php8.1-redis \ 51 | php8.1-soap \ 52 | php8.1-sqlite3 \ 53 | php8.1-ssh2 \ 54 | php8.1-tidy \ 55 | php8.1-zip \ 56 | php8.1-xmlrpc \ 57 | php8.1-xsl && \ 58 | # COMPOSER ################################################################# 59 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 60 | # NGINX #################################################################### 61 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 62 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 63 | # CLEAN UP ################################################################# 64 | rm /etc/nginx/conf.d/default.conf && \ 65 | apt clean -y && \ 66 | apt autoclean -y && \ 67 | apt remove -y wget && \ 68 | apt autoremove -y && \ 69 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 70 | 71 | # PHP 72 | ADD ./php/php-fpm.conf /etc/php/8.1/ 73 | ADD ./php/php.ini /etc/php/8.1/conf.d/ 74 | 75 | # NGINX 76 | ADD ./nginx/nginx.conf /etc/nginx/ 77 | ADD ./nginx/mime.types /etc/nginx/ 78 | ADD ./nginx/sites.d /etc/nginx/sites.d 79 | 80 | # WWW 81 | ADD ./www /srv/www/ 82 | 83 | # SUPERVISOR 84 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 85 | ADD ./supervisor/services /etc/supervisor/conf.d/ 86 | 87 | # APPLICATION 88 | WORKDIR /srv 89 | 90 | # PORTS 91 | EXPOSE 80 92 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 93 | RUN chmod +x /usr/sbin/entrypoint.sh 94 | CMD ["/usr/sbin/entrypoint.sh"] 95 | -------------------------------------------------------------------------------- /debian-php-81/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-81/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-81/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-81/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-81/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-81/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-81/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-81/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-81/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-81/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-81/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-81/www/dockette.png -------------------------------------------------------------------------------- /debian-php-81/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-81/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php8.2-apcu \ 31 | php8.2-bz2 \ 32 | php8.2-bcmath \ 33 | php8.2-calendar \ 34 | php8.2-cgi \ 35 | php8.2-cli \ 36 | php8.2-ctype \ 37 | php8.2-curl \ 38 | php8.2-fpm \ 39 | php8.2-gettext \ 40 | php8.2-gd \ 41 | php8.2-intl \ 42 | php8.2-imap \ 43 | php8.2-ldap \ 44 | php8.2-mbstring \ 45 | php8.2-memcached \ 46 | # php8.2-mongo \ 47 | php8.2-mysql \ 48 | php8.2-pdo \ 49 | php8.2-pgsql \ 50 | php8.2-redis \ 51 | php8.2-soap \ 52 | php8.2-sqlite3 \ 53 | php8.2-ssh2 \ 54 | php8.2-tidy \ 55 | php8.2-zip \ 56 | php8.2-xmlrpc \ 57 | php8.2-xsl && \ 58 | # COMPOSER ################################################################# 59 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 60 | # NGINX #################################################################### 61 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 62 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 63 | # CLEAN UP ################################################################# 64 | rm /etc/nginx/conf.d/default.conf && \ 65 | apt clean -y && \ 66 | apt autoclean -y && \ 67 | apt remove -y wget && \ 68 | apt autoremove -y && \ 69 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 70 | 71 | # PHP 72 | ADD ./php/php-fpm.conf /etc/php/8.2/ 73 | ADD ./php/php.ini /etc/php/8.2/conf.d/ 74 | 75 | # NGINX 76 | ADD ./nginx/nginx.conf /etc/nginx/ 77 | ADD ./nginx/mime.types /etc/nginx/ 78 | ADD ./nginx/sites.d /etc/nginx/sites.d 79 | 80 | # WWW 81 | ADD ./www /srv/www/ 82 | 83 | # SUPERVISOR 84 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 85 | ADD ./supervisor/services /etc/supervisor/conf.d/ 86 | 87 | # APPLICATION 88 | WORKDIR /srv 89 | 90 | # PORTS 91 | EXPOSE 80 92 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 93 | RUN chmod +x /usr/sbin/entrypoint.sh 94 | CMD ["/usr/sbin/entrypoint.sh"] 95 | -------------------------------------------------------------------------------- /debian-php-82/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-82/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-82/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-82/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-82/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-82/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-82/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-82/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-82/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-82/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-82/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-82/www/dockette.png -------------------------------------------------------------------------------- /debian-php-82/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-82/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php8.3-apcu \ 31 | php8.3-bz2 \ 32 | php8.3-bcmath \ 33 | php8.3-calendar \ 34 | php8.3-cgi \ 35 | php8.3-cli \ 36 | php8.3-ctype \ 37 | php8.3-curl \ 38 | php8.3-fpm \ 39 | php8.3-gettext \ 40 | php8.3-gd \ 41 | php8.3-intl \ 42 | php8.3-imap \ 43 | php8.3-ldap \ 44 | php8.3-mbstring \ 45 | php8.3-memcached \ 46 | # php8.3-mongo \ 47 | php8.3-mysql \ 48 | php8.3-pdo \ 49 | php8.3-pgsql \ 50 | php8.3-redis \ 51 | php8.3-soap \ 52 | php8.3-sqlite3 \ 53 | php8.3-ssh2 \ 54 | php8.3-tidy \ 55 | php8.3-zip \ 56 | php8.3-xmlrpc \ 57 | php8.3-xsl && \ 58 | # COMPOSER ################################################################# 59 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 60 | # NGINX #################################################################### 61 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 62 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 63 | # CLEAN UP ################################################################# 64 | rm /etc/nginx/conf.d/default.conf && \ 65 | apt clean -y && \ 66 | apt autoclean -y && \ 67 | apt remove -y wget && \ 68 | apt autoremove -y && \ 69 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 70 | 71 | # PHP 72 | ADD ./php/php-fpm.conf /etc/php/8.3/ 73 | ADD ./php/php.ini /etc/php/8.3/conf.d/ 74 | 75 | # NGINX 76 | ADD ./nginx/nginx.conf /etc/nginx/ 77 | ADD ./nginx/mime.types /etc/nginx/ 78 | ADD ./nginx/sites.d /etc/nginx/sites.d 79 | 80 | # WWW 81 | ADD ./www /srv/www/ 82 | 83 | # SUPERVISOR 84 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 85 | ADD ./supervisor/services /etc/supervisor/conf.d/ 86 | 87 | # APPLICATION 88 | WORKDIR /srv 89 | 90 | # PORTS 91 | EXPOSE 80 92 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 93 | RUN chmod +x /usr/sbin/entrypoint.sh 94 | CMD ["/usr/sbin/entrypoint.sh"] 95 | -------------------------------------------------------------------------------- /debian-php-83/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-83/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-83/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-83/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-83/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-83/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-83/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-83/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-83/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-83/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-83/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-83/www/dockette.png -------------------------------------------------------------------------------- /debian-php-83/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-83/www/phpinfo.php: -------------------------------------------------------------------------------- 1 | /etc/apt/sources.list.d/php.list && \ 23 | wget -O- http://nginx.org/keys/nginx_signing.key | apt-key add - && \ 24 | echo "deb http://nginx.org/packages/debian/ bookworm nginx" > /etc/apt/sources.list.d/nginx.list && \ 25 | echo "deb-src http://nginx.org/packages/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && \ 26 | apt update && \ 27 | apt install -y --no-install-recommends \ 28 | nginx \ 29 | supervisor \ 30 | php8.4-apcu \ 31 | php8.4-bz2 \ 32 | php8.4-bcmath \ 33 | php8.4-calendar \ 34 | php8.4-cgi \ 35 | php8.4-cli \ 36 | php8.4-ctype \ 37 | php8.4-curl \ 38 | php8.4-fpm \ 39 | php8.4-gettext \ 40 | php8.4-gd \ 41 | php8.4-intl \ 42 | php8.4-imap \ 43 | php8.4-ldap \ 44 | php8.4-mbstring \ 45 | php8.4-memcached \ 46 | # php8.4-mongo \ 47 | php8.4-mysql \ 48 | php8.4-pdo \ 49 | php8.4-pgsql \ 50 | php8.4-redis \ 51 | php8.4-soap \ 52 | php8.4-sqlite3 \ 53 | php8.4-ssh2 \ 54 | php8.4-tidy \ 55 | php8.4-zip \ 56 | php8.4-xmlrpc \ 57 | php8.4-xsl && \ 58 | # COMPOSER ################################################################# 59 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ 60 | # NGINX #################################################################### 61 | ln -sf /dev/stdout /var/log/nginx/access.log && \ 62 | ln -sf /dev/stderr /var/log/nginx/error.log && \ 63 | # CLEAN UP ################################################################# 64 | rm /etc/nginx/conf.d/default.conf && \ 65 | apt clean -y && \ 66 | apt autoclean -y && \ 67 | apt remove -y wget && \ 68 | apt autoremove -y && \ 69 | rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* 70 | 71 | # PHP 72 | ADD ./php/php-fpm.conf /etc/php/8.4/ 73 | ADD ./php/php.ini /etc/php/8.4/conf.d/ 74 | 75 | # NGINX 76 | ADD ./nginx/nginx.conf /etc/nginx/ 77 | ADD ./nginx/mime.types /etc/nginx/ 78 | ADD ./nginx/sites.d /etc/nginx/sites.d 79 | 80 | # WWW 81 | ADD ./www /srv/www/ 82 | 83 | # SUPERVISOR 84 | ADD ./supervisor/supervisord.conf /etc/supervisor/ 85 | ADD ./supervisor/services /etc/supervisor/conf.d/ 86 | 87 | # APPLICATION 88 | WORKDIR /srv 89 | 90 | # PORTS 91 | EXPOSE 80 92 | COPY entrypoint.sh /usr/sbin/entrypoint.sh 93 | RUN chmod +x /usr/sbin/entrypoint.sh 94 | CMD ["/usr/sbin/entrypoint.sh"] 95 | -------------------------------------------------------------------------------- /debian-php-84/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # loop through all the environment variables and append them to /etc/environment 4 | # because cron doesn't "see" docker environment variables 5 | echo -n > /etc/environment 6 | while IFS='=' read -r key value; do 7 | if [[ ! -z "$key" && ! -z "$value" ]]; then 8 | echo "$key=\"$value\"" >> /etc/environment 9 | fi 10 | done < <(printenv) 11 | 12 | # run supervisord 13 | supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf 14 | -------------------------------------------------------------------------------- /debian-php-84/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | application/vnd.geo+json geojson; 10 | application/xml rdf xml; 11 | 12 | 13 | # JavaScript 14 | 15 | # Normalize to standard type. 16 | # https://tools.ietf.org/html/rfc4329#section-7.2 17 | application/javascript js; 18 | 19 | 20 | # Manifest files 21 | 22 | application/manifest+json webmanifest; 23 | application/x-web-app-manifest+json webapp; 24 | text/cache-manifest appcache; 25 | 26 | 27 | # Media files 28 | 29 | audio/midi mid midi kar; 30 | audio/mp4 aac f4a f4b m4a; 31 | audio/mpeg mp3; 32 | audio/ogg oga ogg opus; 33 | audio/x-realaudio ra; 34 | audio/x-wav wav; 35 | image/bmp bmp; 36 | image/gif gif; 37 | image/jpeg jpeg jpg; 38 | image/png png; 39 | image/svg+xml svg svgz; 40 | image/tiff tif tiff; 41 | image/vnd.wap.wbmp wbmp; 42 | image/webp webp; 43 | image/x-jng jng; 44 | video/3gpp 3gp 3gpp; 45 | video/mp4 f4p f4v m4v mp4; 46 | video/mpeg mpeg mpg; 47 | video/ogg ogv; 48 | video/quicktime mov; 49 | video/webm webm; 50 | video/x-flv flv; 51 | video/x-mng mng; 52 | video/x-ms-asf asf asx; 53 | video/x-ms-wmv wmv; 54 | video/x-msvideo avi; 55 | 56 | # Serving `.ico` image files with a different media type 57 | # prevents Internet Explorer from displaying then as images: 58 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 59 | 60 | image/x-icon cur ico; 61 | 62 | 63 | # Microsoft Office 64 | 65 | application/msword doc; 66 | application/vnd.ms-excel xls; 67 | application/vnd.ms-powerpoint ppt; 68 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 69 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 70 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 71 | 72 | 73 | # Web fonts 74 | 75 | application/font-woff woff; 76 | application/font-woff2 woff2; 77 | application/vnd.ms-fontobject eot; 78 | 79 | # Browsers usually ignore the font media types and simply sniff 80 | # the bytes to figure out the font type. 81 | # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern 82 | # 83 | # However, Blink and WebKit based browsers will show a warning 84 | # in the console if the following font types are served with any 85 | # other media types. 86 | 87 | application/x-font-ttf ttc ttf; 88 | font/opentype otf; 89 | 90 | 91 | # Other 92 | 93 | application/java-archive ear jar war; 94 | application/mac-binhex40 hqx; 95 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 96 | application/pdf pdf; 97 | application/postscript ai eps ps; 98 | application/rtf rtf; 99 | application/vnd.google-earth.kml+xml kml; 100 | application/vnd.google-earth.kmz kmz; 101 | application/vnd.wap.wmlc wmlc; 102 | application/x-7z-compressed 7z; 103 | application/x-bb-appworld bbaw; 104 | application/x-bittorrent torrent; 105 | application/x-chrome-extension crx; 106 | application/x-cocoa cco; 107 | application/x-java-archive-diff jardiff; 108 | application/x-java-jnlp-file jnlp; 109 | application/x-makeself run; 110 | application/x-opera-extension oex; 111 | application/x-perl pl pm; 112 | application/x-pilot pdb prc; 113 | application/x-rar-compressed rar; 114 | application/x-redhat-package-manager rpm; 115 | application/x-sea sea; 116 | application/x-shockwave-flash swf; 117 | application/x-stuffit sit; 118 | application/x-tcl tcl tk; 119 | application/x-x509-ca-cert crt der pem; 120 | application/x-xpinstall xpi; 121 | application/xhtml+xml xhtml; 122 | application/xslt+xml xsl; 123 | application/zip zip; 124 | text/css css; 125 | text/html htm html shtml; 126 | text/mathml mml; 127 | text/plain txt; 128 | text/vcard vcard vcf; 129 | text/vnd.rim.location.xloc xloc; 130 | text/vnd.sun.j2me.app-descriptor jad; 131 | text/vnd.wap.wml wml; 132 | text/vtt vtt; 133 | text/x-component htc; 134 | 135 | } -------------------------------------------------------------------------------- /debian-php-84/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | worker_rlimit_nofile 8192; 4 | 5 | pid /var/run/nginx.pid; 6 | 7 | events { 8 | worker_connections 8000; 9 | } 10 | 11 | http { 12 | 13 | ## 14 | # Basic Settings 15 | ## 16 | 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | types_hash_max_size 2048; 21 | server_tokens off; 22 | 23 | client_max_body_size 128M; 24 | 25 | # server_names_hash_bucket_size 64; 26 | # server_name_in_redirect off; 27 | 28 | ## 29 | # Charset 30 | ## 31 | 32 | include /etc/nginx/mime.types; 33 | default_type application/octet-stream; 34 | charset_types text/css text/plain text/vnd.wap.wml application/javascript application/json application/rss+xml application/xml; 35 | 36 | ## 37 | # Logging Settings 38 | ## 39 | 40 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 41 | '$status $body_bytes_sent "$http_referer" ' 42 | '"$http_user_agent" "$http_x_forwarded_for"'; 43 | 44 | access_log /var/log/nginx/access.log; 45 | error_log /var/log/nginx/error.log warn; 46 | 47 | ## 48 | # Gzip Settings 49 | ## 50 | 51 | gzip on; 52 | gzip_disable "msie6"; 53 | gzip_comp_level 5; 54 | gzip_min_length 256; 55 | gzip_proxied any; 56 | gzip_vary on; 57 | gzip_types 58 | application/atom+xml 59 | application/javascript 60 | application/json 61 | application/ld+json 62 | application/manifest+json 63 | application/rss+xml 64 | application/vnd.geo+json 65 | application/vnd.ms-fontobject 66 | application/x-font-ttf 67 | application/x-web-app-manifest+json 68 | application/xhtml+xml 69 | application/xml 70 | font/opentype 71 | image/bmp 72 | image/svg+xml 73 | image/x-icon 74 | text/cache-manifest 75 | text/css 76 | text/plain 77 | text/vcard 78 | text/vnd.rim.location.xloc 79 | text/vtt 80 | text/x-component 81 | text/x-cross-domain-policy; 82 | 83 | ## 84 | # Virtual Host Configs 85 | ## 86 | 87 | include /etc/nginx/conf.d/*.conf; 88 | include /etc/nginx/sites.d/*; 89 | } 90 | -------------------------------------------------------------------------------- /debian-php-84/nginx/sites.d/site.conf: -------------------------------------------------------------------------------- 1 | ## 2 | # Virtual Host Configs 3 | ## 4 | upstream app { 5 | server unix:/var/run/php-fpm.sock; 6 | } 7 | 8 | server { 9 | listen 80; 10 | 11 | index index.html index.php; 12 | root /srv/www/; 13 | 14 | location / { 15 | try_files $uri $uri/ /index.php$is_args$args; 16 | } 17 | 18 | location ~* \.php$ { 19 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; 20 | 21 | fastcgi_pass app; 22 | fastcgi_index index.php; 23 | include fastcgi_params; 24 | 25 | fastcgi_param PATH_INFO $fastcgi_path_info; 26 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 27 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 28 | fastcgi_param DOCUMENT_ROOT $realpath_root; 29 | 30 | try_files $uri =404; 31 | } 32 | } -------------------------------------------------------------------------------- /debian-php-84/php/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | 3 | error_log = /proc/self/fd/2 4 | daemonize = yes 5 | 6 | [www] 7 | 8 | ; if we send this to /proc/self/fd/1, it never appears 9 | access.log = /proc/self/fd/2 10 | 11 | user = www-data 12 | group = www-data 13 | 14 | listen = /var/run/php-fpm.sock 15 | listen.owner = www-data 16 | listen.group = www-data 17 | listen.mode = 0660 18 | 19 | pm = dynamic 20 | pm.max_children = 20 21 | pm.start_servers = 5 22 | pm.min_spare_servers = 2 23 | pm.max_spare_servers = 5 24 | pm.max_requests = 500 25 | catch_workers_output = yes 26 | clear_env = no 27 | 28 | php_admin_value[error_log] = /var/log/php-fpm.log 29 | php_admin_value[open_basedir]= "/tmp:/var/tmp:/var/www:/srv" 30 | php_admin_value[upload_tmp_dir] = "/tmp" 31 | -------------------------------------------------------------------------------- /debian-php-84/php/php.ini: -------------------------------------------------------------------------------- 1 | ; Update memory 2 | memory_limit = 256M 3 | upload_max_filesize = 32M 4 | post_max_size = 32M 5 | 6 | ; Dates 7 | date.timezone=Europe/Prague 8 | 9 | ; Mailer 10 | ;sendmail_path = /usr/local/bin/phpmailer 11 | 12 | ; No disabled functions 13 | ;disable_functions = 14 | -------------------------------------------------------------------------------- /debian-php-84/supervisor/services/cron.conf: -------------------------------------------------------------------------------- 1 | [program:cron] 2 | command = /usr/sbin/cron -f 3 | autostart=true 4 | autorestart=true 5 | stdout_logfile=/dev/stdout 6 | stdout_logfile_maxbytes=0 7 | stderr_logfile=/dev/stderr 8 | stderr_logfile_maxbytes=0 9 | -------------------------------------------------------------------------------- /debian-php-84/supervisor/services/nginx.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command = /usr/sbin/nginx -g "daemon off;" 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-84/supervisor/services/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [program:php-fpm] 2 | command = %(ENV_PHP_FPM_BIN)s -F -R -y %(ENV_PHP_FPM_CONF)s 3 | autostart=true 4 | stdout_logfile=/dev/stdout 5 | stdout_logfile_maxbytes=0 6 | stderr_logfile=/dev/stderr 7 | stderr_logfile_maxbytes=0 8 | -------------------------------------------------------------------------------- /debian-php-84/supervisor/supervisord.conf: -------------------------------------------------------------------------------- 1 | ; See more on example documentaion. 2 | ; https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf 3 | 4 | [unix_http_server] 5 | file=/var/run/supervisor.sock 6 | chmod = 0700 7 | chown= nobody:nogroup 8 | username = docker 9 | password = loveit 10 | 11 | [supervisord] 12 | logfile=/var/log/supervisor/supervisord.log 13 | pidfile=/var/run/supervisord.pid 14 | childlogdir=/var/log/supervisor 15 | logfile_maxbytes = 50MB 16 | logfile_backups=10 17 | loglevel = info 18 | nodaemon = true 19 | umask = 022 20 | identifier = supervisor 21 | 22 | [rpcinterface:supervisor] 23 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 24 | 25 | [supervisorctl] 26 | serverurl=unix:///var/run/supervisor.sock 27 | username = docker 28 | password = loveit 29 | 30 | [include] 31 | files = /etc/supervisor/conf.d/*.conf 32 | -------------------------------------------------------------------------------- /debian-php-84/www/dockette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockette/web/73ad16a95d655d5de611c6486b0b1391a65f5602/debian-php-84/www/dockette.png -------------------------------------------------------------------------------- /debian-php-84/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dockette 5 | 6 | 7 |
8 |

Dockette

9 |

It works!

10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /debian-php-84/www/phpinfo.php: -------------------------------------------------------------------------------- 1 |