diff --git a/changelog/items/bugs-fixed/escape-uri-on-subdomain-skylink-requests.md b/changelog/items/bugs-fixed/escape-uri-on-subdomain-skylink-requests.md new file mode 100644 index 00000000..3beabc7e --- /dev/null +++ b/changelog/items/bugs-fixed/escape-uri-on-subdomain-skylink-requests.md @@ -0,0 +1 @@ +- fixed a bug when accessing file from skylink via subdomain with a filename that had escaped characters diff --git a/docker-compose.yml b/docker-compose.yml index e63df946..f511eec5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,6 @@ services: - SKYD_DISK_CACHE_SIZE=${SKYD_DISK_CACHE_SIZE:-53690000000} # 50GB - SKYD_DISK_CACHE_MIN_HITS=${SKYD_DISK_CACHE_MIN_HITS:-3} - SKYD_DISK_CACHE_HIT_PERIOD=${SKYD_DISK_CACHE_HIT_PERIOD:-3600} # 1h - env_file: - .env volumes: @@ -65,6 +64,8 @@ services: logging: *default-logging env_file: - .env + environment: + - SKYD_DISK_CACHE_ENABLED=${SKYD_DISK_CACHE_ENABLED:-false} volumes: - ./docker/data/nginx/cache:/data/nginx/cache - ./docker/data/nginx/blocker:/data/nginx/blocker diff --git a/docker/nginx/conf.d/include/proxy-cache-downloads b/docker/nginx/conf.d/include/proxy-cache-downloads index 8481ebb9..c7405857 100644 --- a/docker/nginx/conf.d/include/proxy-cache-downloads +++ b/docker/nginx/conf.d/include/proxy-cache-downloads @@ -11,4 +11,11 @@ proxy_cache_bypass $cookie_nocache $arg_nocache; # no cache - this will ignore cache on request (status MISS) # and does not store file in cache under no condition set_if_empty $nocache "0"; -proxy_no_cache $nocache; + +# map skyd env variable value to "1" for true and "0" for false (expected by proxy_no_cache) +set_by_lua_block $skyd_disk_cache_enabled { + return os.getenv("SKYD_DISK_CACHE_ENABLED") == "true" and "1" or "0" +} + +# disable cache when nocache is set or skyd cache is enabled +proxy_no_cache $nocache $skyd_disk_cache_enabled; diff --git a/docker/nginx/conf.d/server/server.skylink b/docker/nginx/conf.d/server/server.skylink index 14c0870e..a8f659f1 100644 --- a/docker/nginx/conf.d/server/server.skylink +++ b/docker/nginx/conf.d/server/server.skylink @@ -6,7 +6,12 @@ include /etc/nginx/conf.d/include/init-optional-variables; location / { set_by_lua_block $skylink { return string.match(ngx.var.host, "%w+") } - set $path $uri; + set_by_lua_block $path { + -- strip ngx.var.request_uri from query params - this is basically the same as ngx.var.uri but + -- do not use ngx.var.uri because it will already be unescaped and we need to use escaped path + -- examples: escaped uri "/b%20r56+7" and unescaped uri "/b r56 7" + return string.gsub(ngx.var.request_uri, "?.*", "") + } include /etc/nginx/conf.d/include/location-skylink; } diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index eb5494c9..5d7e5944 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -31,6 +31,7 @@ env SKYNET_SERVER_API; env PORTAL_MODULES; env ACCOUNTS_LIMIT_ACCESS; env SIA_API_PASSWORD; +env SKYD_DISK_CACHE_ENABLED; events { worker_connections 8192; diff --git a/packages/health-check/bin/cli b/packages/health-check/bin/cli index 5bf0064c..dbf39344 100755 --- a/packages/health-check/bin/cli +++ b/packages/health-check/bin/cli @@ -6,6 +6,16 @@ require("yargs/yargs")(process.argv.slice(2)) .help() .demandCommand() .strict(true) + .command( + "__authenticate", // Internal only function - this function will be removed when API keys are implemented + false, // hide this function cli help + () => {}, + async () => { + const { getAuthCookie } = require("../src/utils"); + + console.log(await getAuthCookie(true)); + } + ) .command( "enable", "Mark portal as enabled", diff --git a/packages/health-check/src/utils.js b/packages/health-check/src/utils.js index 67b47f9c..8dbab0de 100644 --- a/packages/health-check/src/utils.js +++ b/packages/health-check/src/utils.js @@ -44,30 +44,50 @@ function ensureValidJSON(object) { return JSON.parse(stringified); } +/** + * Get variable value from environment (process.env) + * Exit with code 1 if variable is not set or empty + * @param {string} name variable name + * @returns {string} + */ +function getRequiredEnvironmentVariable(name) { + const value = process.env[name]; + + if (!value) { + console.log(`${name} cannot be empty`); + process.exit(1); + } + + return value; +} + /** * Authenticate with given credentials and return auth cookie * Creates new account if username does not exist * Only authenticates when portal is set to authenticated users only mode + * @param {boolean} forceAuth forcibly ensure authentication with test credentials */ -function getAuthCookie() { +function getAuthCookie(forceAuth = false) { // cache auth promise so only one actual request will be made if (getAuthCookie.cache) return getAuthCookie.cache; - // do not authenticate if it is not necessary - if (!["authenticated", "subscription"].includes(process.env.ACCOUNTS_LIMIT_ACCESS)) return {}; + // accounts disabled, do not try to authenticate + if (!isPortalModuleEnabled("a")) return ""; - const email = process.env.ACCOUNTS_TEST_USER_EMAIL; - const password = process.env.ACCOUNTS_TEST_USER_PASSWORD; + // do not authenticate if it is not required by portal limit access rule + if (!forceAuth && !["authenticated", "subscription"].includes(process.env.ACCOUNTS_LIMIT_ACCESS)) return ""; - if (!email) throw new Error("ACCOUNTS_TEST_USER_EMAIL cannot be empty"); - if (!password) throw new Error("ACCOUNTS_TEST_USER_PASSWORD cannot be empty"); + // assign all required environment variables + const portalDomain = getRequiredEnvironmentVariable("PORTAL_DOMAIN"); + const email = getRequiredEnvironmentVariable("ACCOUNTS_TEST_USER_EMAIL"); + const password = getRequiredEnvironmentVariable("ACCOUNTS_TEST_USER_PASSWORD"); async function authenticate() { const got = require("got"); try { // authenticate with given test user credentials - const response = await got.post(`https://account.${process.env.PORTAL_DOMAIN}/api/login`, { + const response = await got.post(`https://account.${portalDomain}/api/login`, { json: { email, password }, }); @@ -89,7 +109,7 @@ function getAuthCookie() { // 401 means that service worked but user could not have been authenticated if (error.response && error.response.statusCode === 401) { // sign up with the given credentials - await got.post(`https://account.${process.env.PORTAL_DOMAIN}/api/user`, { + await got.post(`https://account.${portalDomain}/api/user`, { json: { email, password }, }); diff --git a/packages/website/gatsby-config.js b/packages/website/gatsby-config.js index 4cba3fd8..a2033c34 100644 --- a/packages/website/gatsby-config.js +++ b/packages/website/gatsby-config.js @@ -44,7 +44,6 @@ module.exports = { `gatsby-plugin-svgr`, `gatsby-plugin-robots-txt`, `gatsby-transformer-sharp`, - `gatsby-transformer-json`, `gatsby-transformer-yaml`, { resolve: `gatsby-transformer-remark`, diff --git a/packages/website/package.json b/packages/website/package.json index fe330110..256ba46c 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,11 +15,11 @@ "framer-motion": "6.2.4", "gatsby": "4.7.1", "gatsby-background-image": "1.6.0", - "gatsby-plugin-image": "2.6.0", - "gatsby-plugin-manifest": "4.6.0", + "gatsby-plugin-image": "2.7.0", + "gatsby-plugin-manifest": "4.7.0", "gatsby-plugin-matomo": "0.11.0", - "gatsby-plugin-offline": "5.6.0", - "gatsby-plugin-postcss": "5.6.0", + "gatsby-plugin-offline": "5.7.0", + "gatsby-plugin-postcss": "5.7.0", "gatsby-plugin-purgecss": "6.1.0", "gatsby-plugin-react-helmet": "5.7.0", "gatsby-plugin-robots-txt": "1.7.0", @@ -27,16 +27,15 @@ "gatsby-plugin-sitemap": "5.7.0", "gatsby-plugin-svgr": "3.0.0-beta.0", "gatsby-remark-classes": "1.0.2", - "gatsby-remark-copy-linked-files": "5.6.0", + "gatsby-remark-copy-linked-files": "5.7.0", "gatsby-remark-images": "6.7.0", "gatsby-remark-prismjs": "6.7.0", - "gatsby-remark-responsive-iframe": "5.6.0", + "gatsby-remark-responsive-iframe": "5.7.0", "gatsby-remark-smartypants": "5.7.0", - "gatsby-source-filesystem": "4.6.0", - "gatsby-transformer-json": "4.6.0", + "gatsby-source-filesystem": "4.7.0", "gatsby-transformer-remark": "5.7.0", - "gatsby-transformer-sharp": "4.6.0", - "gatsby-transformer-yaml": "4.6.0", + "gatsby-transformer-sharp": "4.7.0", + "gatsby-transformer-yaml": "4.7.0", "gbimage-bridge": "0.2.1", "http-status-codes": "2.2.0", "jsonp": "0.2.1", @@ -51,7 +50,7 @@ "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2", - "react-dropzone": "12.0.1", + "react-dropzone": "12.0.2", "react-helmet": "6.1.0", "react-share": "4.4.0", "react-svg-loader": "3.0.3", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index b00243de..2354a95d 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -2877,7 +2877,7 @@ babel-plugin-react-svg@^3.0.3: resolved "https://registry.yarnpkg.com/babel-plugin-react-svg/-/babel-plugin-react-svg-3.0.3.tgz#7da46a0bd8319f49ac85523d259f145ce5d78321" integrity sha512-Pst1RWjUIiV0Ykv1ODSeceCBsFOP2Y4dusjq7/XkjuzJdvS9CjpkPMUIoO4MLlvp5PiLCeMlsOC7faEUA0gm3Q== -babel-plugin-remove-graphql-queries@^4.6.0, babel-plugin-remove-graphql-queries@^4.7.0: +babel-plugin-remove-graphql-queries@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-4.7.0.tgz#d17ee70a4799ea1d5c633c8189b89fa93ce11629" integrity sha512-UfDiex308kr8vx5YC3w0KyPitgdPlH3btR/DQWBTMhbavU5zJ+N/nsefzamt8fnq/5911j83Kc89jtmdqzxGDg== @@ -5861,7 +5861,7 @@ gatsby-cli@^4.7.0: yoga-layout-prebuilt "^1.10.0" yurnalist "^2.1.0" -gatsby-core-utils@^3.6.0, gatsby-core-utils@^3.7.0: +gatsby-core-utils@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-3.7.0.tgz#edc928d948a3672d3166b914225a70369325818e" integrity sha512-CboIzpEFbaD4+WrozKl3fMpxUetcaDq0aWPfrfzAtc8l0JMlD3GS2Q/uW7HpcvTAlSGv2ZomTzd2ySLV/AgpTQ== @@ -5918,33 +5918,33 @@ gatsby-page-utils@^2.7.0: lodash "^4.17.21" micromatch "^4.0.4" -gatsby-plugin-image@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-image/-/gatsby-plugin-image-2.6.0.tgz#5342507be7fdd0109fc815c0f2906b0407a55e14" - integrity sha512-rWbIdkcopB02YIhR3UidoYhe2SDOFTpxzJSABq5TcLZ38FD8kth8QavvOO0h1ap9tWjaUNIjCvKRu2M3NvuC1g== +gatsby-plugin-image@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-image/-/gatsby-plugin-image-2.7.0.tgz#cec35a39e73cee991a1fa3d66e3584d937bd640b" + integrity sha512-IVX/c0O/5QL505hla74Pt9i7xtv5zFBeYiYqG9gyejtZ3YuM0Opid3Rs+IIn1LN3fjM/xBrqp8yL7/XN/p24fw== dependencies: "@babel/code-frame" "^7.14.0" "@babel/parser" "^7.15.5" "@babel/runtime" "^7.15.4" "@babel/traverse" "^7.15.4" babel-jsx-utils "^1.1.0" - babel-plugin-remove-graphql-queries "^4.6.0" + babel-plugin-remove-graphql-queries "^4.7.0" camelcase "^5.3.1" chokidar "^3.5.2" common-tags "^1.8.2" fs-extra "^10.0.0" - gatsby-core-utils "^3.6.0" + gatsby-core-utils "^3.7.0" objectFitPolyfill "^2.3.5" prop-types "^15.7.2" -gatsby-plugin-manifest@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-4.6.0.tgz#73c69e980449af9a30d9a55ba919c49b1630c18a" - integrity sha512-/ySmcnGYmTv4exBQSvPVBDoMVHY9TEdiYnP/NmRTOwRA7VaW525qyc+Nf6lTmlD6AONX2nrbQ3U9F/JxCTL+uw== +gatsby-plugin-manifest@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-4.7.0.tgz#8ee8fcddec51154c04ccfab1e36f78e7880e3438" + integrity sha512-jZsR7sqvJsxTm2J01ymPsCXlEoYw9duVQUR3oNy9VxHyuPOXctk2Cnp/vnWDZpQ6g+i7ha1RhyJEQgQEj1jhcQ== dependencies: "@babel/runtime" "^7.15.4" - gatsby-core-utils "^3.6.0" - gatsby-plugin-utils "^3.0.0" + gatsby-core-utils "^3.7.0" + gatsby-plugin-utils "^3.1.0" semver "^7.3.5" sharp "^0.29.3" @@ -5953,14 +5953,14 @@ gatsby-plugin-matomo@0.11.0: resolved "https://registry.yarnpkg.com/gatsby-plugin-matomo/-/gatsby-plugin-matomo-0.11.0.tgz#2a4322df78045af0b3f44ba7b8c455d57b526f96" integrity sha512-yvQFOGky3vyEEmmtopDvsrlnZ8htYrgHHD9CCvlFQ6DrGSL+Y01wkbJZBMpiGAiRt/GKh/8MGWcMfSAGoMQM9g== -gatsby-plugin-offline@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-offline/-/gatsby-plugin-offline-5.6.0.tgz#d1d36140adf8b6cde45b48e1eb8146141b778ef6" - integrity sha512-3ir3P9B6dZGotw4ISe/F3KBZ2zwZtOSQmtOBH6A+KtSlfh4Epyf1VDawiZzBv7QOpbrrjVyL8rs109cIBxlJbA== +gatsby-plugin-offline@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-offline/-/gatsby-plugin-offline-5.7.0.tgz#dd5c317a848c3bf7e200ddfefd6872f2e0c9c998" + integrity sha512-0mkXsDiJxSDMgKGQUWqMXG5w0XFvojPqTHvZ3FAY5kFfqUwJ+JbA/XY5D5BGuSnU2P/pOUhcXlcg2hHtJ5NATQ== dependencies: "@babel/runtime" "^7.15.4" cheerio "^1.0.0-rc.10" - gatsby-core-utils "^3.6.0" + gatsby-core-utils "^3.7.0" glob "^7.2.0" idb-keyval "^3.2.0" lodash "^4.17.21" @@ -5983,10 +5983,10 @@ gatsby-plugin-page-creator@^4.7.0: globby "^11.0.4" lodash "^4.17.21" -gatsby-plugin-postcss@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-postcss/-/gatsby-plugin-postcss-5.6.0.tgz#ee696317eb7601b2e0f5c64b9f9d488376fdb65f" - integrity sha512-AjRLMWMFrmahNSmEYMDwFdDGkUfyDxxAJ2qtteJ3SRAO0Jgb0N9wJM7RkBhAs6H7YuovQIBxoUOo5xrMTlgM4A== +gatsby-plugin-postcss@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-postcss/-/gatsby-plugin-postcss-5.7.0.tgz#e927a85df77b487fea449204e727544635b21399" + integrity sha512-308pPGZmber/uOF98w2ScVYS/gSNsvHE2MEVdDl5EUg0MK09WXzx83bxJThbp7U/xhuJ9D75yiBi1OjpygIAtg== dependencies: "@babel/runtime" "^7.15.4" postcss-loader "^4.3.0" @@ -6069,7 +6069,7 @@ gatsby-plugin-typescript@^4.7.0: "@babel/runtime" "^7.15.4" babel-plugin-remove-graphql-queries "^4.7.0" -gatsby-plugin-utils@^3.0.0, gatsby-plugin-utils@^3.1.0: +gatsby-plugin-utils@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-3.1.0.tgz#56abcc826786ae035a8edd0e652c492bd7b8f40e" integrity sha512-OvRhIKzjaz3WOo/dxSI90ZlclsO2xaj1Dz7vigU2QGPAe8JtRJbNTpgfBZ+JOBeVnDONNbZulVn8S8F/Ra/BZA== @@ -6092,10 +6092,10 @@ gatsby-remark-classes@1.0.2: dependencies: unist-util-select "^2.0.2" -gatsby-remark-copy-linked-files@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/gatsby-remark-copy-linked-files/-/gatsby-remark-copy-linked-files-5.6.0.tgz#05d1aaecbb1a1114b1339071fde0429ed3c41671" - integrity sha512-/gsuAK7KNj9Zuc0ADo6m5rhxemRcPulHKNEr/7VSH521/mZwp6FxK6Co0ngxfL6Z5I4ha65IBCcAFgdPksQQeA== +gatsby-remark-copy-linked-files@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/gatsby-remark-copy-linked-files/-/gatsby-remark-copy-linked-files-5.7.0.tgz#3a79f4f42d2c552e5c7cc13af22c7dc02d9869cb" + integrity sha512-6I7EQCeJBHO9El9PPIAFeWckbW7E5vt/oHEh4FGu/ZtOdUaaBQS8Xmm4zrX2bsoz0S+aWqqi76QPOWM48HVYWQ== dependencies: "@babel/runtime" "^7.15.4" cheerio "^1.0.0-rc.10" @@ -6132,10 +6132,10 @@ gatsby-remark-prismjs@6.7.0: parse-numeric-range "^1.2.0" unist-util-visit "^2.0.3" -gatsby-remark-responsive-iframe@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/gatsby-remark-responsive-iframe/-/gatsby-remark-responsive-iframe-5.6.0.tgz#d74c5aba2f545d33da378b21ecdb3190ddb71d8f" - integrity sha512-X23+p5SYgND4LoINxHwgHJUOphz5ie+a3L0nHKe6cdnfXkkhWbs2ZuQlGfMhLZscrtm6P0XL5xFAdRRiTxC5/g== +gatsby-remark-responsive-iframe@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/gatsby-remark-responsive-iframe/-/gatsby-remark-responsive-iframe-5.7.0.tgz#bbd8fb79aa92d72444c6240afff6848dd2c63123" + integrity sha512-/MTzyZVdRK4Lg+BOWcNwzPc+jgKput71Kguw+E9mLFw7mI43Tuv1QU6orRye8HqoqR77wvHPNqb0EVvkEOs1Vg== dependencies: "@babel/runtime" "^7.15.4" cheerio "^1.0.0-rc.10" @@ -6161,17 +6161,16 @@ gatsby-sharp@^0.1.0: "@types/sharp" "^0.29.5" sharp "^0.29.3" -gatsby-source-filesystem@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-4.6.0.tgz#c8f19397a6f980b4d92bd57e8967f814b8b5d1de" - integrity sha512-Ve6VfFJ4moTX7n8uDTGF7K07HdjWkWW7c9Bn1etcS2QcFRRMj/lxQ/2EFpgVM20jtZ60IG1vqnAzDabqz7UxXQ== +gatsby-source-filesystem@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-4.7.0.tgz#89b00e30720b449f9e835651f26c40236089d528" + integrity sha512-tihlE4cxAI9tQnKqCNEKbrrqRQpMP2iBJIaGhc5gGHQ45cRreJHA60HOM0Nw6IzNKkDdCz0cu9XJwgkXIG9Tyg== dependencies: "@babel/runtime" "^7.15.4" chokidar "^3.5.2" - fastq "^1.13.0" file-type "^16.5.3" fs-extra "^10.0.0" - gatsby-core-utils "^3.6.0" + gatsby-core-utils "^3.7.0" got "^9.6.0" md5-file "^5.0.0" mime "^2.5.2" @@ -6199,14 +6198,6 @@ gatsby-telemetry@^3.7.0: lodash "^4.17.21" node-fetch "^2.6.7" -gatsby-transformer-json@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-4.6.0.tgz#67fbde53406eb10956c367d56b1d9474f29fb6b7" - integrity sha512-EflPtVk/mE5PajQuOUx1F/GbMniJog2uFl5kITNq/PGxXigYkeA/Xh/kgyQWsGwWN1qj0pJPvHiziA90OEWycg== - dependencies: - "@babel/runtime" "^7.15.4" - bluebird "^3.7.2" - gatsby-transformer-remark@5.7.0: version "5.7.0" resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-5.7.0.tgz#8103f7cf71fe0da603908b0e10baf1c22ae50e32" @@ -6235,10 +6226,10 @@ gatsby-transformer-remark@5.7.0: unist-util-select "^3.0.4" unist-util-visit "^2.0.3" -gatsby-transformer-sharp@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/gatsby-transformer-sharp/-/gatsby-transformer-sharp-4.6.0.tgz#a9c2ee2007df2ffb6a941c736588295bca26c10a" - integrity sha512-hf1GohwPhjKg1tRFI3GfJS3SxVoXI+j7MqwPsWetzRvaFy+3kecmU/azklnTfT7/2LexfDxtso9/lCHgFl5fIQ== +gatsby-transformer-sharp@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/gatsby-transformer-sharp/-/gatsby-transformer-sharp-4.7.0.tgz#544f3fc3d1f4cc68dbb02fad59a81e713b09f677" + integrity sha512-5t2MIm7AY0M2hrPHhxolGQZLliasZYiG0i1vke2KcW7vSZAmgmDKZBEbAiApqk8IiKFlTtcq4mv772dBx3YQwQ== dependencies: "@babel/runtime" "^7.15.4" bluebird "^3.7.2" @@ -6249,10 +6240,10 @@ gatsby-transformer-sharp@4.6.0: semver "^7.3.5" sharp "^0.29.3" -gatsby-transformer-yaml@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/gatsby-transformer-yaml/-/gatsby-transformer-yaml-4.6.0.tgz#e9ef02cea00321a60b74f9e3a6a8f7283a562c10" - integrity sha512-S1xVbA0gVg/edlasoziCnE3Uyp0DzhyBR3pl3xJq/HkTP0RWq1KqbRH9BRJa+qF7h+mQ80VTOtqA9LjL2iYEeQ== +gatsby-transformer-yaml@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/gatsby-transformer-yaml/-/gatsby-transformer-yaml-4.7.0.tgz#3f4463ee12769ead67e5daedbdaedf8f3333ba31" + integrity sha512-uwTQdwLBW+ibWG2rHYTt3yCzmHDQ8yCLz/vwX4LjRU+VBow0cwm0DwZdQTCBVLufQ7Bx3b3E+bECwgprlku7UA== dependencies: "@babel/runtime" "^7.15.4" js-yaml "^3.14.1" @@ -10492,10 +10483,10 @@ react-dom@17.0.2: object-assign "^4.1.1" scheduler "^0.20.2" -react-dropzone@12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-12.0.1.tgz#926d8537405845fa058869e70d7829938eca5552" - integrity sha512-E//nFCJfb8eDZ0zI9bOZ/v+8DOwK+7IY76Fv8u8ogfqX/d/K+32EWkFQ2+O9kF8XfUAyGtSA4cKvCjW4o78Qgg== +react-dropzone@12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-12.0.2.tgz#3c34f71f378bc35bf06e8e5a1ccb415a5b7c9917" + integrity sha512-wnU3+QZA9H5XqC+UNdEDs5YuB+XgJh5mQ9Bop4PUtN/2nKTGTpBbfkcsm9OVCYylBHak69Ezjzbhx/0Cb6OfjA== dependencies: attr-accept "^2.2.2" file-selector "^0.4.0" diff --git a/setup-scripts/support/crontab b/setup-scripts/support/crontab index 29c8ec1a..9bc5cd34 100644 --- a/setup-scripts/support/crontab +++ b/setup-scripts/support/crontab @@ -2,6 +2,6 @@ 0 0,8,16 * * * /home/user/skynet-webportal/setup-scripts/log-checker.py /home/user/skynet-webportal/.env sia 8 0 * * * * /home/user/skynet-webportal/setup-scripts/health-checker.py /home/user/skynet-webportal/.env sia 1 30 */4 * * * /home/user/skynet-webportal/setup-scripts/blocklist-airtable.py /home/user/skynet-webportal/.env -0 4 * * * /home/user/skynet-webportal/scripts/db_backup.sh 1 >> /home/user/skynet-webportal/logs/db_backup_`date +"%Y-%m-%d-%H%M"`.log 2 > &1 +6 13 * * * /home/user/skynet-webportal/scripts/db_backup.sh 1>>/home/user/skynet-webportal/logs/db_backup.log 2>>/home/user/skynet-webportal/logs/db_backup.log 0 5 * * * /home/user/skynet-webportal/scripts/es_cleaner.py 1 http://localhost:9200 15 * * * * /home/user/skynet-webportal/scripts/nginx-prune.sh