# Meridian theme missing after a cPanel upgrade
Source: https://docs.webgee.com/en/servers/meridian-theme-missing-after-cpanel-upgrade



You upgraded a server to cPanel & WHM 138 or later, but **Meridian** is not
offered when you edit a package in WHM or switch themes inside a cPanel account
— only **Jupiter** is listed. This page explains why, and how to install the
theme.

Applies to VPS and dedicated servers where you hold the cPanel licence and root
access. On WebGee shared, reseller and Premium hosting there is nothing to
install — Meridian is already available, and you switch to it from inside cPanel.
See [The Meridian theme](/en/hosting/the-meridian-theme).

## Why it is missing [#why-it-is-missing]

Meridian is not part of the cPanel upgrade itself. It ships as a separate
package, `cpanel-meridian-plugin`, which the upgrade tries to pull in, and which
depends on a chain of other packages:

```
cpanel-meridian-plugin  →  cpanel-webapp-plugin  →  ea-podman  →  podman-docker
```

`podman-docker` provides the `docker` command using Podman. So does Docker's own
`docker-ce`. RPM refuses to install two packages that own the same command, and
the whole chain fails — quietly, during the upgrade, leaving you on a
fully-upgraded cPanel with no Meridian.

## Confirm that this is what happened [#confirm-that-this-is-what-happened]

As root, ask the package manager to install the plugin and read the error rather
than the outcome:

```bash
dnf install cpanel-meridian-plugin
```

On servers still using `yum`, the command and the output are the same. A
conflict looks like this:

```
Error:
 Problem: package cpanel-meridian-plugin requires cpanel-webapp-plugin >= 1.3.1
  - package cpanel-webapp-plugin requires ea-podman >= 1.0-27
  - package ea-podman requires podman-docker >= 3
  - package docker-ce conflicts with docker provided by podman-docker
```

Answer **n** at the prompt. Then check what is actually installed:

```bash
rpm -q docker-ce cpanel-meridian-plugin
/usr/local/cpanel/cpanel -V
```

If `docker-ce` is installed and the cPanel version is 138 or higher, the
diagnosis above is yours. If the version is below 138, that is the reason
instead — Meridian does not exist on earlier releases, and no amount of package
work will produce it.

## If you do not use Docker [#if-you-do-not-use-docker]

Most servers have `docker-ce` because something installed it once, not because
anything runs on it. Check before removing it:

```bash
docker ps -a
docker volume ls
```

<Callout type="warn">
  Removing `docker-ce` stops every container on the server and they do not come
  back by themselves. Images, containers and volumes under `/var/lib/docker` are
  not migrated to Podman. Export anything you need first, and only continue if
  `docker ps -a` is empty or lists nothing you still want.
</Callout>

1. Stop and disable the Docker service:

   ```bash
   systemctl disable --now docker docker.socket
   ```

2. Remove Docker's packages:

   ```bash
   dnf remove docker-ce docker-ce-cli docker-ce-rootless-extras containerd.io
   ```

3. Install the theme, which now pulls `ea-podman` and `podman-docker` with it:

   ```bash
   dnf install cpanel-meridian-plugin
   ```

4. Confirm the package is installed:

   ```bash
   rpm -q cpanel-meridian-plugin
   ```

The `docker` command still works afterwards — `podman-docker` provides it as a
wrapper around Podman, which takes the same arguments for everyday use.

## If you do need Docker [#if-you-do-need-docker]

You cannot keep `docker-ce` and install Meridian on the same server. The
dependency is not optional and the conflict is not a bug you can override
safely. You have three honest choices:

* **Move the Docker workload to another server**, then follow the section above.
* **Migrate the containers to Podman.** `ea-podman` is cPanel's supported
  container tooling and Podman runs most Docker images unchanged. Recreate the
  containers with `podman` first, verify them, and only then remove `docker-ce`.
* **Stay on Jupiter.** Meridian is optional. Jupiter remains supported and every
  cPanel tool is reachable from it, so a server that exists to run containers
  loses nothing important by skipping the new theme.

Do not force the install with `--nobest`, `--skip-broken` or by removing
`podman-docker`'s conflict. It leaves the `docker` command owned by neither
package and breaks both.

## Offer Meridian to accounts [#offer-meridian-to-accounts]

Installing the plugin does not switch anyone over. The theme is chosen per
account:

1. In WHM, open **Packages** → **Edit a Package**.
2. Select the package, set **cPanel Theme** to **Meridian**, and save.
3. For an existing account, open **Account Functions** → **Modify an Account**
   and set its theme there — editing a package does not change accounts already
   created from it.

<Callout type="info">
  Meridian is opt-in for the account holder too. Once it is available, users can
  move between Meridian and Jupiter from inside cPanel, so setting it on a
  package is an offer rather than a migration.
</Callout>

## If it still does not appear [#if-it-still-does-not-appear]

* **The plugin installed but WHM shows no Meridian option.** Log out of WHM and
  back in; the theme list is read at login.
* **`dnf install` reports nothing to do.** The plugin is already installed and
  the problem is the account or package theme setting, not the package.
* **The upgrade never reached 138.** Check your update tier in WHM under
  **Server Configuration** → **Update Preferences**. A server pinned to an LTS
  tier stays on its release until that tier moves.

## Related [#related]

* [What server management includes](/en/servers/vps-cloud-server-management-whats-included)
* [Getting started with WHM](/en/reseller/reseller-hosting-getting-started-with-whm-a-comprehensive-guide)
* [Cloud server quick start](/en/servers/cloud-server-quick-start)
* [The Meridian theme](/en/hosting/the-meridian-theme)
