Indigo(Ubuntu)でCaddy+Docker(MeshCentral)環境構築

Vaultwardenで利用したVPSに追加の別サブドメインでMeshCentralをインストールしてみる。

・Azure DNSゾーン

対象のドメインを選択
>+子ゾーン
>確認および作成
>作成

作成されたゾーンを選択

Aレコードに、sub.domainを追加する。
>レコードセット
>+追加
種類:A
IPアドレス:対象のアドレス
として作成。

・caddy

取得できているかどうか

・Docker

・MeshCentral

・ダウンロードしたAgentのwss://domain:port/agent.ashxが以下で変わる。
AgentPortは、portの部分、Certはdomainの部分。
ここでCertを指定しないとLANだけの動作になる。

●Agent

・MeshCentral>ログインしてアカウントを作成
・デバイスグループを作成>デバイスを作成
・Agentインストーラーをダウンロード>実行
・プログラムフォルダに作成されたプログラムを起動し、インストール
※インストーラーが起動しない場合、
システム>オプション機能>機能を表示>
WMICを追加する

●メモ

再起動する場合

sudo docker compose restart meshcentral
sudo docker compose restart meshcentral-db

・エラー発生した場合

コンテナID確認
sudo docker ps

コンテナ停止
sudo docker container stop コンテナID

コンテナを削除
sudo docker rm コンテナID

ログ
sudo docker logs コンテナID

Indigo(Ubuntu)でCaddy+Docker(Vaultwarden)環境構築

・Indigoで新規インスタンスを生成

Ubuntu 24.04
2vCPU/2GB/40GB

・TeraTermからSSHアクセス

・Docker

・Docker Compose

・DNS設定

Azure>DNSゾーン>+子ゾーン
名前のところにサブドメインにしたい値を入れて、確認及び作成

作成したサブドメイン付きのドメインのレコードセットを編集
AレコードでVPSのIPアドレスを指定

・Caddy

・Vaultwarden

これでhttps://sub.domainでアクセスできる。

・ufw

sudo vim /etc/default/ufw
IPV6=no

・ssh
sudo vim /etc/ssh/sshd_config

・PasswordAuthentication
・ChallengeResponseAuthentication
・GSSAPIAuthentication
3つともnoへ

・Dockerコマンドメモ

全てのコンテナ
sudo docker compose ps -a

全てのコンテナストップ
sudo docker stop $(sudo docker ps -q)

全てのコンテナ削除
sudo docker container prune

・Caddyメモ

caddy設定ファイル

 

Exchange Online ドメイン設定

Microsoftの職場・学校用アカウントで使えるExchange Onlineに余っていたドメインを設定してみる。

今回はMuuMuuで取得したドメイン→AzureDNSゾーンだった。

Microsoft 365 管理センター>ドメイン
https://admin.microsoft.com/adminportal/home#/Domains
から対象ドメインを追加する。

所有者の確認があるので、
AzureのDNSゾーン>レコードセット>追加
から以下の設定

指定のTXTレコードを追加
名前:空白
TTL:1時間
値:指定の値

Azureで操作しているユーザーのロール不足だったので、DNSゾーン>アクセス制御の画面から、ユーザーに所有者ロールを付与する。

表示されたCNAME,MX,TXTをAzure>DNSゾーンから追加する。このドメインはConoHaのMattermostテンプレートで利用していたので、Aレコードはすでに設定済みだったが問題なかった。

このタイミングで、以前からAzureでユーザーに利用していたドメインも新しいドメインに変更するため、新しいドメインでユーザーを作成し、グローバル管理者のロールを追加する。

DNSゾーンなど設定が新しいユーザーからでも見えるように、リソースグループ、サブスクリプショングループのページのアクセス制御から、新しいユーザーを追加する。

 

弥生会計/SQLServer 一括バックアップツールから復元で容量不足

復元処理中、容量不足でエラー表示。

まず、
compmgmt.msc>記憶域>ディスク管理>C:>ボリュームの拡張
を実施(環境によって、通常効果はない)

次に、2回に分けて復元し、圧縮を実施した。(1度目の復元後に下記実施し、残りを復元)

もし一括でDBを削除する場合

 

Google Apps Script トリガー設定テスト

 

Mattermost サーバー更新

 

AutoHotkey 最新版

 

GCP Javascript 複合機で受信したFAXをMattermostに投稿(PNGを投稿+PDFへのリンク)

複合機が受信したFAXをMattermostに転送してみる実験。

複合機が送信したPDF付きメールをGmailで受信し、GASでGoogleDriveからMattermostに投稿してみたが、PDFがサムネイル表示されなかった。ファイル名が自動採番なのでサムネイル表示は必須であり、そこでPDFからPNGを生成するCloud Runを作成することにした。

Cloud Runを利用し、PDFはGoogleDriveに保存したままPNGをMattermostに投稿、PNGのリンク先にGoogleDriveのPDFを指定することにした。

●Cloud Run

・プロジェクトを作成。
※ここでは、PDF2PNGというプロジェクトを作成した
Cloud Runというプロダクトを選択し、サービスを作成する
・請求アカウントを作成(請求アカウントがないとサービスが作成できない)
ここでは、個人クレジットカードというアカウントを作成した
・インラインエディタで関数を作成する
・サービス名:pdf2pngとした
・リージョン:そのまま
・ランタイム:Node.js 20
・承認:未認証の呼び出しを許可
・課金:リクエストベース
・インスタンスの最小数:0
・Ingress:すべて
※Cloud Build APIを有効にする必要があるとでるのでここで有効
・エディタが開くのでindex.js、package.jsonを記入
ベースイメージ: Node.js 20 (Ubuntu 22)を選択
・関数のエントリポイントを空白のまま
※ここを空白にしないとエラーになる
・保存して再デプロイを実施
・URLが表示されるので、変換できるかcurlでテスト
curl -X POST -F “file=@./xxx.pdf” https://xxx.run.app -o output.png

index.js

package.json

GAS(時間トリガーで実行)

※追記
Markdownの画像リンクはモバイルアプリで表示されないという不具合があるようだったのでfile_idsに変更。

SlackのIncoming Webhook(App)取得

https://api.slack.com/apps
にアクセス。

・Create an App>From scratch
App Nameを決め、workspaceを選択する。
>CreateApp

管理画面が表示される。

・Incoming Webhooks
>On

・App Home>App Display Name
Display Name (Bot Name)
Default username
を決める。(ここではBot/botとした)
>Add

・Incoming Webhooks
>Add New Webhook to Workspace
通知 が xxx Slack ワークスペースにアクセスする権限をリクエストしています
と表示される。
投稿先チャンネルを指定する。
>許可する

これでURLが取得できる。