@lamalibre/create-portlama 1.0.31 → 1.0.33
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 +1 -1
- package/src/lib/service-config.js +4 -3
- package/src/tasks/panel.js +9 -1
- package/src/tasks/redeploy.js +10 -1
- package/vendor/panel-client/dist/assets/index-DYc0AT5L.js +689 -0
- package/vendor/panel-client/dist/assets/index-DkI5S9UE.css +1 -0
- package/vendor/panel-client/dist/docs/01-concepts/authentication.md +48 -15
- package/vendor/panel-client/dist/docs/01-concepts/security-model.md +39 -5
- package/vendor/panel-client/dist/docs/01-concepts/tickets.md +292 -0
- package/vendor/panel-client/dist/docs/02-guides/disaster-recovery.md +66 -9
- package/vendor/panel-client/dist/docs/03-architecture/panel-server.md +146 -19
- package/vendor/panel-client/dist/docs/04-api-reference/overview.md +50 -7
- package/vendor/panel-client/dist/docs/04-api-reference/settings.md +343 -0
- package/vendor/panel-client/dist/docs/04-api-reference/tickets.md +601 -0
- package/vendor/panel-client/dist/docs/06-reference/config-files.md +192 -11
- package/vendor/panel-client/dist/docs/06-reference/ports-and-services.md +3 -1
- package/vendor/panel-client/dist/docs/_index.json +8 -1
- package/vendor/panel-client/dist/index.html +2 -2
- package/vendor/panel-server/package.json +2 -1
- package/vendor/panel-server/src/cli/reset-admin.js +26 -5
- package/vendor/panel-server/src/index.js +28 -1
- package/vendor/panel-server/src/lib/authelia.js +33 -2
- package/vendor/panel-server/src/lib/config.js +8 -0
- package/vendor/panel-server/src/lib/constants.js +8 -0
- package/vendor/panel-server/src/lib/mtls.js +18 -2
- package/vendor/panel-server/src/lib/nginx.js +34 -0
- package/vendor/panel-server/src/lib/plugins.js +3 -6
- package/vendor/panel-server/src/lib/session.js +151 -0
- package/vendor/panel-server/src/lib/tickets.js +1092 -0
- package/vendor/panel-server/src/lib/totp.js +76 -0
- package/vendor/panel-server/src/middleware/twofa-session.js +68 -0
- package/vendor/panel-server/src/routes/management/settings.js +307 -0
- package/vendor/panel-server/src/routes/management/tickets.js +430 -0
- package/vendor/panel-server/src/routes/management.js +4 -0
- package/vendor/panel-server/src/routes/plugin-router.js +2 -5
- package/vendor/panel-client/dist/assets/index-D_V4j6Yu.css +0 -1
- package/vendor/panel-client/dist/assets/index-q6OoAeBX.js +0 -679
package/package.json
CHANGED
|
@@ -74,7 +74,8 @@ portlama ALL=(root) NOPASSWD: /usr/bin/systemctl restart portlama-panel
|
|
|
74
74
|
# --- nginx config test ---
|
|
75
75
|
portlama ALL=(root) NOPASSWD: /usr/sbin/nginx -t
|
|
76
76
|
|
|
77
|
-
# --- certbot: restrict certonly to --nginx
|
|
77
|
+
# --- certbot: restrict certonly to --nginx (code always passes --non-interactive) ---
|
|
78
|
+
# Note: trailing wildcard allows additional flags; trust boundary is @lamalibre/ scope
|
|
78
79
|
portlama ALL=(root) NOPASSWD: /usr/bin/certbot certonly --nginx *
|
|
79
80
|
portlama ALL=(root) NOPASSWD: /usr/bin/certbot renew
|
|
80
81
|
portlama ALL=(root) NOPASSWD: /usr/bin/certbot renew --cert-name *
|
|
@@ -86,7 +87,7 @@ portlama ALL=(root) NOPASSWD: /usr/bin/openssl x509 -in /etc/letsencrypt/live/*
|
|
|
86
87
|
portlama ALL=(root) NOPASSWD: /usr/bin/openssl x509 -req -in /etc/portlama/pki/* *
|
|
87
88
|
portlama ALL=(root) NOPASSWD: /usr/bin/openssl genrsa -out /etc/portlama/pki/* *
|
|
88
89
|
portlama ALL=(root) NOPASSWD: /usr/bin/openssl req -new -key /etc/portlama/pki/* *
|
|
89
|
-
portlama ALL=(root) NOPASSWD: /usr/bin/openssl pkcs12 -export
|
|
90
|
+
portlama ALL=(root) NOPASSWD: /usr/bin/openssl pkcs12 -export -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg sha1 -out /etc/portlama/pki/*
|
|
90
91
|
|
|
91
92
|
# --- mv: restrict source to /tmp/ or known config paths ---
|
|
92
93
|
portlama ALL=(root) NOPASSWD: /usr/bin/mv /tmp/* /var/www/portlama/*
|
|
@@ -111,7 +112,7 @@ portlama ALL=(root) NOPASSWD: /usr/bin/mkdir -p /etc/authelia/*
|
|
|
111
112
|
portlama ALL=(root) NOPASSWD: /usr/bin/mkdir -p /var/log/authelia
|
|
112
113
|
portlama ALL=(root) NOPASSWD: /usr/bin/mkdir -p /var/log/authelia/*
|
|
113
114
|
portlama ALL=(root) NOPASSWD: /usr/bin/cat /etc/authelia/*
|
|
114
|
-
portlama ALL=(root) NOPASSWD: /usr/local/bin/authelia storage *
|
|
115
|
+
portlama ALL=(root) NOPASSWD: /usr/local/bin/authelia storage user totp generate *
|
|
115
116
|
|
|
116
117
|
# --- Static site file operations under /var/www/portlama/ ---
|
|
117
118
|
portlama ALL=(root) NOPASSWD: /usr/bin/mkdir -p /var/www/portlama/*
|
package/src/tasks/panel.js
CHANGED
|
@@ -83,7 +83,7 @@ export function panelTasks(ctx, task) {
|
|
|
83
83
|
|
|
84
84
|
subtask.output = 'Installing production dependencies...';
|
|
85
85
|
try {
|
|
86
|
-
await execa('npm', ['install', '--production'], {
|
|
86
|
+
await execa('npm', ['install', '--production', '--ignore-scripts'], {
|
|
87
87
|
cwd: serverDest,
|
|
88
88
|
});
|
|
89
89
|
} catch (err) {
|
|
@@ -94,6 +94,14 @@ export function panelTasks(ctx, task) {
|
|
|
94
94
|
|
|
95
95
|
await execa('chown', ['-R', 'portlama:portlama', serverDest]);
|
|
96
96
|
|
|
97
|
+
// Create CLI symlink for portlama-reset-admin
|
|
98
|
+
const resetAdminSrc = join(serverDest, 'src', 'cli', 'reset-admin.js');
|
|
99
|
+
const resetAdminDest = '/usr/local/bin/portlama-reset-admin';
|
|
100
|
+
if (existsSync(resetAdminSrc)) {
|
|
101
|
+
await execa('chmod', ['+x', resetAdminSrc]);
|
|
102
|
+
await execa('ln', ['-sf', resetAdminSrc, resetAdminDest]);
|
|
103
|
+
}
|
|
104
|
+
|
|
97
105
|
subtask.output = 'Panel server deployed';
|
|
98
106
|
},
|
|
99
107
|
rendererOptions: { persistentOutput: true },
|
package/src/tasks/redeploy.js
CHANGED
|
@@ -103,7 +103,7 @@ export function redeployTasks(ctx, task) {
|
|
|
103
103
|
|
|
104
104
|
subtask.output = 'Installing production dependencies...';
|
|
105
105
|
try {
|
|
106
|
-
await execa('npm', ['install', '--production'], {
|
|
106
|
+
await execa('npm', ['install', '--production', '--ignore-scripts'], {
|
|
107
107
|
cwd: serverDest,
|
|
108
108
|
});
|
|
109
109
|
} catch (err) {
|
|
@@ -113,6 +113,15 @@ export function redeployTasks(ctx, task) {
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
await execa('chown', ['-R', 'portlama:portlama', serverDest]);
|
|
116
|
+
|
|
117
|
+
// Ensure CLI symlink for portlama-reset-admin
|
|
118
|
+
const resetAdminSrc = join(serverDest, 'src', 'cli', 'reset-admin.js');
|
|
119
|
+
const resetAdminDest = '/usr/local/bin/portlama-reset-admin';
|
|
120
|
+
if (existsSync(resetAdminSrc)) {
|
|
121
|
+
await execa('chmod', ['+x', resetAdminSrc]);
|
|
122
|
+
await execa('ln', ['-sf', resetAdminSrc, resetAdminDest]);
|
|
123
|
+
}
|
|
124
|
+
|
|
116
125
|
subtask.output = 'Panel server updated';
|
|
117
126
|
},
|
|
118
127
|
rendererOptions: { persistentOutput: true },
|