カテゴリー: Linux Page 45 of 51

ローカルサーバのredmineに各種プラグインを導入。

作成したredmineに各種のプラグインを入れていきます。

redmine_mermaid_macro

自分がredmineを入れようと決定した「キラープラグイン」と言うべきもの。

  • フローチャート
  • シーケンスダイアグラム

を表示できることは、今まで作成していた各種ドキュメントをそのままここに転用できます。(そして、これが表示できなかったためにknowledgeから切り替えた理由でもあります)

インストール

cd /var/lib/redmine/plugins #プラグインが入っているディレクトリ
sudo git clone https://github.com/taikii/redmine_mermaid_macro.git redmine_mermaid_macro
sudo chown -R www-data:www-data redmine_mermaid_macro/
sudo systemctl apache2

knowledgebase

redmineにデフォルトで備わっている文書管理よりもこちらが好み。

インストール

cd /var/lib/redmine/plugins #プラグインが入っているディレクトリ
sudo git clone git://github.com/alexbevi/redmine_knowledgebase.git
sudo chown -R www-data:www-data redmine_knowledgebase/
sudo bundle install #こちらはbundleによるインストールも必要でした
sudo bundle exec rake redmine:plugins:migrate RAILS_ENV=production
sudo systemctl restart apache2

kanban

抱えているタスクを一瞥で判断できるのはこれが便利でした。

インストール

cd /var/lib/redmine/plugins #プラグインが入っているディレクトリ
sudo git clone https://github.com/happy-se-life/kanban.git
sudo chown -R www-data:www-data kanban
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
sudo systemctl restart apache2

チケットテンプレート

登録時、テンプレート化しておけば手間を省くことができます。

cd /var/lib/redmine/plugins #プラグインが入っているディレクトリ
sudo git clone https://github.com/akiko-pusu/redmine_issue_templates.git
sudo
chown -R www-data:www-data redmine_issue_templates/
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
sudo systemctl restart apache2

取りあえずこんな形。次は見た目を整えます。

ローカルサーバにredmineを構築。

はじめに

を試してみたものの、機能が足りなかったり機能に特化しすぎたりで一長一短。

そこで、

  • 自分のインプット/アウトプットを効率的に視認できる
  • やりたいことを一覧で見ることができる
  • ToDoをカレンダーで表示したり
  • 各進捗の状況を把握する

となると、もっと根本的に使えるものがあればいいのではと思いました。

そこで白羽の矢を立てたのがredmineです。

これを選んだ理由

  • 多くの人が使っているツールはノウハウが揃っているため、とっつきやすいと判断。
  • プラグインが充実している。
    • 特にmermaid記法を表示できるのは大きい。
  • 自分の趣味ごとにプロジェクトを作っておけば、それらの管理もできる。

インストール

環境

自宅のサブマシンを利用しました。

  • 32GB Memory
  • 1TB SSD
  • Core i-5

と、動作性能に申し分はありません。

OSインストール

デスクトップ環境としても運用したいので、Kubuntuを用います。バージョンは現時点でのLTSである20.04。

インストールウィザードに従ってインストールするのみですが、IPアドレスのみローカル固定としました。(外部公開は運用の考慮外です)

初期設定

サーバ(という名のサブPC)からコマンドラインを立ち上げ、以下を行っていきます。

sudo apt install aptitude # aptよりも好みのパッケージ管理
sudo aptitude update
sudo aptitude upgrade # OSを最新バージョンにします。
reboot # 一度再起動をします。

再起動後、sshをインストール。

sudo aptitude install sshd

メインPCのターミナルソフトからIPアドレスでSSH接続を確認。

Redmineインストール

こちらに関しては、このサイトに従いましたが、mysqlを導入後に以下を実行して安全性を高めます。

sudo mysql_secure_installation

インストール後、ipアドレス/redmine をブラウザに打ち込み

表示を確認。

今後の展望:

  • プラグインを入れていく。
  • テーマを変える。
  • プロジェクトなどを設定していく。

資産管理ツールSnipe-itによるボードゲーム管理(検証)

ふと思い立ち、自分のLinux機に資産管理ツール「Snipe-it」を立ち上げてみました。

目的

こういったボードゲームの管理ができるようになりそうという思惑があったからです。

インストール

インストール環境

