Documentation

Quick start + feature guide for every section and device (continuously updated)

App Store

This article is a complete guide to the panel's "App Store" — one-click deployment of common applications.

In a Nutshell

The App Store is a built-in "app marketplace" containing a large collection of common open-source applications (blogs, cloud drives, notes, monitoring, databases, etc.). One click automatically completes the Docker deployment on the target server, with no need to manually write docker-compose or search for tutorials.

Overview

The App Store contains common open-source applications, each of which comes with ready-made "default username/password + port + data directory + deployment steps + notes". You only need to click "Install", choose a server, fill in a few key parameters, and the rest (pulling images, creating databases, configuring environment variables, starting containers) is all done automatically.

Use Cases

  • Want to quickly deploy an application (e.g. a Nextcloud cloud drive, a WordPress blog, Memos notes)
  • Don't want to research environment variables, port mapping, and data persistence yourself
  • Want every application to come with ready-made "default username/password + deployment steps + notes"

How to Use

1. Go to "App Store", browse or search for applications

2. Switch between the "All" and "Installed" views

3. Click an application to see its details (default username/password, port, data directory, notes)

4. Click "Install", select a target server, and fill in the configuration as prompted (password, port, etc.)

Content Management System (CMS) One-Click Install

The App Store includes a "Content Management System (CMS One-Click Install)" category containing mainstream CMSes such as WordPress, Joomla, Drupal, MediaWiki, Halo, and Ghost. All of them support one-click install + automatic database configuration, with no need to manually write SQL at any step:

1. Automatically check / install Docker

2. Automatically start the shared MariaDB database container (sshe-mysql; created only once, then reused by later CMSes)

3. Automatically create an independent database and user for each site (random strong password; the root password is persisted to /opt/sshe-mysql/.root_password on the server for reuse)

4. Automatically start the CMS container and inject the database configuration

5. After installation, a popup shows the access URL + database credentials, copyable with one click

Three modes:

  • Fully automatic (WordPress / Joomla): the official images support database environment variables, so the app is ready to use right after installation
  • Web wizard (Drupal / MediaWiki): the tool automatically creates the database and user, and you fill in the auto-generated credentials in the web install wizard (no SQL needed)
  • Built-in database (Halo / Ghost): no external database needed; run directly with one click

> Tip: if Docker Hub image pulls time out on servers in mainland China, first configure a Docker registry mirror on the server (public mirrors such as docker.1ms.run / docker.m.daocloud.io).

Viewing / Backing Up a Site's Database Credentials

After a one-click install, each site's database credentials are automatically saved to the target server: /opt/sshe-db-creds/<container-name>.conf (contains DB_HOST / DB_NAME / DB_USER / DB_PASS / DB_ROOT, permission 600).

In the CMS details of the App Store or Image Gallery, click "View Database Credentials" to view them at any time; the popup automatically includes:

  • 🚀 One-Click phpMyAdmin Deployment: one click automatically deploys phpMyAdmin on the sshe-cms-net network (picks a free port, default 8888, pointing to sshe-mysql) and provides an "Open phpMyAdmin (login pre-filled)" button to go straight into the database for visual browsing / import-export / querying.
  • Backup command: docker exec sshe-mysql mariadb-dump -uroot -p'<DB_ROOT>' <DB_NAME> > /opt/sshe-db-creds/<DB_NAME>.bak.sql
  • phpMyAdmin alternate login: use sshe-mysql as the server, and the database user / password above as the username / password.

> Note: the credentials file is only generated when the CMS is deployed via "one-click install"; if you deploy manually with docker run, check the application's own configuration (e.g. WordPress's wp-config.php).

What Each Application's Details Include

InfoDescription
Default username / passwordThe application's initial account (e.g. Nextcloud's admin)
Default portThe port the application listens on
Data directoryWhere data is persisted
Deployment stepsThe complete steps for database-dependent applications (install DB → create DB and user → configure environment variables → initialize)
NotesPort conflicts, resource usage, security tips, etc.

Managing Installed Applications

Switch to "Installed", and each installed application provides inline actions: Install / Uninstall / Stop / Start / Restart / Delete, for convenient day-to-day operations.

Database-Dependent Applications

Some applications (e.g. Nextcloud, WordPress) depend on MySQL/PostgreSQL. Their deployment steps automatically include:

1. Deploy the database first (MySQL/MariaDB/PostgreSQL)

2. Create the database and user

3. Configure the application's environment variables (database address, username, password)

4. Initialize the application

The panel strings these steps together; you only need to fill in key information such as passwords as prompted.

Multi-Distro Support

The App Store's install commands automatically adapt to the target server's package manager, with no manual selection needed:

DistroPackage ManagerAdaptation
Debian / Ubuntuaptnative commands
Fedora / Rocky / CentOS / RHELdnf / yumauto-mapped (apt-get → dnf/yum)
Alpineapkauto-mapped

It also automatically handles common package-name differences (e.g. apache2 → httpd, apache2-utils → httpd-tools) and service-name differences (apache2.service → httpd.service).

> ⚠️ Note: a few applications depend on distro-specific installation methods (e.g. ufw is Ubuntu-only, and Node.js's deb.nodesource source only works on Debian/Ubuntu), so they may fail to install on Fedora/Rocky. When an installation fails, the panel shows the error message as-is.

Notes

1. Deploying applications requires the target server to have Docker installed.

2. Password placeholders are clearly marked (e.g. "<your-database-password>"); replace them with your own strong passwords.

3. Applications bind to the target server's ports by default; if the server has no public IP (NAT/tunneling server), you'll need Port Tunneling or Port Forwarding to access it from outside.

4. Very old distros (e.g. Fedora 32 and other EOL versions) have software sources that are no longer maintained, so installation may time out or fail; it's recommended to upgrade to a supported version.