勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

Cockpitにリンク集(ブックマーク)のようなページを作成し、メニューにも追加する方法

  サーバー

Cockpitにリンク集(ブックマーク)のようなカスタムページを作成し、左メニューからそのページを開けるようにしたい。調べたところユーザーインターフェース用のプラグインを作成することで独自のカスタムページを簡単に追加できるみたい。以下に対応方法をメモ。

 

Cockpitについて

導入方法

Cockpit自体の導入方法については過去記事参照。

バージョンについて

# バージョン確認
rpm -q cockpit

# 以下バージョン詳細
cockpit-310.8-1.el8_10.x86_64

 

対応方法

ディレクトリの作成

以下コマンドかファイルマネージャーでディレクトリを作成しておく。

mkdir -p /usr/share/cockpit/sitelink

以降のjson / html / cssファイルはこのディレクトリにアップロード・保存すること。

manifest.json

{
    "version": "1.0",
    "tools": {
        "mylink": {
            "label": "サイトリンク",
            "path": "index.html"
        }
    }
}

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <script type="text/javascript" src="../base1/cockpit.js"></script>
</head>
<body>

    <h1>外部管理リンク</h1>

    <div class="link-container">
        <a href="https://google.com" target="_blank" class="card-link">
            <p class="card-title">Google</p>
            <p class="card-desc">説明文テキスト</p>
        </a>

        <a href="https://yahoo.co.jp" target="_blank" class="card-link">
            <p class="card-title">Yahoo</p>
            <p class="card-desc">説明文テキスト</p>
        </a>
    </div>

</body>
</html>

style.css

body {
    font-family: "Red Hat Text", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    background-color: #f0f0f0;
    color: #151515;
    margin: 0;
    padding: 24px;
}

h1 {
    font-size: 24px;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 24px;
}

.link-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.card-link {
    display: block;
    background-color: #ffffff;
    border-top: 3px solid #2196f3;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    padding: 20px;
    text-decoration: none;
    color: #151515;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.card-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px 0;
    color: #0066cc;
}

.card-desc {
    font-size: 14px;
    color: #6a6e73;
    margin: 0;
}

表示確認

各種ファイルをアップロード・保存後、スーパーリロードすると以下のよう反映される筈。

 

参考サイト

https://cockpit-project.org/blog/creating-plugins-for-the-cockpit-user-interface.html

 - サーバー

  関連記事

サーバー管理をブラウザベース(GUI)で行えるCockpitの導入方法
サーバー管理をブラウザベース(GUI)で行えるCockpitの導入方法

以前にサーバ管理をブラウザ上で行えるWebminについてメモしたが、もっと機能を ...

サーバ管理ツール「Cockpit」にファイルマネージャー用プラグインを導入する方法
サーバ管理ツール「Cockpit」にファイルマネージャー用プラグインを導入する方法

先日メモしたサーバ管理ツール「Cockpit」にブラウザ上からファイルの作成や編 ...

Podmanでデータベース用コンテナを作成しWebサーバ用コンテナと接続する方法
Podmanでデータベース用コンテナを作成しWebサーバ用コンテナと接続する方法

Podmanでデータベース用コンテナを作成し、Webサーバ用コンテナからPHPで ...

Cockpitにrootユーザでのログインを禁止する方法
Cockpitにrootユーザでのログインを禁止する方法

先日CockpitにGoogle Authenticatorを用いたワンタイムパ ...

Cockpitで一定時間操作がない場合は自動でログアウトさせる方法
Cockpitで一定時間操作がない場合は自動でログアウトさせる方法

Cockpitのセキュリティ対策として〇分以上操作がない場合に自動でログアウトさ ...