Code Monkey home page Code Monkey logo

zeppelin's Introduction

Zeppelin Banner

Zeppelin

Zeppelin is a moderation bot for Discord, designed with large servers and reliability in mind.

Main features include:

  • Extensive automoderator features (automod)
    • Word filters, spam detection, etc.
  • Detailed moderator action tracking and notes (cases)
  • Customizable server logs
  • Tags/custom commands
  • Reaction roles
  • Tons of utility commands, including a granular member search
  • Full configuration via a web dashboard
    • Override specific settings and permissions on e.g. a per-user, per-channel, or per-permission-level basis
  • Bot-managed slowmodes
    • Automatically switches between native slowmodes (for 6h or less) and bot-enforced (for longer slowmodes)
  • Starboard
  • And more!

See https://zeppelin.gg/ for more details.

Usage documentation

For information on how to use the bot, see https://zeppelin.gg/docs

Development

See docs/DEVELOPMENT.md for instructions on running the development environment.

Once you have the environment up and running, see docs/MANAGEMENT.md for how to manage your bot.

Production

See docs/PRODUCTION.md for instructions on how to run the bot in production.

Once you have the environment up and running, see docs/MANAGEMENT.md for how to manage your bot.

zeppelin's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

zeppelin's Issues

author.icon_url does not work in embed formatted logs

When using embed format logs, the icon_url for Author does not work:

        VOICE_CHANNEL_JOIN:
          embed: 
            author:
              name: "{member.tag} [{member.id}]"
              icon_url: "{user.avatarURL}"
            description: '<@{member.id}> joined voice channel <#{channel.id}>'
            thumbnail:
              url: '{member.user.avatarURL}'
            color: 0x77dd77 #pastel green
            footer: 
              text: "{timestamp}"

image

(root) Additional property name is not allowed

I encountered an error stating "(root) Additional property name is not allowed" when executing the command "docker compose -f docker-compose.development.yml up".
Although I have filled in all the necessary attributes in the configuration file, it seems that there may be an issue.

Thanks.

Where to set global config?

I noticed that Zeppelin/backend/src/pluginUtils.ts uses knub.getGlobalConfig() to get the url of the server.
And that the config is set in getConfig in new Knub<ZeppelinGuildConfig, ZeppelinGlobalConfig> constructor.

But I am not seeing anywhere a way to set the global config. In my DB, there isn't any config with a "global" key.

There is backend/src/migrateConfigsToDB.ts that, I'm guessing, was used once to move a config file to the DB, but nothing else.

Let me know if I'm missing something.

Some messages remain after a person spams and triggers a kick and delete automod rule

If an automod rule is set to delete and kick on a certain trigger the kick seems to take time to initiate and to end. So if a person or bot is spamming too quickly and the kick is initiated on say, the first and second message, the third and fourth message do not get deleted. This might be perhaps because the bot stops on the second message and does not follow the rule since the user has already been removed?

DB

what db do I use for the .env files?

What would need to be done in order to gain Dashboard access?

I have Bot, API and dashboard hosted after a long time. When attempting to log into the dashboard, the site says I don't have permission. I tried a lot in the MariaDB:

image_2021-08-14_150903

Nothing seems to work to let me have access to the dashboard... Any help appreciated.

Time Stamps

Zeppelin is using incorrect time-stamps when leaving the server. It says they joined December 31st 1969 at 4:00pm on some leaves.
image

I'm not sure why it does this but it's a bug I guess.

This repo is in desperate need of a license.

tl;dr of the things discussed: there will be a license added at some point, which will likely not be open source. dragory has expressed people should be allowed to self-host for themselves, but not make the bot public. An agreement has to be made with the past contributors, and conditions outlined for future contributors.


A repo without a license means technically no one is allowed to even download and run the code, even for development/testing purposes. Every contributor until now could be sued by you for copyright, and so could you by every contributor you accepted contributions from.

If you find software that doesn’t have a license, that generally means you have no permission from the creators of the software to use, modify, or share the software. Although a code host such as GitHub may allow you to view and fork the code, this does not imply that you are permitted to use, modify, or share the software for any purpose.

Also, you might be held responsible for damages caused by this code, since you dont have any document claiming you are not responsible for damages when using it. This is why licenses have a very prominent: WITHOUT WARRANTY OF ANY KIND [...] or similar clause.

No license text at all is really bad for YOU and for others, especially since you already accepted contributions. To be safe from any kind of copyright issue, you would need to come to an agreement with every single contributor. In my humble, not legal advice opinion, the best you can do is add a license that contributors would agree with and hope they don't do anything/just accept it.

source: https://choosealicense.com/no-permission/

Dev dashboard failing on watch-build

