[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.
Name | Description |
---|---|
jwm-client | React application (SPA). |
jwm-server | Javalin (with embed Jetty server). |
- Make sure you have at least JDK 17 and Kotlin 2.0.
- 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
- 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).
- Build library and package to Maven Local artifacts' storage:
- for UNIX based systems:
$ ./gradlew clean publishToMavenLocal
- for Windows systems:
.\gradlew clean publishToMavenLocal
- Clone this repository via:
$ git clone https://github.com/jwizard-bot/jwizard-management
- Create
.env
file in root of the project path (based onexample.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.
- 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.
- 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
We welcome contributions from the community! Please read our CONTRIBUTING file for guidelines on how to get involved.
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.