@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wocker/ws",
3
- "version": "1.0.6",
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": "^3.3.23",
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.3.3"
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
- #RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
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
- #RUN touch /usr/local/bin/docker-entrypoint && \
8
- # echo "#!/bin/sh" >> /usr/local/bin/docker-entrypoint && \
9
- # echo "" >> /usr/local/bin/docker-entrypoint && \
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
- #ENV WORKDIR /var/www/html
15
- WORKDIR /var/www/html
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
- EXPOSE 9000
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
- #ENTRYPOINT ["docker-entrypoint"]
21
- CMD ["php-fpm"]
172
+ #CMD ["nginx", "-g", "daemon off;"]
173
+ CMD service nginx start && php-fpm
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ printf '%s\n%s\n' "$2" "$1" | sort --check=quiet --version-sort
@@ -10,16 +10,45 @@
10
10
  "8.1",
11
11
  "8.2"
12
12
  ]
13
- }
14
- },
15
- "envOptions": {
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/html"
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/html"
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
+ }