@wocker/ws 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/presets/php-apache/Dockerfile +24 -0
- package/presets/php-apache/config.json +4 -1
- package/presets/php-fpm/Dockerfile +164 -12
- package/presets/php-fpm/bin/compare-version +3 -0
- package/presets/php-fpm/config.json +34 -5
- package/presets/php-fpm/etc/nginx/sites-available/default.conf +36 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wocker/ws",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"author": "Kris Papercut <krispcut@gmail.com>",
|
|
5
5
|
"description": "Docker workspace for web projects",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"reflect-metadata": "^0.2.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@types/dockerode": "
|
|
47
|
+
"@types/dockerode": "3.3.23",
|
|
48
48
|
"@types/inquirer": "^7.0.0",
|
|
49
49
|
"@types/jest": "^29.5.12",
|
|
50
50
|
"@types/lodash": "^4.14.161",
|
|
@@ -58,6 +58,6 @@
|
|
|
58
58
|
"eslint-plugin-import": "^2.28.1",
|
|
59
59
|
"eslint-plugin-node": "^11.1.0",
|
|
60
60
|
"eslint-webpack-plugin": "^3.1.0",
|
|
61
|
-
"typescript": "^5.
|
|
61
|
+
"typescript": "^5.4.2"
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -117,6 +117,7 @@ RUN if [ "$PCNTL_ENABLE" = "true" ]; then \
|
|
|
117
117
|
docker-php-ext-enable pcntl; \
|
|
118
118
|
fi
|
|
119
119
|
|
|
120
|
+
# Soap
|
|
120
121
|
ARG SOAP_ENABLE=false
|
|
121
122
|
RUN if [ "$SOAP_ENABLE" = "true" ]; then \
|
|
122
123
|
apt-get update && apt-get install -y \
|
|
@@ -125,10 +126,33 @@ RUN if [ "$SOAP_ENABLE" = "true" ]; then \
|
|
|
125
126
|
docker-php-ext-enable soap; \
|
|
126
127
|
fi
|
|
127
128
|
|
|
129
|
+
# XDebug
|
|
128
130
|
ARG XDEBUG_ENABLE=false
|
|
129
131
|
RUN if [ "$XDEBUG_ENABLE" = "true" ]; then \
|
|
130
132
|
pecl install xdebug && \
|
|
131
133
|
docker-php-ext-enable xdebug; \
|
|
134
|
+
fi \
|
|
135
|
+
|
|
136
|
+
# Gettext
|
|
137
|
+
ARG GETTEXT_ENABLE=false
|
|
138
|
+
RUN if [ "$GETTEXT_ENABLE" = "true" ]; then \
|
|
139
|
+
apt-get update && apt-get install -y gettext && \
|
|
140
|
+
docker-php-ext-install -j "$(nproc)" gettext && \
|
|
141
|
+
docker-php-ext-enable gettext; \
|
|
142
|
+
fi
|
|
143
|
+
|
|
144
|
+
# Bcmath
|
|
145
|
+
ARG BCMATH_ENABLE=false
|
|
146
|
+
RUN if [ "$BCMATH_ENABLE" = "true" ]; then \
|
|
147
|
+
docker-php-ext-install -j "$(nproc)" bcmath && \
|
|
148
|
+
docker-php-ext-enable bcmath; \
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
# Sockets
|
|
152
|
+
ARG SOCKETS_ENABLE=false
|
|
153
|
+
RUN if [ "$SOCKETS_ENABLE" = "true" ]; then \
|
|
154
|
+
docker-php-ext-install sockets && \
|
|
155
|
+
docker-php-ext-enable sockets; \
|
|
132
156
|
fi
|
|
133
157
|
|
|
134
158
|
#RUN compare-version $PHP_VERSION "7.3" && \
|
|
@@ -29,7 +29,10 @@
|
|
|
29
29
|
"INTL_ENABLE": "Intl",
|
|
30
30
|
"PCNTL_ENABLE": "Pcntl",
|
|
31
31
|
"SOAP_ENABLE": "Soap",
|
|
32
|
-
"XDEBUG_ENABLE": "XDebug"
|
|
32
|
+
"XDEBUG_ENABLE": "XDebug",
|
|
33
|
+
"GETTEXT_ENABLE": "GetText",
|
|
34
|
+
"BCMATH_ENABLE": "Bcmath",
|
|
35
|
+
"SOCKETS_ENABLE": "Sockets"
|
|
33
36
|
}
|
|
34
37
|
},
|
|
35
38
|
"COMPOSER_ENABLE": {
|
|
@@ -2,20 +2,172 @@ ARG PHP_VERSION
|
|
|
2
2
|
|
|
3
3
|
FROM php:${PHP_VERSION}-fpm
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# WS Tools
|
|
6
|
+
ADD ./bin/compare-version /usr/local/bin/compare-version
|
|
7
|
+
RUN chmod +x /usr/local/bin/compare-version
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# echo "exec docker-php-entrypoint \"\$@\"" >> /usr/local/bin/docker-entrypoint && \
|
|
11
|
-
# chmod 775 /usr/local/bin/docker-entrypoint && \
|
|
12
|
-
# chmod +x /usr/local/bin/docker-entrypoint
|
|
9
|
+
RUN apt-get update --fix-missing -y && \
|
|
10
|
+
apt-get install -y curl git nginx && \
|
|
11
|
+
chown -R www-data:www-data /var/lib/nginx
|
|
13
12
|
|
|
14
|
-
#
|
|
15
|
-
|
|
13
|
+
# Http
|
|
14
|
+
ARG HTTP_ENABLE=false
|
|
15
|
+
RUN if [ "$HTTP_ENABLE" = "true" ]; then \
|
|
16
|
+
apt-get update && apt-get install -y \
|
|
17
|
+
libpcre3-dev \
|
|
18
|
+
libssl-dev \
|
|
19
|
+
libcurl4-openssl-dev \
|
|
20
|
+
libicu-dev \
|
|
21
|
+
g++ \
|
|
22
|
+
zlib1g-dev && \
|
|
23
|
+
docker-php-ext-install pcntl && \
|
|
24
|
+
pecl install raphf && docker-php-ext-enable raphf && \
|
|
25
|
+
pecl install pecl_http && docker-php-ext-enable http; \
|
|
26
|
+
fi
|
|
16
27
|
|
|
17
|
-
|
|
28
|
+
# Mysqli
|
|
29
|
+
ARG MYSQLI_ENABLE=false
|
|
30
|
+
RUN if [ "$MYSQLI_ENABLE" = "true" ]; then \
|
|
31
|
+
docker-php-ext-install -j "$(nproc)" mysqli && \
|
|
32
|
+
docker-php-ext-enable mysqli; \
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
# pdo
|
|
36
|
+
ARG PDO_MYSQL_ENABLE=false
|
|
37
|
+
RUN if [ "$PDO_MYSQL_ENABLE" = "true" ]; then \
|
|
38
|
+
docker-php-ext-install pdo pdo_mysql && \
|
|
39
|
+
docker-php-ext-enable pdo_mysql; \
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# pgsql
|
|
43
|
+
ARG PGSQL_ENABLE=false
|
|
44
|
+
RUN if [ "$PGSQL_ENABLE" = "true" ]; then \
|
|
45
|
+
apt-get install -y libpq-dev && \
|
|
46
|
+
docker-php-ext-install -j "$(nproc)" pgsql pdo_pgsql && \
|
|
47
|
+
docker-php-ext-enable pgsql pdo_pgsql; \
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
#gd
|
|
51
|
+
ARG GD_ENABLE=false
|
|
52
|
+
RUN if [ "$GD_ENABLE" = "true" ]; then \
|
|
53
|
+
apt-get update && apt-get install -y \
|
|
54
|
+
libfreetype6-dev \
|
|
55
|
+
libjpeg62-turbo-dev \
|
|
56
|
+
libpng-dev && \
|
|
57
|
+
compare-version $PHP_VERSION "7.3" && \
|
|
58
|
+
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include || \
|
|
59
|
+
docker-php-ext-configure gd --with-freetype --with-jpeg && \
|
|
60
|
+
docker-php-ext-install -j$(nproc) gd && \
|
|
61
|
+
docker-php-ext-install exif; \
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
# Zip
|
|
65
|
+
ARG ZIP_ENABLE=false
|
|
66
|
+
RUN if [ "$ZIP_ENABLE" = "true" ]; then \
|
|
67
|
+
apt-get install -y libzip-dev zip unzip && \
|
|
68
|
+
docker-php-ext-configure zip && \
|
|
69
|
+
docker-php-ext-install -j "$(nproc)" zip; \
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
# memcache
|
|
73
|
+
ARG MEMCACHE_ENABLE=false
|
|
74
|
+
RUN if [ "$MEMCACHE_ENABLE" = "true" ]; then \
|
|
75
|
+
apt-get update && apt-get install -y \
|
|
76
|
+
zlib1g-dev \
|
|
77
|
+
libmemcached-dev && \
|
|
78
|
+
pecl install memcache && docker-php-ext-enable memcache; \
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# memcached
|
|
82
|
+
ARG MEMCACHED_ENABLE=false
|
|
83
|
+
RUN if [ "$MEMCACHED_ENABLE" = "true" ]; then \
|
|
84
|
+
apt-get update && apt-get install -y \
|
|
85
|
+
libcurl4-openssl-dev \
|
|
86
|
+
libssl-dev \
|
|
87
|
+
libmemcached-dev \
|
|
88
|
+
zlib1g-dev && \
|
|
89
|
+
pecl install memcached && docker-php-ext-enable memcached; \
|
|
90
|
+
fi
|
|
91
|
+
|
|
92
|
+
# Intl
|
|
93
|
+
ARG INTL_ENABLE=false
|
|
94
|
+
RUN if [ "$INTL_ENABLE" = "true" ]; then \
|
|
95
|
+
apt-get update && apt-get install -y \
|
|
96
|
+
libicu-dev && \
|
|
97
|
+
docker-php-ext-configure intl && \
|
|
98
|
+
docker-php-ext-install intl; \
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
# Pcntl
|
|
102
|
+
ARG PCNTL_ENABLE=false
|
|
103
|
+
RUN if [ "$PCNTL_ENABLE" = "true" ]; then \
|
|
104
|
+
docker-php-ext-install pcntl && \
|
|
105
|
+
docker-php-ext-enable pcntl; \
|
|
106
|
+
fi
|
|
107
|
+
|
|
108
|
+
# Soap
|
|
109
|
+
ARG SOAP_ENABLE=false
|
|
110
|
+
RUN if [ "$SOAP_ENABLE" = "true" ]; then \
|
|
111
|
+
apt-get update && apt-get install -y \
|
|
112
|
+
libxml2-dev && \
|
|
113
|
+
docker-php-ext-install soap && \
|
|
114
|
+
docker-php-ext-enable soap; \
|
|
115
|
+
fi
|
|
18
116
|
|
|
117
|
+
# XDebug
|
|
118
|
+
ARG XDEBUG_ENABLE=false
|
|
119
|
+
RUN if [ "$XDEBUG_ENABLE" = "true" ]; then \
|
|
120
|
+
pecl install xdebug && \
|
|
121
|
+
docker-php-ext-enable xdebug; \
|
|
122
|
+
fi
|
|
123
|
+
|
|
124
|
+
# Gettext
|
|
125
|
+
ARG GETTEXT_ENABLE=false
|
|
126
|
+
RUN if [ "$GETTEXT_ENABLE" = "true" ]; then \
|
|
127
|
+
apt-get update && apt-get install -y gettext && \
|
|
128
|
+
docker-php-ext-install -j "$(nproc)" gettext && \
|
|
129
|
+
docker-php-ext-enable gettext; \
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
# Bcmath
|
|
133
|
+
ARG BCMATH_ENABLE=false
|
|
134
|
+
RUN if [ "$BCMATH_ENABLE" = "true" ]; then \
|
|
135
|
+
docker-php-ext-install -j "$(nproc)" bcmath && \
|
|
136
|
+
docker-php-ext-enable bcmath; \
|
|
137
|
+
fi
|
|
138
|
+
|
|
139
|
+
# Sockets
|
|
140
|
+
ARG SOCKETS_ENABLE=false
|
|
141
|
+
RUN if [ "$SOCKETS_ENABLE" = "true" ]; then \
|
|
142
|
+
docker-php-ext-install sockets && \
|
|
143
|
+
docker-php-ext-enable sockets; \
|
|
144
|
+
fi
|
|
145
|
+
|
|
146
|
+
# Composer
|
|
147
|
+
ARG COMPOSER_ENABLE=false
|
|
148
|
+
|
|
149
|
+
SHELL ["/bin/bash", "-c"]
|
|
150
|
+
RUN if [ "$COMPOSER_ENABLE" = "true" ]; then \
|
|
151
|
+
apt-get update && \
|
|
152
|
+
apt-get install -y bash-completion; \
|
|
153
|
+
echo "source /etc/bash_completion" >> /home/$USER/.bashrc; \
|
|
154
|
+
mkdir -p /home/$USER/.composer; \
|
|
155
|
+
curl -sL https://getcomposer.org/installer | php && \
|
|
156
|
+
mv composer.phar /usr/local/bin/composer && \
|
|
157
|
+
chmod +x /usr/local/bin/composer; \
|
|
158
|
+
echo ". <(composer completion bash)" >> /home/$USER/.bashrc; \
|
|
159
|
+
fi
|
|
160
|
+
SHELL ["/bin/sh", "-c"]
|
|
161
|
+
|
|
162
|
+
ARG WORKDIR=/var/www
|
|
163
|
+
ARG NGINX_DOCUMENT_ROOT=/var/www
|
|
164
|
+
WORKDIR $WORKDIR
|
|
165
|
+
|
|
166
|
+
ADD etc/nginx/sites-available/default.conf /tmp/default.conf.txt
|
|
167
|
+
RUN envsubst '\${NGINX_DOCUMENT_ROOT}' < /tmp/default.conf.txt > /etc/nginx/sites-available/default.conf
|
|
168
|
+
|
|
169
|
+
EXPOSE 80
|
|
170
|
+
EXPOSE 9000
|
|
19
171
|
|
|
20
|
-
#
|
|
21
|
-
CMD
|
|
172
|
+
#CMD ["nginx", "-g", "daemon off;"]
|
|
173
|
+
CMD service nginx start && php-fpm
|
|
@@ -10,16 +10,45 @@
|
|
|
10
10
|
"8.1",
|
|
11
11
|
"8.2"
|
|
12
12
|
]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
},
|
|
14
|
+
"EXTENSIONS": {
|
|
15
|
+
"type": "select",
|
|
16
|
+
"multiple": true,
|
|
17
|
+
"message": "Extensions",
|
|
18
|
+
"options": {
|
|
19
|
+
"MYSQLI_ENABLE": "Mysqli",
|
|
20
|
+
"PDO_MYSQL_ENABLE": "PDO",
|
|
21
|
+
"PGSQL_ENABLE": "Pgsql",
|
|
22
|
+
"GD_ENABLE": "GD",
|
|
23
|
+
"ZIP_ENABLE": "Zip",
|
|
24
|
+
"MEMCACHE_ENABLE": "Memcache",
|
|
25
|
+
"MEMCACHED_ENABLE": "Memcached",
|
|
26
|
+
"HTTP_ENABLE": "Raphf+Http",
|
|
27
|
+
"INTL_ENABLE": "Intl",
|
|
28
|
+
"PCNTL_ENABLE": "Pcntl",
|
|
29
|
+
"SOAP_ENABLE": "Soap",
|
|
30
|
+
"XDEBUG_ENABLE": "XDebug",
|
|
31
|
+
"GETTEXT_ENABLE": "GetText",
|
|
32
|
+
"BCMATH_ENABLE": "Bcmath",
|
|
33
|
+
"SOCKETS_ENABLE": "Sockets"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"COMPOSER_ENABLE": {
|
|
37
|
+
"message": "Install composer?",
|
|
38
|
+
"type": "boolean"
|
|
39
|
+
},
|
|
16
40
|
"WORKDIR": {
|
|
17
41
|
"type": "string",
|
|
18
42
|
"message": "Workdir",
|
|
19
|
-
"default": "/var/www
|
|
43
|
+
"default": "/var/www"
|
|
44
|
+
},
|
|
45
|
+
"NGINX_DOCUMENT_ROOT": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"message": "Nginx document root",
|
|
48
|
+
"default": "/var/www"
|
|
20
49
|
}
|
|
21
50
|
},
|
|
22
51
|
"volumeOptions": [
|
|
23
|
-
"./:/var/www
|
|
52
|
+
"./:/var/www"
|
|
24
53
|
]
|
|
25
54
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
server {
|
|
2
|
+
listen 80 default_server;
|
|
3
|
+
root ${NGINX_DOCUMENT_ROOT};
|
|
4
|
+
|
|
5
|
+
index index.php index.html index.htm;
|
|
6
|
+
|
|
7
|
+
server_name _;
|
|
8
|
+
|
|
9
|
+
if ($request_uri ~ "index\.(php|htm|html|asp|cfm|jsp)") {
|
|
10
|
+
rewrite ^(.*/).*$ $1 permanent;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
location / {
|
|
14
|
+
try_files $uri $uri/ @rew;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
location @rew {
|
|
18
|
+
rewrite ^(.*)$ /index.php last;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
location ~ \.php$ {
|
|
22
|
+
include fastcgi.conf;
|
|
23
|
+
include fastcgi_params;
|
|
24
|
+
fastcgi_read_timeout 30s;
|
|
25
|
+
try_files $uri /index.php;
|
|
26
|
+
fastcgi_param SCRIPT_FILENAME $request_filename;
|
|
27
|
+
fastcgi_pass 127.0.0.1:9000;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# deny access to .htaccess files, if Apache's document root
|
|
31
|
+
# concurs with nginx's one
|
|
32
|
+
#
|
|
33
|
+
location ~ /\.(ht|env|git|ide)* {
|
|
34
|
+
return 404;
|
|
35
|
+
}
|
|
36
|
+
}
|