diff --git a/.dockerignore b/.dockerignore index 540258c5..1495a6ad 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,9 @@ -node_modules/ -bridges/python/src/.venv/* -dist/* +__pycache__/ +**/dist/* +**/build/ +**/node_modules/ +**/tmp/* +**/src/.venv/* +logs/* +*.pyc +.DS_Store diff --git a/Dockerfile b/Dockerfile index c992f413..8ab722dd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:latest +FROM ubuntu:20.04 ENV IS_DOCKER true # Replace shell with bash so we can source files @@ -10,23 +10,28 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio # Install base dependencies RUN apt-get update && apt-get install --yes -q --no-install-recommends \ apt-transport-https \ - build-essential \ - ca-certificates \ - curl \ - git \ - wget \ - libssl-dev \ - zlib1g-dev \ - libbz2-dev \ - libreadline-dev \ - libsqlite3-dev \ - llvm \ - libncurses5-dev \ - xz-utils \ - tk-dev libxml2-dev \ - libxmlsec1-dev \ - libffi-dev \ - liblzma-dev + build-essential \ + ca-certificates \ + curl \ + git \ + wget \ + libssl-dev \ + openssl \ + libz-dev \ + zlib1g-dev \ + libbz2-dev \ + libreadline-dev \ + libsqlite3-dev \ + llvm \ + libncurses5-dev \ + xz-utils \ + tk-dev libxml2-dev \ + libxmlsec1-dev \ + libffi-dev \ + liblzma-dev \ + libgdbm-dev \ + libnss3-dev \ + libc6-dev # Run the container as an unprivileged user RUN groupadd docker && useradd -g docker -s /bin/bash -m docker @@ -41,7 +46,7 @@ RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | b RUN /bin/bash -c "source $NVM_DIR/nvm.sh && nvm install $NODE_VERSION && nvm use --delete-prefix $NODE_VERSION" ENV NODE_PATH $NVM_DIR/versions/node/$NODE_VERSION/lib/node_modules -ENV PATH $NVM_DIR/versions/node/$NODE_VERSION/bin:$PATH +ENV PATH $NVM_DIR/versions/node/$NODE_VERSION/bin:$PATH # Install Leon WORKDIR /home/docker/leon diff --git a/README.md b/README.md index 25c3a266..f1a63cc2 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,13 @@ You'll find a write-up on this [blog post](https://blog.getleon.ai/the-story-beh
+
+
+ Appwrite
+ + 250 USD / month + |
Anonymous
@@ -192,6 +199,13 @@ You'll find a write-up on this [blog post](https://blog.getleon.ai/the-story-beh
10 USD / month |
+
+
+
+ Andrin Meier
+ + 10 USD / month + |
You? @@ -220,7 +234,7 @@ The focus is not only limited to the activity you see on GitHub but also a lot o - + ## 📝 License diff --git a/package-lock.json b/package-lock.json index 63495629..244ee8ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,9 +31,11 @@ "extract-zip": "2.0.1", "fastify": "^4.5.3", "fluent-ffmpeg": "^2.1.2", + "getos": "^3.2.1", "googleapis": "^67.1.1", "ibm-watson": "^6.1.1", "node-wav": "0.0.2", + "os-name": "^4.0.1", "pretty-bytes": "^5.6.0", "pretty-ms": "^7.0.1", "socket.io": "^4.5.2", @@ -6735,6 +6737,14 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dependencies": { + "async": "^3.2.0" + } + }, "node_modules/git-changelog": { "version": "2.0.0", "dev": true, @@ -9900,6 +9910,17 @@ "node": ">=10" } }, + "node_modules/macos-release": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", + "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/make-dir": { "version": "3.1.0", "dev": true, @@ -10637,6 +10658,21 @@ "node": ">=0.10.0" } }, + "node_modules/os-name": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", + "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", + "dependencies": { + "macos-release": "^2.5.0", + "windows-release": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/os-tmpdir": { "version": "1.0.2", "license": "MIT", @@ -13111,6 +13147,64 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/windows-release": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", + "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", + "dependencies": { + "execa": "^4.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/windows-release/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, "node_modules/wmf": { "version": "1.0.2", "dev": true, @@ -17906,6 +18000,14 @@ "version": "4.2.0", "dev": true }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "requires": { + "async": "^3.2.0" + } + }, "git-changelog": { "version": "2.0.0", "dev": true, @@ -20083,6 +20185,11 @@ "yallist": "^4.0.0" } }, + "macos-release": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", + "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==" + }, "make-dir": { "version": "3.1.0", "dev": true, @@ -20559,6 +20666,15 @@ "os-homedir": { "version": "1.0.2" }, + "os-name": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", + "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", + "requires": { + "macos-release": "^2.5.0", + "windows-release": "^4.0.0" + } + }, "os-tmpdir": { "version": "1.0.2" }, @@ -22109,6 +22225,45 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "windows-release": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", + "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", + "requires": { + "execa": "^4.0.2" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + } + } + }, "wmf": { "version": "1.0.2", "dev": true diff --git a/package.json b/package.json index be71ffcc..bca9f036 100644 --- a/package.json +++ b/package.json @@ -85,9 +85,11 @@ "extract-zip": "2.0.1", "fastify": "^4.5.3", "fluent-ffmpeg": "^2.1.2", + "getos": "^3.2.1", "googleapis": "^67.1.1", "ibm-watson": "^6.1.1", "node-wav": "0.0.2", + "os-name": "^4.0.1", "pretty-bytes": "^5.6.0", "pretty-ms": "^7.0.1", "socket.io": "^4.5.2", diff --git a/scripts/check.js b/scripts/check.js index cf6374a9..5b4d8892 100644 --- a/scripts/check.js +++ b/scripts/check.js @@ -7,6 +7,8 @@ import { command } from 'execa' import semver from 'semver' import kill from 'tree-kill' import axios from 'axios' +import osName from 'os-name' +import getos from 'getos' import { version } from '@@/package.json' import { LogHelper } from '@/helpers/log-helper' @@ -133,9 +135,20 @@ dotenv.config() platform: os.platform(), arch: os.arch(), cpus: os.cpus().length, - release: os.release() + release: os.release(), + osName: osName(), + distro: null } - LogHelper.success(`${JSON.stringify(osInfo)}\n`) + + if (osInfo.platform === 'linux') { + getos((e, os) => { + osInfo.distro = os + LogHelper.success(`${JSON.stringify(osInfo)}\n`) + }) + } else { + LogHelper.success(`${JSON.stringify(osInfo)}\n`) + } + pastebinData.environment.osDetails = osInfo ;( await Promise.all([ |