Skip to content

Web interface for simplify configuration, updates and management of JWizard infrastructure.

License

Notifications You must be signed in to change notification settings

jwizard-bot/jwizard-management

Repository files navigation

[About project] | [Docker image] | [Docker installation]

JWizard is an open-source Discord music bot handling audio content from various multimedia sources with innovative web player. This repository contains web interface to simplify configuration, updates and management of JWizard infrastructure.

Table of content

Project modules

Name Description
jwm-client React application (SPA).
jwm-server Javalin (with embed Jetty server).

Clone and install

  1. Make sure you have at least JDK 17 and Kotlin 2.0.
  2. Clone JWizard Lib and JWizard Tools from organization repository via:
$ git clone https://github.com/jwizard-bot/jwizard-lib
$ git clone https://github.com/jwizard-bot/jwizard-tools
  1. Configure and run all necessary containers defined in README.md file in this repository. You must have up these containers:
Name Port(s) Description
jwizard-vault 8761 Secret keys storage service.
jwizard-mysql-db 8762 MySQL database.
jwizard-rabbitmq 8771, 8772 RabbitMQ server and management panel.

Important

Don't forget to perform database migration after start DB (see jwizard-lib repository).

  1. Build library and package to Maven Local artifacts' storage:
  • for UNIX based systems:
$ ./gradlew clean publishToMavenLocal
  • for Windows systems:
.\gradlew clean publishToMavenLocal
  1. Clone this repository via:
$ git clone https://github.com/jwizard-bot/jwizard-management
  1. Create .env file in root of the project path (based on example.env) and insert Vault token:
JWIZARD_VAULT_TOKEN=<vault token>

where <value token> property is the Vault token stored in configured .env file in jwizard-lib repository.

  1. That's it. Now you can run server via Intellij IDEA. Make sure, you have set JVM parameters (for server app):
-Druntime.profiles=dev -Denv.enabled=true -Xms128m -Xmx128m

where Xmx and Xms parameters are optional and can be modified.

Note

For servers running on HotSpot JVM, Oracle recommended same Xms and Xmx parameter, ex. -Xms128m and -Xmx128m. More information you will find here.

  1. To run client development server, install packages via:
$ cd jwm-client
$ yarn install --frozen-lockfile

Tip

If you do not have yarn, install via: npm i -g yarn.

and run it via:

$ yarn run dev

Client development server should be available at 8773

Contributing

We welcome contributions from the community! Please read our CONTRIBUTING file for guidelines on how to get involved.

License

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.

About

Web interface for simplify configuration, updates and management of JWizard infrastructure.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  
  •