Manual Installation
Manual installation gives you full control over each component. This approach is suitable for environments where Docker is not available or when you need fine-grained configuration.
Prerequisites
Section titled “Prerequisites”| Component | Requirement |
|---|---|
| Java | JDK 17 or later |
| Node.js | 22 LTS |
| MySQL | 8.0 or later |
| Redis | 7.0 or later |
| Go | 1.24 (for building the agent) |
Install MySQL
Section titled “Install MySQL”sudo apt updatesudo apt install mysql-server-8.0sudo systemctl enable mysqlsudo systemctl start mysqlsudo mysql_secure_installationsudo dnf install mysql-serversudo systemctl enable mysqldsudo systemctl start mysqldsudo mysql_secure_installationCreate the database and user:
CREATE DATABASE easyshell CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'easyshell'@'localhost' IDENTIFIED BY 'your_password';GRANT ALL PRIVILEGES ON easyshell.* TO 'easyshell'@'localhost';FLUSH PRIVILEGES;Install Redis
Section titled “Install Redis”sudo apt install redis-serversudo systemctl enable redis-serversudo systemctl start redis-serversudo dnf install redissudo systemctl enable redissudo systemctl start redisBuild and Run the Server
Section titled “Build and Run the Server”cd easyshell-server./gradlew bootJarConfigure the server by editing application.yml or passing environment variables:
export SPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/easyshellexport SPRING_DATASOURCE_USERNAME=easyshellexport SPRING_DATASOURCE_PASSWORD=your_passwordexport SPRING_REDIS_HOST=localhostexport SPRING_REDIS_PORT=6379
java -jar build/libs/easyshell-server-0.1.0-SNAPSHOT.jar --server.port=18080Build and Run the Web Frontend
Section titled “Build and Run the Web Frontend”cd easyshell-webnpm installnpm run buildnpm run previewFor production, serve the built files with Nginx. See the Production Deployment guide.
Verify Installation
Section titled “Verify Installation”- Open
http://localhost:18880(Docker) or your configured URL - Login with
easyshell/easyshell@changeme - Check the system status page for service connectivity