├── .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 | 
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 |