Open DrPaulBrewer opened 2 months ago
In initial tests, internal meteor packages do install with TLS servers, etc. but software fails silently on a low end VM. Maybe too much for that VM.
Builds means that the Dockerfile builds ok. Runs means that the Dockerfile runs and prints all of:
[[[[[ ~/meteor-satchat ]]]]]
=> Started proxy.
=> Started MongoDB.
I20240708-02:48:57.491(0)? updated TLEs for 314 satellites
=> Started your app.
=> App running at: http://localhost:3000/
Web means that the satchat web site is available as expected.
6 core, 16GB AMD Ryzen 5 5625U mini pc, port 3000
Builds 4 minutes OK. Runs, 2 minutes to start, OK. Web OK.
4 core, 16 GB Google Cloud Shell, port 3000
Builds 6 minutes OK. Runs, 5 minutes to start, OK. Web unknown, issue at Google.
partial core, 2 GB Google VM e2-small
Builds 15 minutes OK.
Doesn't Run. Crashes silently without swapfile created. Appears to be out of memory.
With 4GB swapfile, throws SQLITE error. SQLITE is not used by the satchat code so perhaps that is part of the meteor build process.
root@satchat:/home/drpaulbrewer# docker run -it -p 10.128.0.2:3000:3000 satchat
/home/mt/.meteor/packages/meteor-tool/.2.4.0_1.1ysxd7i.qhi2++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218
throw error;
^
Error: SQLITE_READONLY: attempt to write a readonly database
=> awaited here:
at Promise.await (/home/mt/.meteor/packages/meteor-tool/.2.4.0_1.1ysxd7i.qhi2++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:60:12)
at Db._execute (/tools/packaging/catalog/catalog-remote.js:361:8)
at Txn.execute (/tools/packaging/catalog/catalog-remote.js:90:20)
at /tools/packaging/catalog/catalog-remote.js:466:33
at Function.each (/home/mt/.meteor/packages/meteor-tool/.2.4.0_1.1ysxd7i.qhi2++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/underscore/underscore-node-f-pre.js:1316:7)
at Table.upsert (/tools/packaging/catalog/catalog-remote.js:462:7)
at /tools/packaging/catalog/catalog-remote.js:903:26
at /tools/packaging/catalog/catalog-remote.js:216:18
at Db._serialize (/tools/packaging/catalog/catalog-remote.js:183:14)
at Db.runInTransaction (/tools/packaging/catalog/catalog-remote.js:246:21)
at RemoteCatalog.insertData (/tools/packaging/catalog/catalog-remote.js:902:20)
at getSomeData (/tools/packaging/package-client.js:207:15)
at _updateServerPackageData (/tools/packaging/package-client.js:223:7)
at /tools/packaging/package-client.js:129:12
at Object.enterJob (/tools/utils/buildmessage.js:356:14)
at Object.exports.updateServerPackageData (/tools/packaging/package-client.js:128:23)
at /tools/packaging/catalog/catalog-remote.js:782:36
at Object.enterJob (/tools/utils/buildmessage.js:356:14)
at RemoteCatalog.refresh (/tools/packaging/catalog/catalog-remote.js:781:18)
at Object.catalog.refreshOrWarn (/tools/packaging/catalog/catalog.js:48:22)
at /tools/cli/main.js:1047:19
at Console.withProgressDisplayVisible (/tools/console/console.js:639:14)
at /tools/cli/main.js:1046:17 {
errno: 8,
code: 'SQLITE_READONLY'
}
1 (bursts to 2) core, 4 GB Google VM e2-medium with 4GB swapfile Builds in 6 min Runs in 12 min Web requires a few tricks:
gcloud compute firewall-rules create --network=default default-allow-meteor --allow=tcp:3000
Running 'meteor run' , i.e. in dev mode, is definitely more of a memory hog in 2.x than 1.x.
Need to consider switching to meteor build
. This may require creating some docker container changes.
The meteor framework software is really old, like 10+ years old -- version 1.3.5.1.
For continued availability the meteor framework needs to be upgraded.
But will the upgrades and new features break old code?