close
Skip to content

milosz08/pm-web-panel

Repository files navigation

PM Web Panel

An interactive and open-source management panel for PM2 instances updated in real time. It uses a Java process runner, Spring Boot (server) and React environment, server-side events and websocket protocol to send resources usage parameters and application logs in real time.

[TODO] Presentation gif

Table of content

Clone and install

To install the program on your computer use the command (or use the built-in GIT system in your IDE environment):

$ git clone https://github.com/milosz08/pm-web-panel

Run with Docker (simplest, not for development)

  1. Go to root directory (where file docker-compose.yml is located) and type:
$ docker compose up -d

This command should create 1 docker container:

Container name Port(s) Description
pm-web-panel 8690 Application (client + server)

NOTE: Application outgoing port can be changed inside .env file.

Setup (for development)

  1. Setup client:
  • Go to client directory ($ cd pwp-frontend) and install all dependencies via:
$ yarn install --frozen-lockfile

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

  • Run client via:
$ yarn run dev
  1. Setup server:
  • Type (for UNIX):
$ ./gradlew :pwp-backend:run

or for Windows:

.\gradlew.cmd :pwp-backend:run

Check application state via endpoint: /actuator/health. If response show this:

{
  "status": "UP"
}

application is running and waiting for http requests.

  1. Applications (client and server) should be available at ports:
App name Port(s)
pm-web-panel (server) 8690
pm-web-panel (client) 8691

Create executable JAR file (bare-metal)

To create executable JAR file (client + server), you must type (for UNIX):

$ ./gradlew shadowJar -PbuildFrontend --no-daemon

or for Windows:

.\gradlew.cmd shadowJar -PbuildFrontend --no-daemon

Output JAR file will be located inside .bin directory. With this file you can run app in bare-metal environment without virtualization via:

$ java \
  -Xms1024m \
  -Xmx1024m \
  -jar pm-web-panel.jar

Tech stack

  • React 19, Vite, Mui Components,
  • Java 17,
  • Docker containers.

Author

Created by Miłosz Gilga. If you have any questions about this application, send message: miloszgilga@gmail.com.

License

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

About

Open-source real-time PM2 instances manager with instances-based user management system.

Resources

License

Stars

Watchers

Forks

Contributors