create-meith 0.33.3 → 0.34.0
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/bin.mjs +77 -8
- package/package.json +1 -1
- package/src/bin.ts +1 -1
- package/src/scaffold.ts +76 -7
package/dist/bin.mjs
CHANGED
|
@@ -136,7 +136,14 @@ var ENV_BACKUP_BLOCK = `# The off-site backup destination: an S3-compatible buck
|
|
|
136
136
|
# BACKUP_S3_ACCESS_KEY_ID=
|
|
137
137
|
# BACKUP_S3_SECRET_ACCESS_KEY=
|
|
138
138
|
# BACKUP_S3_ENDPOINT=
|
|
139
|
-
# BACKUP_S3_PREFIX
|
|
139
|
+
# BACKUP_S3_PREFIX=
|
|
140
|
+
#
|
|
141
|
+
# Or a WebDAV folder instead of a bucket \u2014 Nextcloud, ownCloud, a Hetzner
|
|
142
|
+
# Storage Box. The address of a folder that already exists; username and
|
|
143
|
+
# password together or not at all. One destination or the other, never both.
|
|
144
|
+
# BACKUP_WEBDAV_URL=
|
|
145
|
+
# BACKUP_WEBDAV_USERNAME=
|
|
146
|
+
# BACKUP_WEBDAV_PASSWORD=`;
|
|
140
147
|
function selfHostEnvExample(name) {
|
|
141
148
|
return `# ${name} \u2014 environment.
|
|
142
149
|
#
|
|
@@ -682,6 +689,14 @@ EXPOSE 3000
|
|
|
682
689
|
ENV UPLOADS_DIR=/app/.uploads
|
|
683
690
|
RUN mkdir -p /app/.uploads && chown node:node /app/.uploads
|
|
684
691
|
|
|
692
|
+
# The ring of backup bundles the admin panel's Backups screen writes, lists
|
|
693
|
+
# and prunes, and the postgres client tools \`meith backup\` and the panel's
|
|
694
|
+
# backups dump with. The compose file mounts the persistent "backups" volume
|
|
695
|
+
# over this path.
|
|
696
|
+
RUN apk add --no-cache postgresql18-client
|
|
697
|
+
ENV BACKUP_DIR=/backups
|
|
698
|
+
RUN mkdir -p /backups && chown node:node /backups
|
|
699
|
+
|
|
685
700
|
# \`meith <command>\` on PATH runs this board's own operator CLI \u2014 the same one
|
|
686
701
|
# node_modules/.bin/meith is \u2014 so a Coolify terminal or \`docker compose exec web
|
|
687
702
|
# meith ...\` needs no path. It cd's to /board so the CLI finds this board's
|
|
@@ -776,6 +791,14 @@ EXPOSE 3000
|
|
|
776
791
|
ENV UPLOADS_DIR=/app/.uploads
|
|
777
792
|
RUN mkdir -p /app/.uploads && chown node:node /app/.uploads
|
|
778
793
|
|
|
794
|
+
# The ring of backup bundles the admin panel's Backups screen writes, lists
|
|
795
|
+
# and prunes, and the postgres client tools \`meith backup\` and the panel's
|
|
796
|
+
# backups dump with. The compose file mounts the persistent "backups" volume
|
|
797
|
+
# over this path.
|
|
798
|
+
RUN apk add --no-cache postgresql18-client
|
|
799
|
+
ENV BACKUP_DIR=/backups
|
|
800
|
+
RUN mkdir -p /backups && chown node:node /backups
|
|
801
|
+
|
|
779
802
|
# \`meith <command>\` on PATH runs this board's own operator CLI \u2014 the same one
|
|
780
803
|
# node_modules/.bin/meith is \u2014 so a Coolify terminal or \`docker compose exec web
|
|
781
804
|
# meith ...\` needs no path. It cd's to /board so the CLI finds this board's
|
|
@@ -982,6 +1005,25 @@ services:
|
|
|
982
1005
|
DATABASE_URL: postgres://community:$SERVICE_PASSWORD_POSTGRES@postgres:5432/community
|
|
983
1006
|
AUTH_SECRET: $SERVICE_BASE64_64_AUTH
|
|
984
1007
|
TICK_SECRET: $SERVICE_BASE64_64_TICK
|
|
1008
|
+
FILESTORE_DRIVER: local
|
|
1009
|
+
# So that "back up before migrating" (a board setting) can ship the
|
|
1010
|
+
# bundle it takes to the same off-site destination the web container
|
|
1011
|
+
# uses. Unset until the four required values are filled in on the
|
|
1012
|
+
# Coolify resource.
|
|
1013
|
+
BACKUP_S3_BUCKET: \${BACKUP_S3_BUCKET:-}
|
|
1014
|
+
BACKUP_S3_REGION: \${BACKUP_S3_REGION:-}
|
|
1015
|
+
BACKUP_S3_ACCESS_KEY_ID: \${BACKUP_S3_ACCESS_KEY_ID:-}
|
|
1016
|
+
BACKUP_S3_SECRET_ACCESS_KEY: \${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1017
|
+
BACKUP_S3_ENDPOINT: \${BACKUP_S3_ENDPOINT:-}
|
|
1018
|
+
BACKUP_S3_PREFIX: \${BACKUP_S3_PREFIX:-}
|
|
1019
|
+
BACKUP_WEBDAV_URL: \${BACKUP_WEBDAV_URL:-}
|
|
1020
|
+
BACKUP_WEBDAV_USERNAME: \${BACKUP_WEBDAV_USERNAME:-}
|
|
1021
|
+
BACKUP_WEBDAV_PASSWORD: \${BACKUP_WEBDAV_PASSWORD:-}
|
|
1022
|
+
volumes:
|
|
1023
|
+
# Both volumes, so that the bundle "back up before migrating" writes
|
|
1024
|
+
# carries the uploads and lands in the same ring as every other backup.
|
|
1025
|
+
- uploads:/app/.uploads
|
|
1026
|
+
- backups:/backups
|
|
985
1027
|
depends_on:
|
|
986
1028
|
postgres:
|
|
987
1029
|
condition: service_healthy
|
|
@@ -1036,11 +1078,15 @@ services:
|
|
|
1036
1078
|
- BACKUP_S3_SECRET_ACCESS_KEY=\${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1037
1079
|
- BACKUP_S3_ENDPOINT=\${BACKUP_S3_ENDPOINT:-}
|
|
1038
1080
|
- BACKUP_S3_PREFIX=\${BACKUP_S3_PREFIX:-}
|
|
1081
|
+
- BACKUP_WEBDAV_URL=\${BACKUP_WEBDAV_URL:-}
|
|
1082
|
+
- BACKUP_WEBDAV_USERNAME=\${BACKUP_WEBDAV_USERNAME:-}
|
|
1083
|
+
- BACKUP_WEBDAV_PASSWORD=\${BACKUP_WEBDAV_PASSWORD:-}
|
|
1039
1084
|
volumes:
|
|
1040
1085
|
- uploads:/app/.uploads
|
|
1041
|
-
#
|
|
1042
|
-
#
|
|
1043
|
-
#
|
|
1086
|
+
# The ring of backup bundles: what the admin panel's Backups screen
|
|
1087
|
+
# writes, lists and downloads, and what \`meith backup --dir /backups\`
|
|
1088
|
+
# writes. A named volume rather than the container filesystem, so the
|
|
1089
|
+
# ring survives every redeploy.
|
|
1044
1090
|
- backups:/backups
|
|
1045
1091
|
depends_on:
|
|
1046
1092
|
postgres:
|
|
@@ -1131,6 +1177,25 @@ services:
|
|
|
1131
1177
|
DATABASE_URL: postgres://community:$SERVICE_PASSWORD_POSTGRES@postgres:5432/community
|
|
1132
1178
|
AUTH_SECRET: $SERVICE_BASE64_64_AUTH
|
|
1133
1179
|
TICK_SECRET: $SERVICE_BASE64_64_TICK
|
|
1180
|
+
FILESTORE_DRIVER: local
|
|
1181
|
+
# So that "back up before migrating" (a board setting) can ship the
|
|
1182
|
+
# bundle it takes to the same off-site destination the web container
|
|
1183
|
+
# uses. Unset until the four required values are filled in on the
|
|
1184
|
+
# Coolify resource.
|
|
1185
|
+
BACKUP_S3_BUCKET: \${BACKUP_S3_BUCKET:-}
|
|
1186
|
+
BACKUP_S3_REGION: \${BACKUP_S3_REGION:-}
|
|
1187
|
+
BACKUP_S3_ACCESS_KEY_ID: \${BACKUP_S3_ACCESS_KEY_ID:-}
|
|
1188
|
+
BACKUP_S3_SECRET_ACCESS_KEY: \${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1189
|
+
BACKUP_S3_ENDPOINT: \${BACKUP_S3_ENDPOINT:-}
|
|
1190
|
+
BACKUP_S3_PREFIX: \${BACKUP_S3_PREFIX:-}
|
|
1191
|
+
BACKUP_WEBDAV_URL: \${BACKUP_WEBDAV_URL:-}
|
|
1192
|
+
BACKUP_WEBDAV_USERNAME: \${BACKUP_WEBDAV_USERNAME:-}
|
|
1193
|
+
BACKUP_WEBDAV_PASSWORD: \${BACKUP_WEBDAV_PASSWORD:-}
|
|
1194
|
+
volumes:
|
|
1195
|
+
# Both volumes, so that the bundle "back up before migrating" writes
|
|
1196
|
+
# carries the uploads and lands in the same ring as every other backup.
|
|
1197
|
+
- uploads:/app/.uploads
|
|
1198
|
+
- backups:/backups
|
|
1134
1199
|
depends_on:
|
|
1135
1200
|
postgres:
|
|
1136
1201
|
condition: service_healthy
|
|
@@ -1185,11 +1250,15 @@ services:
|
|
|
1185
1250
|
- BACKUP_S3_SECRET_ACCESS_KEY=\${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1186
1251
|
- BACKUP_S3_ENDPOINT=\${BACKUP_S3_ENDPOINT:-}
|
|
1187
1252
|
- BACKUP_S3_PREFIX=\${BACKUP_S3_PREFIX:-}
|
|
1253
|
+
- BACKUP_WEBDAV_URL=\${BACKUP_WEBDAV_URL:-}
|
|
1254
|
+
- BACKUP_WEBDAV_USERNAME=\${BACKUP_WEBDAV_USERNAME:-}
|
|
1255
|
+
- BACKUP_WEBDAV_PASSWORD=\${BACKUP_WEBDAV_PASSWORD:-}
|
|
1188
1256
|
volumes:
|
|
1189
1257
|
- uploads:/app/.uploads
|
|
1190
|
-
#
|
|
1191
|
-
#
|
|
1192
|
-
#
|
|
1258
|
+
# The ring of backup bundles: what the admin panel's Backups screen
|
|
1259
|
+
# writes, lists and downloads, and what \`meith backup --dir /backups\`
|
|
1260
|
+
# writes. A named volume rather than the container filesystem, so the
|
|
1261
|
+
# ring survives every redeploy.
|
|
1193
1262
|
- backups:/backups
|
|
1194
1263
|
depends_on:
|
|
1195
1264
|
postgres:
|
|
@@ -2760,7 +2829,7 @@ async function run(argv, version, updateOptions = {}) {
|
|
|
2760
2829
|
}
|
|
2761
2830
|
|
|
2762
2831
|
// src/bin.ts
|
|
2763
|
-
var result = await run(process.argv.slice(2), "0.
|
|
2832
|
+
var result = await run(process.argv.slice(2), "0.34.0");
|
|
2764
2833
|
for (const line of result.lines) {
|
|
2765
2834
|
if (result.code === 0) console.log(line);
|
|
2766
2835
|
else console.error(line);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-meith",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "Scaffold a Meith board, plugin or theme — npx create-meith <name> writes a deployable board workspace; --plugin and --theme write extension workspaces built on the published kits.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
package/src/bin.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { run } from './cli'
|
|
3
3
|
|
|
4
|
-
const result = await run(process.argv.slice(2), '0.
|
|
4
|
+
const result = await run(process.argv.slice(2), '0.34.0')
|
|
5
5
|
for (const line of result.lines) {
|
|
6
6
|
if (result.code === 0) console.log(line)
|
|
7
7
|
else console.error(line)
|
package/src/scaffold.ts
CHANGED
|
@@ -160,7 +160,14 @@ const ENV_BACKUP_BLOCK = `# The off-site backup destination: an S3-compatible bu
|
|
|
160
160
|
# BACKUP_S3_ACCESS_KEY_ID=
|
|
161
161
|
# BACKUP_S3_SECRET_ACCESS_KEY=
|
|
162
162
|
# BACKUP_S3_ENDPOINT=
|
|
163
|
-
# BACKUP_S3_PREFIX
|
|
163
|
+
# BACKUP_S3_PREFIX=
|
|
164
|
+
#
|
|
165
|
+
# Or a WebDAV folder instead of a bucket — Nextcloud, ownCloud, a Hetzner
|
|
166
|
+
# Storage Box. The address of a folder that already exists; username and
|
|
167
|
+
# password together or not at all. One destination or the other, never both.
|
|
168
|
+
# BACKUP_WEBDAV_URL=
|
|
169
|
+
# BACKUP_WEBDAV_USERNAME=
|
|
170
|
+
# BACKUP_WEBDAV_PASSWORD=`
|
|
164
171
|
|
|
165
172
|
function selfHostEnvExample(name: string): string {
|
|
166
173
|
return `# ${name} — environment.
|
|
@@ -724,6 +731,14 @@ EXPOSE 3000
|
|
|
724
731
|
ENV UPLOADS_DIR=/app/.uploads
|
|
725
732
|
RUN mkdir -p /app/.uploads && chown node:node /app/.uploads
|
|
726
733
|
|
|
734
|
+
# The ring of backup bundles the admin panel's Backups screen writes, lists
|
|
735
|
+
# and prunes, and the postgres client tools \`meith backup\` and the panel's
|
|
736
|
+
# backups dump with. The compose file mounts the persistent "backups" volume
|
|
737
|
+
# over this path.
|
|
738
|
+
RUN apk add --no-cache postgresql18-client
|
|
739
|
+
ENV BACKUP_DIR=/backups
|
|
740
|
+
RUN mkdir -p /backups && chown node:node /backups
|
|
741
|
+
|
|
727
742
|
# \`meith <command>\` on PATH runs this board's own operator CLI — the same one
|
|
728
743
|
# node_modules/.bin/meith is — so a Coolify terminal or \`docker compose exec web
|
|
729
744
|
# meith ...\` needs no path. It cd's to /board so the CLI finds this board's
|
|
@@ -819,6 +834,14 @@ EXPOSE 3000
|
|
|
819
834
|
ENV UPLOADS_DIR=/app/.uploads
|
|
820
835
|
RUN mkdir -p /app/.uploads && chown node:node /app/.uploads
|
|
821
836
|
|
|
837
|
+
# The ring of backup bundles the admin panel's Backups screen writes, lists
|
|
838
|
+
# and prunes, and the postgres client tools \`meith backup\` and the panel's
|
|
839
|
+
# backups dump with. The compose file mounts the persistent "backups" volume
|
|
840
|
+
# over this path.
|
|
841
|
+
RUN apk add --no-cache postgresql18-client
|
|
842
|
+
ENV BACKUP_DIR=/backups
|
|
843
|
+
RUN mkdir -p /backups && chown node:node /backups
|
|
844
|
+
|
|
822
845
|
# \`meith <command>\` on PATH runs this board's own operator CLI — the same one
|
|
823
846
|
# node_modules/.bin/meith is — so a Coolify terminal or \`docker compose exec web
|
|
824
847
|
# meith ...\` needs no path. It cd's to /board so the CLI finds this board's
|
|
@@ -1030,6 +1053,25 @@ services:
|
|
|
1030
1053
|
DATABASE_URL: postgres://community:$SERVICE_PASSWORD_POSTGRES@postgres:5432/community
|
|
1031
1054
|
AUTH_SECRET: $SERVICE_BASE64_64_AUTH
|
|
1032
1055
|
TICK_SECRET: $SERVICE_BASE64_64_TICK
|
|
1056
|
+
FILESTORE_DRIVER: local
|
|
1057
|
+
# So that "back up before migrating" (a board setting) can ship the
|
|
1058
|
+
# bundle it takes to the same off-site destination the web container
|
|
1059
|
+
# uses. Unset until the four required values are filled in on the
|
|
1060
|
+
# Coolify resource.
|
|
1061
|
+
BACKUP_S3_BUCKET: \${BACKUP_S3_BUCKET:-}
|
|
1062
|
+
BACKUP_S3_REGION: \${BACKUP_S3_REGION:-}
|
|
1063
|
+
BACKUP_S3_ACCESS_KEY_ID: \${BACKUP_S3_ACCESS_KEY_ID:-}
|
|
1064
|
+
BACKUP_S3_SECRET_ACCESS_KEY: \${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1065
|
+
BACKUP_S3_ENDPOINT: \${BACKUP_S3_ENDPOINT:-}
|
|
1066
|
+
BACKUP_S3_PREFIX: \${BACKUP_S3_PREFIX:-}
|
|
1067
|
+
BACKUP_WEBDAV_URL: \${BACKUP_WEBDAV_URL:-}
|
|
1068
|
+
BACKUP_WEBDAV_USERNAME: \${BACKUP_WEBDAV_USERNAME:-}
|
|
1069
|
+
BACKUP_WEBDAV_PASSWORD: \${BACKUP_WEBDAV_PASSWORD:-}
|
|
1070
|
+
volumes:
|
|
1071
|
+
# Both volumes, so that the bundle "back up before migrating" writes
|
|
1072
|
+
# carries the uploads and lands in the same ring as every other backup.
|
|
1073
|
+
- uploads:/app/.uploads
|
|
1074
|
+
- backups:/backups
|
|
1033
1075
|
depends_on:
|
|
1034
1076
|
postgres:
|
|
1035
1077
|
condition: service_healthy
|
|
@@ -1084,11 +1126,15 @@ services:
|
|
|
1084
1126
|
- BACKUP_S3_SECRET_ACCESS_KEY=\${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1085
1127
|
- BACKUP_S3_ENDPOINT=\${BACKUP_S3_ENDPOINT:-}
|
|
1086
1128
|
- BACKUP_S3_PREFIX=\${BACKUP_S3_PREFIX:-}
|
|
1129
|
+
- BACKUP_WEBDAV_URL=\${BACKUP_WEBDAV_URL:-}
|
|
1130
|
+
- BACKUP_WEBDAV_USERNAME=\${BACKUP_WEBDAV_USERNAME:-}
|
|
1131
|
+
- BACKUP_WEBDAV_PASSWORD=\${BACKUP_WEBDAV_PASSWORD:-}
|
|
1087
1132
|
volumes:
|
|
1088
1133
|
- uploads:/app/.uploads
|
|
1089
|
-
#
|
|
1090
|
-
#
|
|
1091
|
-
#
|
|
1134
|
+
# The ring of backup bundles: what the admin panel's Backups screen
|
|
1135
|
+
# writes, lists and downloads, and what \`meith backup --dir /backups\`
|
|
1136
|
+
# writes. A named volume rather than the container filesystem, so the
|
|
1137
|
+
# ring survives every redeploy.
|
|
1092
1138
|
- backups:/backups
|
|
1093
1139
|
depends_on:
|
|
1094
1140
|
postgres:
|
|
@@ -1180,6 +1226,25 @@ services:
|
|
|
1180
1226
|
DATABASE_URL: postgres://community:$SERVICE_PASSWORD_POSTGRES@postgres:5432/community
|
|
1181
1227
|
AUTH_SECRET: $SERVICE_BASE64_64_AUTH
|
|
1182
1228
|
TICK_SECRET: $SERVICE_BASE64_64_TICK
|
|
1229
|
+
FILESTORE_DRIVER: local
|
|
1230
|
+
# So that "back up before migrating" (a board setting) can ship the
|
|
1231
|
+
# bundle it takes to the same off-site destination the web container
|
|
1232
|
+
# uses. Unset until the four required values are filled in on the
|
|
1233
|
+
# Coolify resource.
|
|
1234
|
+
BACKUP_S3_BUCKET: \${BACKUP_S3_BUCKET:-}
|
|
1235
|
+
BACKUP_S3_REGION: \${BACKUP_S3_REGION:-}
|
|
1236
|
+
BACKUP_S3_ACCESS_KEY_ID: \${BACKUP_S3_ACCESS_KEY_ID:-}
|
|
1237
|
+
BACKUP_S3_SECRET_ACCESS_KEY: \${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1238
|
+
BACKUP_S3_ENDPOINT: \${BACKUP_S3_ENDPOINT:-}
|
|
1239
|
+
BACKUP_S3_PREFIX: \${BACKUP_S3_PREFIX:-}
|
|
1240
|
+
BACKUP_WEBDAV_URL: \${BACKUP_WEBDAV_URL:-}
|
|
1241
|
+
BACKUP_WEBDAV_USERNAME: \${BACKUP_WEBDAV_USERNAME:-}
|
|
1242
|
+
BACKUP_WEBDAV_PASSWORD: \${BACKUP_WEBDAV_PASSWORD:-}
|
|
1243
|
+
volumes:
|
|
1244
|
+
# Both volumes, so that the bundle "back up before migrating" writes
|
|
1245
|
+
# carries the uploads and lands in the same ring as every other backup.
|
|
1246
|
+
- uploads:/app/.uploads
|
|
1247
|
+
- backups:/backups
|
|
1183
1248
|
depends_on:
|
|
1184
1249
|
postgres:
|
|
1185
1250
|
condition: service_healthy
|
|
@@ -1234,11 +1299,15 @@ services:
|
|
|
1234
1299
|
- BACKUP_S3_SECRET_ACCESS_KEY=\${BACKUP_S3_SECRET_ACCESS_KEY:-}
|
|
1235
1300
|
- BACKUP_S3_ENDPOINT=\${BACKUP_S3_ENDPOINT:-}
|
|
1236
1301
|
- BACKUP_S3_PREFIX=\${BACKUP_S3_PREFIX:-}
|
|
1302
|
+
- BACKUP_WEBDAV_URL=\${BACKUP_WEBDAV_URL:-}
|
|
1303
|
+
- BACKUP_WEBDAV_USERNAME=\${BACKUP_WEBDAV_USERNAME:-}
|
|
1304
|
+
- BACKUP_WEBDAV_PASSWORD=\${BACKUP_WEBDAV_PASSWORD:-}
|
|
1237
1305
|
volumes:
|
|
1238
1306
|
- uploads:/app/.uploads
|
|
1239
|
-
#
|
|
1240
|
-
#
|
|
1241
|
-
#
|
|
1307
|
+
# The ring of backup bundles: what the admin panel's Backups screen
|
|
1308
|
+
# writes, lists and downloads, and what \`meith backup --dir /backups\`
|
|
1309
|
+
# writes. A named volume rather than the container filesystem, so the
|
|
1310
|
+
# ring survives every redeploy.
|
|
1242
1311
|
- backups:/backups
|
|
1243
1312
|
depends_on:
|
|
1244
1313
|
postgres:
|