explaingit

midoks/mdserver-web

4,499PythonAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

A browser-based control panel for managing a Linux server, install web servers, databases, PHP, and other software through a graphical interface instead of typing terminal commands.

Mindmap

mindmap
  root((mdserver-web))
    What it does
      Linux server control panel
      Browser-based admin UI
      Plugin-based software manager
    Managed Software
      OpenResty web server
      PHP multiple versions
      MySQL and MariaDB
      Redis and MongoDB
    Features
      Built-in SSH terminal
      Website backups
      Docker container option
    Setup
      Single curl install command
      Debian recommended
    Audience
      Server admins
      Self-hosters
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Manage a Linux web server through a browser UI, install PHP, MySQL, and Redis without using the command line.

USE CASE 2

Set up a self-hosted Git server using the Gogs plugin and manage it through the control panel interface.

USE CASE 3

Access a browser-based SSH terminal and create scheduled website backups from within the panel.

USE CASE 4

Run the control panel in Docker for a containerized server management setup.

Tech stack

PythonOpenRestyPHPMySQLDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Install via a curl shell script on a Linux server, Debian is recommended, interface and documentation are in Chinese.

Open source under Apache 2.0, use freely for any purpose including commercial, modify and distribute with attribution.

In plain English

mdserver-web is a web-based control panel for managing a Linux server. Instead of typing commands into a terminal every time you want to install software, start a service, or configure a website, you open a browser and do it through a graphical interface. The project is written in Python and runs on the server itself, serving the admin panel over a local port. The panel manages a collection of common server components through a plugin system. The README lists the main ones: OpenResty (a web server), PHP in multiple versions from 5.3 through 8.5, MySQL, MariaDB, MongoDB, PostgreSQL, phpMyAdmin (a browser-based database tool), Memcached, Redis, PureFTPd for file transfers, Gogs for self-hosted code repositories, and rsync for file synchronization. Each of these is treated as a plugin that you can install or remove through the panel's interface rather than by running package manager commands manually. The panel also includes a built-in SSH terminal so you can run commands in the browser, a website backup feature, and a favorites system for bookmarking frequently used sections. A Docker image maintained by a third-party contributor is available if you prefer to run the panel in a container. The README recommends Debian as the host operating system, though it lists Debian, Ubuntu, CentOS, Fedora, and EulerOS as tested platforms. Installation is a single curl command that downloads and runs a shell script. The author notes that the project is free, does not sell user data, does not perform monitoring beyond basic usage statistics, and does not inject anything harmful. The README and community forums are in Chinese. The license is Apache 2.0.

Copy-paste prompts

Prompt 1
I just installed mdserver-web on a Debian server. Walk me through installing OpenResty and PHP 8.2 using the plugin system, then setting up a new website with a domain.
Prompt 2
How do I configure a new virtual host in mdserver-web for a domain, set the document root, enable HTTPS, and point it to PHP 8.2?
Prompt 3
Show me how to run mdserver-web using Docker Compose. What environment variables and port mappings do I need, and how do I access the panel after it starts?
Prompt 4
How do I set up automatic daily backups of a website in mdserver-web, and how do I restore from a backup if something goes wrong?
Open on GitHub → Explain another repo

← midoks on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.