After following all instructions in DEVELOPMENT.md, running npm run watch-build throws this error:

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/home/ubuntu/zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /home/ubuntu/zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /home/ubuntu/zeppelin/dashboard/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at context.callback (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /home/ubuntu/zeppelin/dashboard/node_modules/babel-loader/lib/index.js:59:71 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.16.0

Not sure if I'm just being dumb but something isn't working right lol

Alt Accounts

Zepplin should have some tooling for logging and actioning of alt accounts at the same time, reducing the burden of server staff remembering to action on alts.

Bug

Cases in the case log channel that get updated using !update have the “jump to case in case log…” message. Attached a screenshot
IMG_7704

Enable support for pretty_name in automod rules

Currently, you cannot use pretty_name in automod rules, so your alerts always end up with the raw name.

eg

  automod:
    config:
      rules:
        urlFilter_inviteFilter:
          pretty_name : "Discord Invite Filter"
          triggers:
          - match_invites:
              allow_group_dm_invites: true
              match_messages: true
              match_visible_names: false
          actions:
            log: true
            clean: true

What to do with the built dashboard?

I have built the folder following the instructions, and have moved the contents of the dist/ folder to the www/ folder on my computers WAMP server.

www folder

But, when I go to localhost, the dashboard button doesn't work, which makes sense, since there are no folders inside of the dist/ folder. What needs to be done that I am missing? Is it an issue with localhost? Thanks

Better UI for tag list command

The tag list command has a very minimal layout simply using a codeblock to display all tag names.

This is incredibly hard to read when there are many tags and makes it difficult to find a tag you are looking for.

Suggestions to improve the tags command:

  1. Group tags by starting letter and separate each group into sections
    • Possibly embeds can be used for this and pagination if necessary?
  2. Allow searching for tags using partial text and/or fuzzy matching
    • For example, to find tags related to github, you could search !!tags github and only tags containing that text would appear in the list

Question: Dashboard compile crash

I got this error:

PS E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard> npm run build

> @zeppelin/[email protected] build
> rimraf dist && cross-env NODE_ENV=production webpack --config webpack.config.js

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:471:10)
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:503:5
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:358:12
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at Array.<anonymous> (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
node:internal/crypto/hash:67
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:471:10)
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:503:5
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:358:12
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at context.callback (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\babel-loader\lib\index.js:59:71 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.2.0

Also in tsconfig.json, the Dashboard folder, I got an error from configuration:

{
^ Cannot write file 'e:/Harshfeudal/Code Project/Discord Bot Project/Server Bot/Shikimori/dashboard/tailwind.config.js' because it would overwrite input file.
  "compilerOptions": {
    "moduleResolution": "node",
    "module": "esnext",
    "target": "es2018",
    "sourceMap": true,
    "noImplicitAny": false,
    "allowSyntheticDefaultImports": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "strict": false,
    "lib": ["esnext", "dom"],
    "baseUrl": ".",
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "allowJs": true,
    "paths": {
      "@shared/*": ["../shared/src/*"]
    }
  }
}

How do I fix these errors?
Thanks a lot for helping me!

AvatarURL broken

Avatar for embed logs e.g in thumbnail fields are currently broken

Use Discord Time Syntax instead of plain text server timezone.

Zeppelin Bot should use Discord time syntax instead of plain text server timezone because it's more versatile for members in a different time zone from the servers.

For example, instead of reminders being I will remind you in 1 day at 1 Jan, 2000 at 0:00:00 UTC they should be I will remind you in <t:946645200:R> at <t:946645200:f>

This means that reminders or times in commands will match the member's local timezone and follow their country's date formatting (like how the US uses 12h time and the UK uses 24h time)

Standardize user mention formatting

According to LogsPlugin.ts#L123, ping_user is deprecated, implying that allow_user_mentions is the preferred option. Yet in getLogMessage.ts#L92, the user mention formatting result used in logs is determined by both ping_user and allow_user_mentions.

If ping_user was internally marked as deprecated, why is it still being used to determine a user mention formatting result?
Instead, could we just standardize allow_user_mentions as the determining condition for whether or not verboseUserMention() is called instead of verboseUserName()?

if (config.allow_user_mentions) {
  mentions.push(verboseUserMention(user));
} else {
  mentions.push(verboseUserName(user));
}

filling up

i dont know what these
DB_HOST=
DB_USER=
DB_PASSWORD=
DB_DATABASE=
means can anyone explain to me what these are actually for?

MySQL Error

Doesn't recognize the year column when it exists.

Error
phpmyadmin

Information on how to set up database

I know that no support is provided for self hosting, but it would be really nice if there was an SQL command to create all of the needed tables to run the bot in the readme.

Support for slash commands

In April of 2022 (a few months from now), Discord will be shutting of the message intent unless the bot developers apply for the intent and is approved for the intent (or the bot is in less than 75 servers). Discord is pushing hard in this direction and recently released support for permissions in slash commands. Further, although this decision has been a massive controversy in the bot development community, Discord has stated that refusal to go to slash commands will not be enough of a reason for them to grant the intent.

Slash commands do actually improve knowledge of what commands are available. What's the plan for slash commands in Zeppelin? I know they don't exist yet on r/PokemonUnite. Would like to know the timeline for it or if there is any plan to convert from message based commands to slash commands.

Include sticker info in !source

Currently, the source command works with message ID, content, attachments, and embeds, but not stickers (which are of course now released for custom uploading), so I think that should also be supported.

Example:

{
  "id": "859858669486342176",
  "content": "",
  "attachments": [],
  "embeds": [],
  "stickers": {
    "id": "1234",
    "name": "pogcow"
  }
}

Using Sillydev to host

I want to use Sillydev to self-host, but I don't know which file to select as startup, how to turn it on, etc. please assist

Latest Docker Fail to compile API and BOT for Productions

Fresh Install without any applications using the Production environment:
Server Host on AWS Lightsail
OS: Debian Bullseye 11.4
Docker ver: 23.0.5, build bc4487a
Docker Compose ver: v2.9.0

Running for the first time:
docker compose -f docker-compose.production.yml up -d without any error and all docker containers run as expected. However zeppelin-prod-prepare_backend-1 will instantly crash/fail causing a domino effect toward the rest of the container which is actually trying to run with an error

Error Logs
API logs:

Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found

BOT logs:

Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
sh: 1: cross-env: not found
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found

Dashboard Logs:

npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Support has ended for 9.x series. Upgrade to @latest
added 1133 packages, and audited 1134 packages in 58s
66 packages are looking for funding
  run `npm fund` for details
37 vulnerabilities (1 low, 6 moderate, 26 high, 4 critical)
To address issues that do not require attention, run:
  npm audit fix
To address all issues (including breaking changes), run:
  npm audit fix --force
Run `npm audit` for details.
npm notice 
npm notice New minor version of npm available! 9.5.1 -> 9.6.6
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.6>
npm notice Run `npm install -g [email protected]` to update!
npm notice 
> @zeppelin/[email protected] build
> rimraf dist && cross-env NODE_ENV=production webpack --config webpack.config.js
Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
    at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
    at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
    at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /zeppelin/dashboard/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
    at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
    at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
    at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at context.callback (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /zeppelin/dashboard/node_modules/babel-loader/lib/index.js:59:71 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v18.16.0

Backend Logs:

npm notice 
npm notice New minor version of npm available! 9.5.1 -> 9.6.6
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.6>
npm notice Run `npm install -g [email protected]` to update!
npm notice 
npm ERR! code EUSAGE
�������
 
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
�������
 
npm ERR! Missing: [email protected] from lock file
�������
 
npm ERR! Clean install a project
�������
 
npm ERR! Usage:
npm ERR! npm ci
�������
 
npm ERR! Options:
npm ERR! [-S|--save|--no-save|--save-prod|--save-dev|--save-optional|--save-peer|--save-bundle]
npm ERR! [-E|--save-exact] [-g|--global]
npm ERR! [--install-strategy <hoisted|nested|shallow|linked>] [--legacy-bundling]
npm ERR! [--global-style] [--omit <dev|optional|peer> [--omit <dev|optional|peer> ...]]
npm ERR! [--strict-peer-deps] [--no-package-lock] [--foreground-scripts]
npm ERR! [--ignore-scripts] [--no-audit] [--no-bin-links] [--no-fund] [--dry-run]
npm ERR! [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]
npm ERR! [-ws|--workspaces] [--include-workspace-root] [--install-links]
�������
 
npm ERR! aliases: clean-install, ic, install-clean, isntall-clean
�������
 
npm ERR! Run "npm help ci" for more info
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/node/.npm/_logs/2023-05-07T05_12_41_806Z-debug-0.log

I hope this will get fixed and I believe need to test for a fresh install not for an update since the update might not require rebuilding the Backend or Dashboard.

Inconsistent Docker Dev Port Number

Across the example env and the dev guide there is an inconsistency of which port to use, leading to confusion when trying to connect through SSH. These needs to be standardised, I'm down to PR this just let me know whether it should be 3002 or 3022.

DEVELOPMENT_SSH_PORT=3022

  1. Choose Connect via SSH and create a new connection:
    Username: ubuntu
    Host: 127.0.0.1
    Port: 3002

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.