https://github.com/pin0l33kz/obsidian-panel
A modern, lightweight, self-hosted Minecraft server management panel.
https://github.com/pin0l33kz/obsidian-panel
minecraft panel self-hosted server server-panel web web-panel
Last synced: 27 days ago
JSON representation
A modern, lightweight, self-hosted Minecraft server management panel.
- Host: GitHub
- URL: https://github.com/pin0l33kz/obsidian-panel
- Owner: PIN0L33KZ
- License: other
- Created: 2025-04-08T17:01:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-28T00:45:00.000Z (about 1 year ago)
- Last Synced: 2025-05-28T01:34:03.250Z (about 1 year ago)
- Topics: minecraft, panel, self-hosted, server, server-panel, web, web-panel
- Language: PHP
- Homepage: https://www.pinoleekz.de
- Size: 214 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Obsidian Panel
A modern, lightweight, and self-hosted Minecraft server management panel.
---
## โ๐ผ - Program Description
**Obsidian Panel** is a modernised continuation of the original [**MCHostPanel**](https://github.com/Alanaktion/MCHostPanel) project by Alan Hardman, first introduced in 2016. It provides a sleek, efficient, and self-hosted platform for managing Minecraft servers. Featuring a redesigned web interface focused on usability and performance, it allows administrators to manage files, monitor server performance, and configure game settings with ease, all within a secure and streamlined environment.
---
## ๐ - Version Information
Current version: **0.1.3.0** Release date: **08/04/2025**
Latest Updates:
- First Beta release to the public
---
## โ ๏ธ - Software Requirements
- Web Server (Apache2, Nginx, XAMMP or Lighttpd)
- PHP 8.2 (or higher)
- GNU Screen (Terminal Multiplexer)
- Java Runtime Environment (OpenJDK or Adoptium)
---
## ๐ - Installation Guide
> [!NOTE]
> This Installation Guide is based on Debian 12 (Bookworm) and the APT-Package Manager.
### Update your Linux Server
Refresh your repository list and upgrade installed packages:
```bash
sudo apt update; \
sudo apt upgrade -y
```
### Install Web Server
> [!NOTE]
> This Guide uses Apache2 as Web Server but feel free to choose another option.
Install and enable the Apache2 Web Server:
```bash
sudo apt install apache2 -y; \
sudo systemctl enable apache2; \
sudo systemctl start apache2
```
### Enable required Apache2 modules
> [!TIP]
> The SSL Module is optional and only required if you want your Obsidian Panel Instance to be accessed via HTTPS.
Activate necessary modules:
```bash
a2enmod rewrite headers ssl
```
Restart the Apache2 Web Server to enable all Modules:
```bash
systemctl restart apache2
```
### Install PHP and required extensions
Install PHP 8.2 and its required extensions:
```bash
sudo apt install php8.2 php8.2-gd -y
```
### Install and configure Server Firewall
> [!NOTE]
> This Guide uses UFW as Firewall, feel free to choose a different Firewall Service.
Install UFW (Uncomplicated Firewall):
```bash
sudo apt install ufw -y
```
Allow the communication to the following ports:
> [!WARNING]
> Please replace `` with your local network address e.g. `192.168.178.0` and replace `` with your subnet prefix e.g. `/24` for `255.255.255.0`
```bash
sudo ufw allow from / to any port 22 comment 'SSH'; \
sudo ufw allow in 80/tcp comment 'Webpanel HTTP'; \
sudo ufw allow in 443/tcp comment 'Webpanel HTTPS'
```
Enable and reload your Firewall:
```bash
sudo ufw enable; \
sudo ufw reload
```
### Setup Apache2 Web Server
> [!WARNING]
> Please replace the following placeholder:
>
> `` = your hostname or domain name
>
> `` = E-Mail address of your root account
>
> `` = SSL Certificate File (\*.crt or \*.pem)
>
> `` = SSL Key File (\*.key or \*.pem)
Create directory structure:
```bash
mkdir -p /var/www//public_html; \
mkdir /var/www//logs; \
mkdir /var/www//public_server
```
Create virtual host configuration:
```bash
vim /etc/apache2/sites-available/obsidian-panel.conf
```
Insert the following configuration:
> [!TIP]
> This configuration template rewrites http requests on port 80 to https requests on port 443.
```bash
ServerName
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
ServerAdmin
ServerName
DocumentRoot /var/www//public_html/
SSLEngine on
SSLCertificateFile
SSLCertificateKeyFile
ErrorLog /var/www//logs/error.log
CustomLog /var/www//logs/access.log combined
/public_html/>
Options +Indexes +FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex index.php
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Strict-Transport-Security "max-age=31536000"
```
Enable your configuration and reload the Apache2 Web Server:
```bash
a2ensite obsidian-panel.conf; \
systemctl reload apache2
```
### Download and install Obsidian Panel
> [!WARNING]
> Please replace `` with your hostname or domain name e.g. `panel.pinoleekz.de`
Download the latest Obsidian Panel version from my GitHub, extract all files and delete unnecessary files:
```bash
WEBROOT="/var/www//public_html"; \
wget -O "$WEBROOT/obsidian-panel.zip" "https://github.com/PIN0L33KZ/obsidian-panel/releases/download/v.1.0.2/obsidian-panel_initial-release-1.0.2.zip" && \
unzip "$WEBROOT/obsidian-panel.zip" -d "$WEBROOT" && \
rm "$WEBROOT/obsidian-panel.zip" && \
mv "$WEBROOT/obsidian-panel-main/"* "$WEBROOT" && \
rm -r "$WEBROOT/obsidian-panel-main"; \
unset WEBROOT
```
Set directory permissions:
```bash
chown www-data /var/www/ -R; \
chmod 755 /var/www/ -R
```
### Configure your Obsidian Panel
Copy the sample config file:
```bash
cp data/config-sample.php data/config.php
```
Edit the following line in `data/config.php` to reflect your Serverโs IP-Address:
> [!WARNING]
> Use `127.0.0.1` if the Panel and the Minecraft Server are running on the same Machine
```bash
define('KT_LOCAL_IP', '127.0.0.1');
```
Open your Obsidian Panel instance via your Browser:
```bash
https:///install.php
```
Follow the setup wizard in your Browser to create your Administrator Account.
### Clean up
Remove the installation wizard to enhance security:
```bash
rm /var/www//public_html_install.php
```