@powerhousedao/ph-cli 2.5.0-dev.2 → 2.5.0-dev.21
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/dist/package.json +1 -1
- package/dist/scripts/manage-environment +8 -1
- package/dist/scripts/setup-environment +121 -151
- package/dist/src/help.d.ts +1 -1
- package/dist/src/help.d.ts.map +1 -1
- package/dist/src/help.js +4 -6
- package/dist/src/help.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +9 -9
package/dist/package.json
CHANGED
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
PROJECT_NAME=${1:-"global"}
|
|
7
7
|
ACTION=${2:-"status"}
|
|
8
8
|
|
|
9
|
+
# Get Switchboard port from .env or use default
|
|
10
|
+
if [ -f ".env" ]; then
|
|
11
|
+
SWITCHBOARD_PORT=$(grep "SWITCHBOARD_PORT=" .env | cut -d'=' -f2)
|
|
12
|
+
fi
|
|
13
|
+
SWITCHBOARD_PORT=${SWITCHBOARD_PORT:-4001}
|
|
14
|
+
|
|
9
15
|
# =============================================================================
|
|
10
16
|
# OS Detection and Windows Handling
|
|
11
17
|
# =============================================================================
|
|
@@ -87,6 +93,7 @@ else
|
|
|
87
93
|
# Build Connect
|
|
88
94
|
echo "Building Connect..."
|
|
89
95
|
ph connect build
|
|
96
|
+
sudo rm -rf /var/www/html/${PROJECT_NAME}
|
|
90
97
|
sudo cp -r .ph/connect-build/dist /var/www/html/${PROJECT_NAME}
|
|
91
98
|
|
|
92
99
|
# Enable Nginx site
|
|
@@ -95,7 +102,7 @@ else
|
|
|
95
102
|
# Start Switchboard via PM2
|
|
96
103
|
if ! pm2 list | grep -q "switchboard_${PROJECT_NAME}"; then
|
|
97
104
|
cd $PROJECT_NAME
|
|
98
|
-
pm2 start "pnpm switchboard" --name "switchboard_${PROJECT_NAME}"
|
|
105
|
+
pm2 start "pnpm switchboard --port $SWITCHBOARD_PORT" --name "switchboard_${PROJECT_NAME}"
|
|
99
106
|
pm2 save
|
|
100
107
|
else
|
|
101
108
|
pm2 start "switchboard_${PROJECT_NAME}"
|
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
TARGET_TAG=${1:-"latest"}
|
|
7
7
|
PROJECT_NAME=${2:-"global"}
|
|
8
8
|
|
|
9
|
+
# Function to find an available port
|
|
10
|
+
find_available_port() {
|
|
11
|
+
local port=4001
|
|
12
|
+
while netstat -tuln | grep -q ":$port "; do
|
|
13
|
+
port=$((port + 1))
|
|
14
|
+
done
|
|
15
|
+
echo $port
|
|
16
|
+
}
|
|
17
|
+
|
|
9
18
|
# =============================================================================
|
|
10
19
|
# OS Detection and Windows Handling
|
|
11
20
|
# =============================================================================
|
|
@@ -21,6 +30,7 @@ else
|
|
|
21
30
|
# Package Installation
|
|
22
31
|
# =============================================================================
|
|
23
32
|
sudo apt install -y postgresql postgresql-contrib nginx libnginx-mod-http-brotli-static libnginx-mod-http-brotli-filter
|
|
33
|
+
sudo sed -i 's/# gzip_vary/gzip_vary/; s/# gzip_proxied/gzip_proxied/; s/# gzip_comp_level/gzip_comp_level/; s/# gzip_buffers/gzip_buffers/; s/# gzip_http_version/gzip_http_version/; s/# gzip_types/gzip_types/' /etc/nginx/nginx.conf
|
|
24
34
|
|
|
25
35
|
# =============================================================================
|
|
26
36
|
# Interactive Package Installation
|
|
@@ -112,6 +122,30 @@ EOF
|
|
|
112
122
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
113
123
|
echo " SSL Configuration"
|
|
114
124
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
125
|
+
|
|
126
|
+
# Find an available port for Switchboard
|
|
127
|
+
SWITCHBOARD_PORT=$(find_available_port)
|
|
128
|
+
echo "Using port $SWITCHBOARD_PORT for Switchboard"
|
|
129
|
+
|
|
130
|
+
# Save Switchboard port to configuration
|
|
131
|
+
echo "SWITCHBOARD_PORT=$SWITCHBOARD_PORT" | sudo tee -a .env
|
|
132
|
+
|
|
133
|
+
# Add compression settings to nginx.conf if not exists
|
|
134
|
+
if ! grep -q "brotli_comp_level" /etc/nginx/nginx.conf || ! grep -q "gzip_comp_level" /etc/nginx/nginx.conf; then
|
|
135
|
+
echo "Adding compression settings to nginx.conf..."
|
|
136
|
+
# Find the http block in nginx.conf
|
|
137
|
+
if ! grep -q "brotli_comp_level" /etc/nginx/nginx.conf; then
|
|
138
|
+
sudo sed -i '/http {/a \ # Brotli compression\n brotli on;\n brotli_comp_level 6;\n brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;\n brotli_static on;' /etc/nginx/nginx.conf
|
|
139
|
+
fi
|
|
140
|
+
if ! grep -q "gzip_comp_level" /etc/nginx/nginx.conf; then
|
|
141
|
+
sudo sed -i '/http {/a \ # Gzip compression\n gzip on;\n gzip_vary on;\n gzip_proxied any;\n gzip_comp_level 6;\n gzip_buffers 16 8k;\n gzip_http_version 1.1;\n gzip_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;' /etc/nginx/nginx.conf
|
|
142
|
+
fi
|
|
143
|
+
else
|
|
144
|
+
echo "Compression settings already present in nginx.conf"
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
115
149
|
echo "Choose SSL configuration:"
|
|
116
150
|
echo "1) Let's Encrypt certificates for domains"
|
|
117
151
|
echo "2) Self-signed certificate for machine hostname"
|
|
@@ -129,132 +163,58 @@ EOF
|
|
|
129
163
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
130
164
|
read -p "Enter Connect domain (e.g. connect.google.com): " connect_domain
|
|
131
165
|
read -p "Enter Switchboard domain (e.g. switchboard.google.com): " switchboard_domain
|
|
166
|
+
read -p "Enter admin email for Let's Encrypt notifications: " admin_email
|
|
132
167
|
|
|
133
168
|
echo "Using domains:"
|
|
134
169
|
echo "Connect: $connect_domain"
|
|
135
170
|
echo "Switchboard: $switchboard_domain"
|
|
136
171
|
|
|
137
|
-
#
|
|
138
|
-
echo "
|
|
139
|
-
sudo
|
|
140
|
-
sudo openssl req -x509 -nodes -days 1 -newkey rsa:2048 \
|
|
141
|
-
-keyout /etc/nginx/ssl/temp.key \
|
|
142
|
-
-out /etc/nginx/ssl/temp.crt \
|
|
143
|
-
-subj "/CN=$connect_domain" \
|
|
144
|
-
-addext "subjectAltName = DNS:$connect_domain,DNS:$switchboard_domain"
|
|
145
|
-
|
|
146
|
-
# Check if Nginx configuration already exists
|
|
147
|
-
if [ -f "/etc/nginx/sites-available/$PROJECT_NAME" ]; then
|
|
148
|
-
echo "Nginx configuration for $PROJECT_NAME already exists"
|
|
149
|
-
read -p "Do you want to overwrite it? (y/n): " overwrite_nginx
|
|
150
|
-
if [ "$overwrite_nginx" != "y" ]; then
|
|
151
|
-
echo "Keeping existing Nginx configuration"
|
|
152
|
-
else
|
|
153
|
-
# Create Nginx configuration for domains
|
|
154
|
-
echo "Creating Nginx configuration..."
|
|
155
|
-
sudo tee /etc/nginx/sites-available/$PROJECT_NAME > /dev/null << EOF
|
|
156
|
-
# Security headers
|
|
157
|
-
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
158
|
-
add_header X-Frame-Options DENY;
|
|
159
|
-
add_header X-Content-Type-Options nosniff;
|
|
160
|
-
add_header X-XSS-Protection "1; mode=block";
|
|
161
|
-
|
|
162
|
-
# Compression settings
|
|
163
|
-
brotli on;
|
|
164
|
-
brotli_comp_level 6;
|
|
165
|
-
brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
|
|
166
|
-
brotli_static on;
|
|
167
|
-
|
|
168
|
-
gzip on;
|
|
169
|
-
gzip_vary on;
|
|
170
|
-
gzip_proxied any;
|
|
171
|
-
gzip_comp_level 6;
|
|
172
|
-
gzip_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
|
|
173
|
-
gzip_min_length 1000;
|
|
174
|
-
gzip_buffers 16 8k;
|
|
175
|
-
|
|
172
|
+
# Create initial Nginx configuration for certbot
|
|
173
|
+
echo "Creating initial Nginx configuration..."
|
|
174
|
+
sudo tee /etc/nginx/sites-available/$PROJECT_NAME > /dev/null << EOF
|
|
176
175
|
server {
|
|
177
176
|
listen 80;
|
|
178
177
|
server_name $connect_domain $switchboard_domain;
|
|
179
|
-
return 301 https://\$host\$request_uri;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
server {
|
|
183
|
-
listen 443 ssl http2;
|
|
184
|
-
server_name $connect_domain;
|
|
185
|
-
|
|
186
|
-
ssl_certificate /etc/nginx/ssl/temp.crt;
|
|
187
|
-
ssl_certificate_key /etc/nginx/ssl/temp.key;
|
|
188
|
-
|
|
189
|
-
# SSL configuration
|
|
190
|
-
ssl_protocols TLSv1.2 TLSv1.3;
|
|
191
|
-
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
|
192
|
-
ssl_prefer_server_ciphers off;
|
|
193
|
-
ssl_session_timeout 1d;
|
|
194
|
-
ssl_session_cache shared:SSL:50m;
|
|
195
|
-
ssl_session_tickets off;
|
|
196
|
-
ssl_stapling on;
|
|
197
|
-
ssl_stapling_verify on;
|
|
198
|
-
|
|
199
|
-
if (\$http_x_forwarded_proto = "http") {
|
|
200
|
-
return 301 https://\$server_name\$request_uri;
|
|
201
|
-
}
|
|
202
178
|
|
|
203
179
|
location / {
|
|
204
|
-
root
|
|
180
|
+
root /var/www/html/$PROJECT_NAME;
|
|
205
181
|
try_files \$uri \$uri/ /index.html;
|
|
206
|
-
add_header Cache-Control "no-cache";
|
|
207
|
-
add_header X-Forwarded-Proto \$scheme;
|
|
208
|
-
add_header X-Forwarded-Host \$host;
|
|
209
|
-
add_header X-Forwarded-Port \$server_port;
|
|
210
182
|
}
|
|
211
|
-
}
|
|
212
183
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
server_name $switchboard_domain;
|
|
216
|
-
|
|
217
|
-
ssl_certificate /etc/nginx/ssl/temp.crt;
|
|
218
|
-
ssl_certificate_key /etc/nginx/ssl/temp.key;
|
|
219
|
-
|
|
220
|
-
location / {
|
|
221
|
-
proxy_pass http://localhost:4001;
|
|
222
|
-
proxy_http_version 1.1;
|
|
223
|
-
proxy_set_header Upgrade \$http_upgrade;
|
|
224
|
-
proxy_set_header Connection 'upgrade';
|
|
225
|
-
proxy_set_header Host \$host;
|
|
226
|
-
proxy_cache_bypass \$http_upgrade;
|
|
227
|
-
proxy_set_header X-Real-IP \$remote_addr;
|
|
228
|
-
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
|
229
|
-
proxy_set_header X-Forwarded-Proto \$scheme;
|
|
184
|
+
location /.well-known/acme-challenge/ {
|
|
185
|
+
root /var/www/html;
|
|
230
186
|
}
|
|
231
187
|
}
|
|
232
188
|
EOF
|
|
233
|
-
fi
|
|
234
|
-
else
|
|
235
|
-
# Create Nginx configuration for domains
|
|
236
|
-
echo "Creating Nginx configuration..."
|
|
237
|
-
sudo tee /etc/nginx/sites-available/$PROJECT_NAME > /dev/null << EOF
|
|
238
|
-
# Security headers
|
|
239
|
-
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
240
|
-
add_header X-Frame-Options DENY;
|
|
241
|
-
add_header X-Content-Type-Options nosniff;
|
|
242
|
-
add_header X-XSS-Protection "1; mode=block";
|
|
243
|
-
|
|
244
|
-
# Compression settings
|
|
245
|
-
brotli on;
|
|
246
|
-
brotli_comp_level 6;
|
|
247
|
-
brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
|
|
248
|
-
brotli_static on;
|
|
249
|
-
|
|
250
|
-
gzip on;
|
|
251
|
-
gzip_vary on;
|
|
252
|
-
gzip_proxied any;
|
|
253
|
-
gzip_comp_level 6;
|
|
254
|
-
gzip_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
|
|
255
|
-
gzip_min_length 1000;
|
|
256
|
-
gzip_buffers 16 8k;
|
|
257
189
|
|
|
190
|
+
# Enable the site
|
|
191
|
+
sudo ln -sf /etc/nginx/sites-available/$PROJECT_NAME /etc/nginx/sites-enabled/
|
|
192
|
+
sudo rm -f /etc/nginx/sites-enabled/default
|
|
193
|
+
|
|
194
|
+
# Test Nginx configuration
|
|
195
|
+
sudo nginx -t
|
|
196
|
+
|
|
197
|
+
# Restart Nginx to apply changes
|
|
198
|
+
sudo systemctl restart nginx
|
|
199
|
+
|
|
200
|
+
# Obtain SSL certificates
|
|
201
|
+
echo "Obtaining SSL certificates..."
|
|
202
|
+
sudo certbot --nginx -d $connect_domain --non-interactive --agree-tos --email $admin_email --redirect
|
|
203
|
+
sudo certbot --nginx -d $switchboard_domain --non-interactive --agree-tos --email $admin_email --redirect
|
|
204
|
+
|
|
205
|
+
# Wait for certbot to finish and certificates to be installed
|
|
206
|
+
sleep 5
|
|
207
|
+
|
|
208
|
+
# Check if certificates were installed
|
|
209
|
+
if [ ! -f "/etc/letsencrypt/live/$connect_domain/fullchain.pem" ] || [ ! -f "/etc/letsencrypt/live/$switchboard_domain/fullchain.pem" ]; then
|
|
210
|
+
echo "Error: SSL certificates were not installed properly"
|
|
211
|
+
echo "Please check the certbot logs at /var/log/letsencrypt/letsencrypt.log"
|
|
212
|
+
exit 1
|
|
213
|
+
fi
|
|
214
|
+
|
|
215
|
+
# Update Nginx configuration with proper SSL settings
|
|
216
|
+
echo "Updating Nginx configuration with SSL settings..."
|
|
217
|
+
sudo tee /etc/nginx/sites-available/$PROJECT_NAME > /dev/null << EOF
|
|
258
218
|
server {
|
|
259
219
|
listen 80;
|
|
260
220
|
server_name $connect_domain $switchboard_domain;
|
|
@@ -262,11 +222,12 @@ server {
|
|
|
262
222
|
}
|
|
263
223
|
|
|
264
224
|
server {
|
|
265
|
-
listen 443 ssl
|
|
225
|
+
listen 443 ssl;
|
|
226
|
+
http2 on;
|
|
266
227
|
server_name $connect_domain;
|
|
267
228
|
|
|
268
|
-
ssl_certificate /etc/
|
|
269
|
-
ssl_certificate_key /etc/
|
|
229
|
+
ssl_certificate /etc/letsencrypt/live/$connect_domain/fullchain.pem;
|
|
230
|
+
ssl_certificate_key /etc/letsencrypt/live/$connect_domain/privkey.pem;
|
|
270
231
|
|
|
271
232
|
# SSL configuration
|
|
272
233
|
ssl_protocols TLSv1.2 TLSv1.3;
|
|
@@ -277,6 +238,14 @@ server {
|
|
|
277
238
|
ssl_session_tickets off;
|
|
278
239
|
ssl_stapling on;
|
|
279
240
|
ssl_stapling_verify on;
|
|
241
|
+
resolver 8.8.8.8 8.8.4.4 valid=300s;
|
|
242
|
+
resolver_timeout 5s;
|
|
243
|
+
|
|
244
|
+
# Security headers
|
|
245
|
+
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
246
|
+
add_header X-Frame-Options DENY;
|
|
247
|
+
add_header X-Content-Type-Options nosniff;
|
|
248
|
+
add_header X-XSS-Protection "1; mode=block";
|
|
280
249
|
|
|
281
250
|
if (\$http_x_forwarded_proto = "http") {
|
|
282
251
|
return 301 https://\$server_name\$request_uri;
|
|
@@ -290,17 +259,40 @@ server {
|
|
|
290
259
|
add_header X-Forwarded-Host \$host;
|
|
291
260
|
add_header X-Forwarded-Port \$server_port;
|
|
292
261
|
}
|
|
262
|
+
|
|
263
|
+
location /.well-known/acme-challenge/ {
|
|
264
|
+
root /var/www/html;
|
|
265
|
+
}
|
|
293
266
|
}
|
|
294
267
|
|
|
295
268
|
server {
|
|
296
|
-
listen 443 ssl
|
|
269
|
+
listen 443 ssl;
|
|
270
|
+
http2 on;
|
|
297
271
|
server_name $switchboard_domain;
|
|
298
272
|
|
|
299
|
-
ssl_certificate /etc/
|
|
300
|
-
ssl_certificate_key /etc/
|
|
273
|
+
ssl_certificate /etc/letsencrypt/live/$switchboard_domain/fullchain.pem;
|
|
274
|
+
ssl_certificate_key /etc/letsencrypt/live/$switchboard_domain/privkey.pem;
|
|
275
|
+
|
|
276
|
+
# SSL configuration
|
|
277
|
+
ssl_protocols TLSv1.2 TLSv1.3;
|
|
278
|
+
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
|
279
|
+
ssl_prefer_server_ciphers off;
|
|
280
|
+
ssl_session_timeout 1d;
|
|
281
|
+
ssl_session_cache shared:SSL:50m;
|
|
282
|
+
ssl_session_tickets off;
|
|
283
|
+
ssl_stapling on;
|
|
284
|
+
ssl_stapling_verify on;
|
|
285
|
+
resolver 8.8.8.8 8.8.4.4 valid=300s;
|
|
286
|
+
resolver_timeout 5s;
|
|
287
|
+
|
|
288
|
+
# Security headers
|
|
289
|
+
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
290
|
+
add_header X-Frame-Options DENY;
|
|
291
|
+
add_header X-Content-Type-Options nosniff;
|
|
292
|
+
add_header X-XSS-Protection "1; mode=block";
|
|
301
293
|
|
|
302
294
|
location / {
|
|
303
|
-
proxy_pass http://localhost
|
|
295
|
+
proxy_pass http://localhost:$SWITCHBOARD_PORT;
|
|
304
296
|
proxy_http_version 1.1;
|
|
305
297
|
proxy_set_header Upgrade \$http_upgrade;
|
|
306
298
|
proxy_set_header Connection 'upgrade';
|
|
@@ -310,23 +302,20 @@ server {
|
|
|
310
302
|
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
|
311
303
|
proxy_set_header X-Forwarded-Proto \$scheme;
|
|
312
304
|
}
|
|
305
|
+
|
|
306
|
+
location /.well-known/acme-challenge/ {
|
|
307
|
+
root /var/www/html;
|
|
308
|
+
}
|
|
313
309
|
}
|
|
314
310
|
EOF
|
|
315
|
-
fi
|
|
316
|
-
|
|
317
|
-
# Enable the site
|
|
318
|
-
sudo ln -sf /etc/nginx/sites-available/$PROJECT_NAME /etc/nginx/sites-enabled/
|
|
319
|
-
sudo rm -f /etc/nginx/sites-enabled/default
|
|
320
311
|
|
|
321
|
-
# Test Nginx configuration
|
|
322
|
-
sudo nginx -t
|
|
323
|
-
|
|
324
|
-
# Obtain SSL certificates
|
|
325
|
-
echo "Obtaining SSL certificates..."
|
|
326
|
-
sudo certbot --nginx -d $connect_domain -d $switchboard_domain --non-interactive --agree-tos --email admin@$connect_domain
|
|
312
|
+
# Test and reload Nginx configuration
|
|
313
|
+
sudo nginx -t && sudo systemctl reload nginx
|
|
327
314
|
|
|
328
|
-
#
|
|
329
|
-
|
|
315
|
+
# Set up automatic renewal
|
|
316
|
+
echo "Setting up automatic certificate renewal..."
|
|
317
|
+
sudo systemctl enable certbot.timer
|
|
318
|
+
sudo systemctl start certbot.timer
|
|
330
319
|
|
|
331
320
|
else
|
|
332
321
|
# Get machine hostname
|
|
@@ -343,26 +332,6 @@ EOF
|
|
|
343
332
|
# Create Nginx configuration for self-signed
|
|
344
333
|
echo "Creating Nginx configuration..."
|
|
345
334
|
sudo tee /etc/nginx/sites-available/$PROJECT_NAME > /dev/null << EOF
|
|
346
|
-
# Security headers
|
|
347
|
-
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
348
|
-
add_header X-Frame-Options DENY;
|
|
349
|
-
add_header X-Content-Type-Options nosniff;
|
|
350
|
-
add_header X-XSS-Protection "1; mode=block";
|
|
351
|
-
|
|
352
|
-
# Compression settings
|
|
353
|
-
brotli on;
|
|
354
|
-
brotli_comp_level 6;
|
|
355
|
-
brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
|
|
356
|
-
brotli_static on;
|
|
357
|
-
|
|
358
|
-
gzip on;
|
|
359
|
-
gzip_vary on;
|
|
360
|
-
gzip_proxied any;
|
|
361
|
-
gzip_comp_level 6;
|
|
362
|
-
gzip_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
|
|
363
|
-
gzip_min_length 1000;
|
|
364
|
-
gzip_buffers 16 8k;
|
|
365
|
-
|
|
366
335
|
server {
|
|
367
336
|
listen 80;
|
|
368
337
|
server_name $hostname;
|
|
@@ -370,7 +339,8 @@ server {
|
|
|
370
339
|
}
|
|
371
340
|
|
|
372
341
|
server {
|
|
373
|
-
listen 443 ssl
|
|
342
|
+
listen 443 ssl;
|
|
343
|
+
http2 on;
|
|
374
344
|
server_name $hostname;
|
|
375
345
|
|
|
376
346
|
ssl_certificate /etc/ssl/certs/$hostname.crt;
|
|
@@ -389,7 +359,7 @@ server {
|
|
|
389
359
|
}
|
|
390
360
|
|
|
391
361
|
location /switchboard {
|
|
392
|
-
proxy_pass http://localhost
|
|
362
|
+
proxy_pass http://localhost:$SWITCHBOARD_PORT;
|
|
393
363
|
proxy_http_version 1.1;
|
|
394
364
|
proxy_set_header Upgrade \$http_upgrade;
|
|
395
365
|
proxy_set_header Connection 'upgrade';
|
package/dist/src/help.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export declare const inspectHelp = "\nCommand Overview:\n The inspect command e
|
|
|
37
37
|
/**
|
|
38
38
|
* Help text for the service command
|
|
39
39
|
*/
|
|
40
|
-
export declare const serviceHelp = "\nCommand Overview:\n The service command manages Powerhouse services, allowing you to start, stop, check status,\n and more. It provides a centralized way to control the lifecycle of services in your project.\n\n This command:\n 1. Controls service lifecycle (start, stop, status, etc.)\n 2. Manages multiple services from a single interface\n 3. Provides detailed information about running services\n 4. Uses PM2 under the hood for process management\n\nArguments:\n <action> The action to perform. Available actions:\n - start: Launch the specified service\n - stop: Terminate the specified service\n - status: Check the current status of services\n - list: List all managed services (default)\n - startup: Configure services to start on system boot\n - unstartup: Remove services from system startup\n \n [service] Optional. The service to act upon. Available services:\n - switchboard: The document processing engine\n - connect: The Connect Studio interface\n - all: Act on all services (default)\n\nExamples:\n $ ph service
|
|
40
|
+
export declare const serviceHelp = "\nCommand Overview:\n The service command manages Powerhouse services, allowing you to start, stop, check status,\n and more. It provides a centralized way to control the lifecycle of services in your project.\n\n This command:\n 1. Controls service lifecycle (start, stop, status, etc.)\n 2. Manages multiple services from a single interface\n 3. Provides detailed information about running services\n 4. Uses PM2 under the hood for process management\n\nArguments:\n <action> The action to perform. Available actions:\n - start: Launch the specified service\n - stop: Terminate the specified service\n - status: Check the current status of services\n - list: List all managed services (default)\n - startup: Configure services to start on system boot\n - unstartup: Remove services from system startup\n \n [service] Optional. The service to act upon. Available services:\n - switchboard: The document processing engine\n - connect: The Connect Studio interface\n - all: Act on all services (default)\n\nExamples:\n $ ph service setup # Setup services\n $ ph service start # Start the services\n $ ph service stop # Stop the services\n $ ph service status # Check status of all services\n \n\nNotes:\n - Services are managed using PM2, a process manager for Node.js applications\n - The 'status' action shows uptime, memory usage, CPU usage, and other metrics\n - The 'list' action is the default when no action is specified\n - The 'all' service is the default when no service is specified\n";
|
|
41
41
|
/**
|
|
42
42
|
* Help text for the switchboard command
|
|
43
43
|
*/
|
package/dist/src/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,iBAAiB,itDAkC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,2nBAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,yXAS9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,kpGA0DxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+jEAsCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,4pEAwCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,ypCA2BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,m7DAoCnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,miDAkCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,iBAAiB,itDAkC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,2nBAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,yXAS9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,kpGA0DxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+jEAsCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,4pEAwCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,ypCA2BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,m7DAoCnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,miDAkCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+zDAqCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,ixDAoC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,s6DAuCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2kCA0BvB,CAAC"}
|
package/dist/src/help.js
CHANGED
|
@@ -350,13 +350,11 @@ Arguments:
|
|
|
350
350
|
- all: Act on all services (default)
|
|
351
351
|
|
|
352
352
|
Examples:
|
|
353
|
-
$ ph service
|
|
354
|
-
$ ph service start
|
|
355
|
-
$ ph service stop
|
|
356
|
-
$ ph service start all # Start all services
|
|
353
|
+
$ ph service setup # Setup services
|
|
354
|
+
$ ph service start # Start the services
|
|
355
|
+
$ ph service stop # Stop the services
|
|
357
356
|
$ ph service status # Check status of all services
|
|
358
|
-
|
|
359
|
-
$ ph service unstartup # Remove services from system startup
|
|
357
|
+
|
|
360
358
|
|
|
361
359
|
Notes:
|
|
362
360
|
- Services are managed using PM2, a process manager for Node.js applications
|
package/dist/src/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mCAAmC,EACnC,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;2EAM2C,uBAAuB;6FACL,mCAAmC;uEACzD,wBAAwB;;CAE9F,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;CASjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mCAAmC,EACnC,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;2EAM2C,uBAAuB;6FACL,mCAAmC;uEACzD,wBAAwB;;CAE9F,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;CASjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "2.5.0-dev.
|
|
1
|
+
export declare const version = "2.5.0-dev.21";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
|
package/dist/src/version.js
CHANGED
package/dist/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC"}
|