Ubuntu 21.04 (kubuntu)
5.11.0-49-generic

今回はDockerイメージではなくオンプレで行いました。なお、例によってローカルNW内部での構築です。

こちらのサイトを参考に、そのままインストールです。

アクセス権を間違えるという初歩的なミスを犯しましたが、なんとか動きました。

画面

大本がIT資産管理のためボードゲームでは不要な/必要な項目がありますが

  • 価格
  • いつ購入したか
  • 画像イメージ

を盛り込めるのは可能性があります。

今後の展望

  • 各種サブスクリプション
  • 携帯電話などの「本来の意味でのIT資産管理」

も行えるので、「まずはこれを継続して使うことができるか」の仕組み作りが第一。かなり飽きっぽいので、どうにかして工夫をしませんと。

可読性と可能性。(Markdownエディタ『Typora』でのUML)

自分がやりたかったことが更に前進です。

UMLエディタとしてのTypora

様々なフローチャートやシーケンス図を表現するUML。業務のみならずゲームのフローチャートにも使えそうだと興味を持っていたのですが、「敷居が高い」思って放置していました。

そんなさなか、ここのところ使っているTyporaにまさしくこの機能が備わっていると発見があったので実践です。

練習-『ガイアプロジェクト』アクション

typora上で

```

と入力し右下の「言語を選択」で

「mermaid」を選択。後は、記法に沿ってボードゲーム『ガイアプロジェクト』の簡単な流れを書いてみました。

graph TB
A[ラウンド開始]-->B(収入フェイズ)-->C(ガイアフェイズ)
C-->D{メインフェイズ}
D-->E(入植)
E-.->D
D-->F(施設改良)
F-.->D
D-->G(研究)
G-.->D
D-->H(同盟構築)
H-.->D
D-->I(パワー/QICアクション)
I-.-D
D-->J(特別アクション)
D-.->f(フリーアクション)
f-.->D
J-.-D
D-->K((パス))
K-->L>終了フェイズ]

これが、

こうなりました。これを見つけたときは本当に感動しました。

今後の展望

これは自分にとって革命的な出来事です。

  • 業務のため、フローチャートやシーケンス図を書く必要があった
  • けど、パワポなどでマウスを動かすのは面倒

これが、

  • 比較的覚えやすい記法で書ける
  • 先のボードゲームのルールのように応用が利く

可能性の塊。

まだ、「どこにどの図を使うか」「他の書き方はないか」を探る段階ではありますが、

「テキストエディタで読みやすいドキュメントを作る」が一歩前進です。

knowledgeシステムによる“キャラホメ”テンプレート化。

自らの記録を見返すだけでなく、記録をしやすくする機能も持ち合わせていました。

テンプレート機能

先のエントリーでも投稿したとおり、ナレッジベース“knowledge”には

入力フォームを追加できます。通常のMarkdownエリアに加えて

  • テキスト
  • テキストエリア
  • 日付

などを設定することで、日々のルーチンワークを大幅に効率化できます。

キャラホメのテンプレート化

今回、その機能の対象となったのが『キャラホメ』。

  • 褒めてもらった方
  • 相談事
  • 選んだほめカード
  • なぜこのカードを選んだか

をチョイスしました。ZENタイル以上に内省できるツールである以上、深掘りの要素は必要だと思ったのです。

入力結果

予想以上の効率化が見られました。

ビルトインの画像アップローダーを用いてほめカードと一緒に撮影したものを上げていき、項目を埋めるだけ。

これから

ZENタイルもテンプレート化して、日々の気づきの精度を上げるようにします。

ライフログ保管庫。

引き続き、ナレッジサーバの話。何を記録していくかの指針が決まりました。

ZENタイル

日々の感情を記録すると共に記憶のトリガーとして手放せないZENタイル。Twitterの過去ログやカメラロールをたどるよりも確実。しかも、Twitterの文字制限もありません。

キャラホメ

自分自身を一定の区切りで俯瞰できるZENタイルに対して、推しという別の目を通して自分の『行動』を肯定してくれるのがキャラホメ。

こちらもTwitterに記録するだけではログが流れてしまいます。

そこで、こちらも併せて記録。この形式なら

  • 何に対して相談したか
  • なぜこのカードを選んだか

も記入できます。

次のステップ-まとめに代えて

Twitterでは余計な情報が混じるライフログ記録。これなら、タグで絞り込めます。

より効率的に記録するため、

knowledgeに備わってる「テンプレート機能」を試してみようと思います。

ナレッジベースシステム「knowledge」の改めての感想。

土日に作成した環境、自分で言うのもなんですが「かゆいところに手が届く」仕様になっていました。 

視認性

元が元だけに、Markdownでコードを指定したときの視認性は抜群。これならいざというときのリカバリにも役立ちます。

雑多な情報を適切なフォーマットで書き込める

これも大きな利点。

  • 視聴した作品のリスト
  • ゲームの攻略情報

など、後から見直したいメモを、入力中、キーボードから手を離すことなく成形しながら書き込めます。

一瞥で確認できるタイムスタンプ

これが一番大きかったです。

メモ書きは「何を書いたか」以上に「いつ書いたのか」を重視しています。Google Keep は編集日時は示しても初稿がいつかがわからないって難点がありました。

その点、こちらなら投稿日時と編集日時が書かれているので情報をいつアップデートしたかもわかりやすいものとなりました。

今後の指針

と、自分がナレッジベースに求めてるものが揃ってあるのが、改めて判明。

ですが、これはあくまでもローカル環境のシステム。出先では使えません。(セキュリティの観点から外部への公開は行いません)

そこで、出先ではGoogleKeepに情報を放り込み、自宅で整理していくのが今後の使い方です。

ナレッジサーバ構築メモ-2- Docker/Knowlege構築篇

はじめに

先日から始まった「Linux機にナレッジサーバを構築して運用する」プロジェクト。

OS基盤の前に、

  • 何かあっても切り戻しができる
  • VMと異なりリソース消費が少ない

ことから、Dockerを入れてみます。

前提条件

ベースPCは前述したとおり。

  • Kubuntu 21.04を導入
  • NWをIPv4のローカルで固定
  • 家庭内のNWからSSH接続できるよう設定

Dockerインストール

以下、全てrootで実施します。

(参考:https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-ja)

  • 必要なパッケージをインストール
# aptitude install apt-transport-https ca-certificates curl software-properties-common
  • Docker公式リポジトリをシステムに追加
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
  • パッケージ更新→ Dockerインストール
# aptitude update
# aptitude install docker-ce
# aptitude install docker-compose
  • Dockerステータス確認
# systemctl status docker

● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: active (running) since Sun 2021-09-12 07:54:43 JST; 1min 35s ago
TriggeredBy: ● docker.socket
      Docs: https://docs.docker.com
  Main PID: 51598 (dockerd)
    Tasks: 9
    Memory: 28.6M
    CGroup: /system.slice/docker.service
            └─51598 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

以下、通常ユーザで実行します。

  • 通常ユーザでdockerを実行できるように設定
$ usermod -aG docker [ユーザ名]
  • 反映後、ログアウトし再ログイン
  • 自動起動有効化
$ sudo systemctl enable docker

docker 動作確認

まずはコンテナが動いているかを確認します。

(参考:https://qiita.com/Esfahan/items/52141a2ad741933d7d4c)

$ docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES

→ 何も動いておらず。

  • Docker上でbash起動
$ docker run -i -t centos /bin/bash
# cat /etc/redhat-release
CentOS Linux release 8.3.2011
→ CentOS8.3が起動
# exit
  • Dockerイメージ再確認
$ docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED             STATUS                     PORTS     NAMES
99b9e451b8c0   centos   "/bin/bash"   About a minute ago   Exited (0) 14 seconds ago             compassionate_allen
  • テスト用のイメージ削除
$ docker rm [コンテナID]
  • テスト用イメージ削除確認
$ docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES

何も動いていないことを再確認。

DockerコンテナからKnowledgeを作成

ここまで来たらあっけなく終わりました。

$ sudo docker pull koda/docker-knowledge
$ sudo mkdir /home/manualmaton/knowledge ## コンテナを格納するディレクトリ
$ sudo chmod a+w /home/manualmaton/knowledge
$ sudo docker run -d -p 80:8080 -v /home/manualmaton/knowledge:/root/.knowledge --name knowledge koda/docker-knowledge

あとは、ブラウザ上から

http://[サーバのIPアドレス]

にアクセスし

正常にアクセス完了。Tomcatやnginxの設定すら不要でした。

残る課題

  • コンテナの自動起動設定。→ 現状、リスタートしても自動的にサービスが立ち上がらないので、ベースマシン再起動のたびにdocker start knowledgeを入力する必要があります。これを自動起動する設定を行います。
  • データ(コンテナ)の自動バックアップ

まとめ

なんとなく作ったシステムが実は有用だったと気づいたものの、それを再現するためのメモがなかったことに唖然としました。

「前に取得した知識がどこかで役立つよう」

メモを残しておくことは本当に大事だと思ったわけで。

なにはともあれ、今後は

  • 適当なMarkdownエディタを使って生地を作成
  • それをKnowledgeに放り込む

スタイルが確立しそうな予感です。

ナレッジサーバ構築メモ-1- インフラ構築篇

はじめに

普段、オンラインのメモ書きとしてGoogle Keepを多用していますが、以下の不満点がありました。

  • 記事が雑多すぎて欲しい情報がすぐに見つけられない
  • 記憶を思い起こすときの明確なトリガーとなる「日付」でのソートが難しい
  • オンラインサービスのため、機微情報を保存できない

そこで、上記を解決するために

  • 情報を見つけやすく
  • 日付での検索が行えて
  • 家の中のNWのみから閲覧可能な

文書管理システムを作ろうと思い立ちました。

ベースの文書管理システム

以前作った「Knowledge」を利用します。

  • 簡単にインストールが行える。
  • 日付やキーワード、タグといった多彩な検索オプションが可能。
  • Markdown記法が使える。
  • Webアプリのために端末を選ばない。

で、これは前に使っていたのに

  • Windowsに戻したときに消えた
  • 再現しようにもメモをしていなかったので詳細不明

と、自分のための備忘録です。

ベースマシン

自室にあるサブのデスクトップ。時にはLinux、時にはWindowsだったりしましたがまたもやLinuxに戻ります。

スペック

  • CPU: i5-7500 CPU @ 3.40GHz
  • メモリ: 32GB
  • SSD: 1TB

と、4年ぐらい前のモデルながらも順調に手入れをしていたので状態は良好です。

OSのインストールと接続準備

OSはKubuntu 21.04を選定。

もともとUbuntuベースのOSとKDEデスクトップの見た目が好みだからと言う単純な理由です。

ISOイメージをメインPCに落とし、Rufusを用いてUSBドライブを作成します。

インストールはガイダンスに従うだけ。(パーティションも自動で切っています)IPアドレスだけ固定にしました。

起動後の設定

  • aptitude インストール
$ sudo apt install aptitude
  • パッケージアップデート
$ sudo aptitude update
$ sudo aptitude upgrade
  • アップデート後に再起動
  • sshdインストール
$ sudo aptitude install sshd
$ sudo systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
    Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
    Active: active (running) since Sat 2021-09-11 18:12:36 JST; 1h 19min ago

Windowsからの操作

SSHクライアントは使い慣れているRLoginを採用。

KDE環境なので直接Konsoleをいじる手はありましたが、自分の体に馴染んだ分割キーボードが使える環境から使いたいためです。

と、接続を確認。

次のタスク

まずはここまでですが、以下、待ち構えています。

  • Tomcatインストール
  • nginxインストール
  • knowledgeインストール
  • knowledge初期設定
  • DBバックアップ設定

サブノートでの『ガイアプロジェクト』検証結果。

今回も『ガイアプロジェクト』の話。

「出先でどうにかして遊べないものか」と、サブノートPCにSteamクライアントを入れての検証です。

まず、昨年購入したChuwiのUBook Pro

起動時にもたつきがありましたが、全く問題ありませんでした。

そして、Ubuntuを入れたIDEA Pad。

こちらはCPUパワーが比較的余裕ありますので、タブレットスタイルよりもサクサクと動きます。

こちらのタブレットはキーボードを取り外し、タッチペンを使うことでより直感的な操作ができるのがいい感じでした。(なお、3同盟を取りながらも散々な結果に終わってしまったプレイングの方が問題でした)

なお、バッテリー消費は

キーボードを外した状態ですと1ゲーム30%ほど消費と悪くありません。

これから先、旅行する機会ができたら時間つぶしの対象となる目算が生まれました。

Page 45 of 51

Powered by WordPress & Theme by Anders Norén