F-Droid のリポジトリ一覧
Known Repositories – Wiki – F-Droid Forum
F-Droid やそのクローンの Aurora や Neo Store で使用するソフトウェアリポジトリの一覧がフォーラムにあった。
知られているらしいリポジトリが沢山あり英語のままですが、また見返す時のためにメモ。
Known Repositories – Wiki – F-Droid Forum
F-Droid やそのクローンの Aurora や Neo Store で使用するソフトウェアリポジトリの一覧がフォーラムにあった。
知られているらしいリポジトリが沢山あり英語のままですが、また見返す時のためにメモ。
タイトルにある通り Linux Mint + Cinnamon を使っているのですが、普段はノート PC に外部ディスプレイをつなぎ2画面で使用しています。
その際、デスクトップのメニューバー(仮)、Windows でいう所の タスクバーの位置をいじっているうちに PC 側の画面には表示しなくなってしまったトラブルに遭遇しました。
メニューバー(仮)は正式には panels という名称のようです、恐らく以前の cinnamon バージョンでは launcher と呼んでいたようですが、それは廃止されるもののようです。
dconf-editor で /org/cinnamon/panales-enabled というキーがパネルの位置を示す設定値のようで [‘1:1:bottom’] となっていました。これが意味するところは パネル1: モニタ1:下 を示すらしい。
dconf-editor の説明によるとモニタは 0 から始まる数値といっており、外部ディスプレイがない状態では、0になるということのようです。
そこでモニタを 0 に変えて [‘1:0:bottom’] とするとどっかにいっていたメニューがデスクトップ下部に帰ってきました。
この設定を手動でいじった記憶はないのでこれバグだと思う。同様の事象に出会った人の助けになればうれしく思う。(恐らくそれは未来の自分になるだろう。)
If you meet Cinnamon Panels gone to extend display on Linux Mint 21.3, You can fix location of panels by dconf-editor.
Key: /org/cinnamon/panels-enabled
value [‘1:0:bottom’] – bottom can replace to top (maybe left or right too).
I hope your help.
Linux Mint のリポジトリに含まれる Wine は 6.1 と古いので公式からインストールできるように設定し直します。
自分の知識不足が原因だと思うが、リポジトリのソース URL を探すのはちょっと面倒なことが多い。 Linux Mint 21.3 の場合は Ubuntu のコードネーム jammy に相当するのでその URL を探してくる必要がある。
; Wine をインストールしたことがあれば不要かもしれない
$ sudo dpkg --add-architecture i386
$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
$ sudo apt update
$ sudo apt install --install-recommends winehq-stable
$ wine --version
wine-9.0
Ubuntu コードネームは /etc/os-release で確認できる。
$ cat /etc/os-release
NAME="Linux Mint"
VERSION="21.3 (Virginia)"
ID=linuxmint
ID_LIKE="ubuntu debian"
PRETTY_NAME="Linux Mint 21.3"
VERSION_ID="21.3"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=virginia
UBUNTU_CODENAME=jammy
追記: Bluetooth(再)接続時に設定を反映させるように変更した。
「その1」で、ボタンの配置を変更したので、「その2」ではショートカットキーの割当てていきます。
ツールを少し整理していきます。
xbindkeys:
ここでは、マウスボタンが押されたときに、どのキーが押されたかをエミュレートするのに使います。
.xbindkeysrc ファイル:
xbindkeys の設定をここに書きます。(マウスボタンとキーの対応づけをします。)
xte、xvkbd:
.xbindkeysrc の中で指定します。これらのプログラムが実際のキーコードを送り出す処理をしているようです。
xdottool:
今回は使っていないが xte、xvkbd と同じように使うことができる xdottool というものがあるらしい。
今回は残っている、上段:右ボタンにショートカットキーを割り当てます。
左 | 右 | |
---|---|---|
上段 | 戻る | タブを閉じる(Cntrol + W) |
下段 | 左クリック | 右クリック |
結果からいうと xte を使いました。xvkbd だと何故か firefox はタブを閉じずに、ウィンドウそのものを閉じる現象が発生したのですが、xte なら目的の動作を実現できました。
どうやら、.xbindkeysrc ファイルを書いて xbindkeys コマンドを実行すれば目的の動作は達成するようです。早速やってみます。
$ cd ~
$ vi .xbindkeysrc
"xvkbd -text "\[Control]W""
b:10
:wq
$ xbindkeys
これで動いているはずですが、Firefox だと何故かタブではなくウィンドウ全体が閉じてしまいます。「がとらぼ」さんによると xte なら動作するケースむあるようなので xte に変更してみる
$ cd ~
$ vi .xbindkeysrc
# "xvkbd -text "\[Control]W"" # コメントアウト
"xte 'keydown Control_L' && xte 'key w' && xte 'keyup Control_L'"
b:10
:wq
$ xbindkeys
動作しているか怪しいときは -n オプションでデバッグできる
$ killall xbindkeys; xbindkeys -n
ただ今回のコマンドは、タブを閉じちゃうのでターミナルでなかなか試しづらいかもしないです。
前回と同じように、.profile に設定を追加します。
「その1」にも追記しましたが、/etc/udev/rules.d にルールファイルを追加しました。なのでルールファイルで指定したスクリプトにキーボードショートカットのマッピングを追加します。
$ cd
$ touch slimblede.sh ; chmow 755 slimblade.sh
$ vi slimblade.sh
mouse_id='SlimBlade Pro'
xinput set-button-map "$mouse_id" 1 8 3 4 5 6 7 10 9
xinput
:wq
これでようやくできました。
Linuxでマウス/トラックボールのボタン割当て変更 – がとらぼ
xbindkeys/xteで任意のマウスボタン(キー)で任意のキーストロークが動くようにした(Keisingtonトラックボールのボタンをカスタムした) – Lambdaカクテル
追記: Bluetooth(再)接続時に設定を反映させるように変更した。
タイトルで説明しきれていないが、実はやりたいことが 2 つありまして
ちょっと長くなるので前半の「その1」でボタンの配置変更、「その2」でショートカットキーの割当てを記事にしていきます。
使うツールがいつくかあるので少し整理していきます。
xinput:
ここでは、マウスボタン再割当て、無効化をします。
xev:
マウスボタンが xinput のどの番号にアサインされているか確認します。
今回設定する Kensignton Slimblade トラックボール には、4つの物理ボタンがあります。
ほぼすべてのトラックボール製品でボール部分のクリックはできないので便宜上別のボタンにマウスでいう中央クリックの役割をもたせています。でも中央クリックって使わなくないですか?少なくとも自分は使いません。
なのでそれを以下のように設定していきます。
左 | 右 | |
---|---|---|
上段 | 戻る | タブを閉じる(Cntrol + W) |
下段 | 左クリック | 右クリック |
Mac や Windows で Kensington のトラックボールを使用する際はメーカー製の GUI ソフトでよしなにできるのですが、それに近い結果を目指します。
配置の変更にかかる前に現状を把握していきます。
$ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=12 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=13 [slave pointer (2)]
⎜ ↳ SlimBlade Pro id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=14 [slave keyboard (3)]
; SlimBlade Pro id=15 が見つかったので、そのボタンの割当状況を確認します。
$ xinput get-button-map 15
1 2 3 4 5 6 7 8 9
でここで出てきた 1 – 9 はこんなボタンがあるって意味らしい
1: 左クリック
2: 中央クリック
3: 右クリック
4: ホイール前
5: ホイール後
6: ホイール左右のどちらか
7: ホイール左右のどちらか
8: 戻る
9: 進む
10以上: Fn1、Fn2って続くらしい。。(ここ と StackOverFow でそんな書き込みを見た、出典知っている人がいたら教えてほしい)
でこの番号がどのボタンに割り当てられているか確認する必要がある。(動かした時の挙動でおおよそわかるはずだが確認しておく。)
xev を起動すると小さなウィンドウが表示される。ここにカーソルを持っていき、ボタンをクリックすると下のような感じでログメッセージが流れる。
$ xev -event button
Outer window is 0x5800001, inner window is 0x5800002
ButtonPress event, serial 25, synthetic NO, window 0x5800001,
root 0x6ca, subw 0x0, time 66502224, (113,56), root:(2007,2320),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 25, synthetic NO, window 0x5800001,
root 0x6ca, subw 0x0, time 66502252, (113,56), root:(2007,2320),
state 0x100, button 1, same_screen YES
クリックしたボタンによって、button1 の部分がそれぞれ異なるものが出てくる。
まとめるとこんな感じに割り当てられていることがわかった。
2 | 8 上段は、2: 中央クリック、8 戻る
——-
1 | 3 下段は、1:左クリック、3: 右クリック
上段左に「戻る」、右に「fn1」 を割り当てる
$ xinput set-button-map 15 1 8 3 4 5 6 7 10 9
このあと、上段右の 10 は他のキーコードを割り当ててしまうので本当はなんでもいいかもしれない。
これを再起動時にも反映させるために ~/.profile に以下の行を追加した。
有線の場合は、起動時に必ずアクティブなので .profile や .xprofile でいいようだが Bluetooth 接続の場合はサスペンドから復帰した時や、省電力モードに入って接続が切れると元に戻ってしまうようだ。
$ cd ~
$ vi .profile
; 以下を追加
; 自分のマウスにより変更してください
mouse_id='SlimaBlade Pro'
xinput set-button-map "$mouse_id" 1 8 3 4 5 6 7 10 9
:wq
Arch のページを参考に /etc/udev/rules.d/90-slimblade-wakeup.rule を作成した。 lsusb でPC 側のBluetoothデバイスの Vendoer:Product が 8087:0029 だと確認できたのでルールは以下のようにした。
$ cd /etc/udev/rules.d
$ vi 90-slimblade-wakeup.rule
SUBSYSTEM="usb",ATTRS{iVendor}=="80807",ATTRS{iProduct}=="0029" RUN=+"/home/[ユーザー名]/slimblade.sh"
:wq
以前 .profile に追加した設定部分を slimblade.sh に切り出す
$ cd
$ touch slimblede.sh ; chmow 755 slimblade.sh
$ vi slimblade.sh
mouse_id='SlimBlade Pro'
xinput set-button-map "$mouse_id" 1 8 3 4 5 6 7 10 9
Linuxでマウス/トラックボールのボタン割当て変更 – がとらぼ
Linuxでマウスのクリックボタンを変更| xinput set-button-map – shangtian’s blog
自宅のタワーを Linux Mint から Ubuntu 24.04 に入れ替えることにした。Mint も Ubuntu も同じ debian 派生なのでほぼ同じではあるのだが、Docker とかインストールする際に微妙に面倒なことになるので Ubuntu があたらしくなったこのタイミングで入れ替えることにした。
どのフレーバーでもいいのですが、これから動画関係を扱うことが多くなりそうなので Studio をいれることにした。そうすれば、ほぼ何も入れなくても作業にすぐかかれるからだ。
インストールに際して、ホームディレクトリの各フォルダを英語表記にしたいので英語モードのまま進めました。日本語を選択すれば、この手順は必要ないと思われます。
ホームディレクトリのフォルダ名の問題だけなら LANG=C Xdg-user-dirs-update コマンドでよかったのではと思うがまあ、あとの祭りですね。
結果からいうと公式の手順で OK でした。はじめ参照リンクの 「KDE neon 6 で fcitx5-mozc による日本語入力環境をセットアップする」をやってみたのですが、im-config を削除する必要はなかったようです。
$ sudo apt install fcitx5-mozc kde-config-fcitx5
これで OK でした。
KDE neon 6 で fcitx5-mozc による日本語入力環境をセットアップする / KDE 日本語フォーラム 🥷🍣 – KDE Discuss
Arch + KDE 6 (Wayland) で日本語入力環境を少しでもまともにする #archLinux – Qiita
追記: 自動マウントできるように設定追加
今日は Linux Mint 21.3 Cinnamon の話です。
最近メイン環境を Linux Mint に変えているが、別パーティションのファイルはごみ箱が無効で困っていた。いろいろやってみるとどうやらマウント方法がまずかったらしい。
fstab のマウント設定を削除し、Mint の Disks で [User Session Defaults] にチェックを入れるとごみ箱が有効になりました。 試行錯誤するうちにパーティションを ext4 に再フォーマットしましたが不要だったかもしれない。(元に / は btrfs だがごみ箱は機能しています。)
まず、 /etc/fstab から該当行を削除します。
次にDisks に行き、該当パーティションを選択します。
ギヤボタンをクリックし、Edit Mount options… を開きます。
[User Session Defaults] にチェックを入れます。
そうすると普通は /mnt/[UUID] という場所にマウントされるようです。ここまででごみ箱は使えるはずです。
個人的な好みですが、作業ファイルなどを /opt に置くようにしているのでいくつか追加の設定をします。
Disks のギヤボタンで Edit Filesystem.. を開き UUIDの代わりになるラベルを設定します。(ここでは opt と入れた)
これをすると /media/[ユーザー名]/ラベル にマウントされるようになるみたいです。このマウントポイントを/opt でアクセスできるように設定します。
$ sudo ln -s /media/[ユーザー名]/opt /opt
Xorg やデスクトップ環境周辺の設定は膨大な関連項目があってなかなか体系的に理解するのが辛い。てかほぼいきあたりばったりです。どこかにわかりやすく(詳細過ぎずに)まとまっているところがあるといいのですが、そう都合よくは行きませんね。
ここまでの設定では、起動時に自動マウントできないようなので以下を追加した。
Mint の Startup Applications にスクリプトを追加して起動時にマウントするようにする。
まずはスクリプトを書く。ここではファイル名を mnt-opt.sh とするが好きな名前でどこかに作る。
予め Disks で対象のパーティションの UUID をコピーしておく
$ vi ./mnt-opt.sh
#!/bin/bash
gio mount -d 16e67ee6-955c-4d6f-8f91-ef96f83e728f
:wq
$ chmod 755 ./mnt-opt.sh
Mint の Startup Applications でさっき作成したスクリプトを追加する。
これでログイン時に自動マウントするようになる。異なるユーザーでログインするときは Startup Applications の設定をそのユーザーでやり直す必要があると思う。
前回の続きです。php-fpm コンテナに CakePHP5 をインストールできたのでいよいよ CaddyServer を入れます。
一旦、今回 podman で建てようとしているコンテナとポートの構成を説明しておきます。
Caddyfile を作成します。 / で CakePHP をホストする場合はシンプルです。
$ mkdir conf
$ vi conf/Caddyfile
:80 {
# Set this path to your site's directory.
root * /usr/share/caddy/app/webroot
encode gzip
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
php_fastcgi localhost:9000
# log
}
最初 /app などのサブディレクトリでホストしようとしましたが、参考リンクによるとサブディレクトリでホストするのは難しいらしいのでそうそうにあきらめました。
$ podman run --name caddy -p 8080:80/tcp \
-v ./conf/Caddyfile:/etc/caddy/Caddyfile \
-v ./html:/usr/share/caddy \
caddy:latest
ここまでで MariaDB、Caddy、php−fpm の3つのコンテナが揃いました。podman 的には kubernetes の yaml ファイルにしろってことなので簡単に生成するために、podman-desktop で pod を作ります。
そのまま pod を yaml に吐き出したものを少し修正します。修正した結果はこんな感じです。
# Save the output of this file and use kubectl create -f to import
# it into Kubernetes.
#
# Created with podman-3.4.4
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: "2024-04-29T05:49:28Z"
labels:
app: caddy-pod
name: caddy-pod
spec:
containers:
- args:
- mariadbd
image: docker.io/library/mariadb:11.3
name: maria
ports:
- containerPort: 3306
hostPort: 3306
- containerPort: 80
hostPort: 8080
resources: {}
securityContext:
capabilities:
drop:
- CAP_MKNOD
- CAP_NET_RAW
- CAP_AUDIT_WRITE
volumeMounts:
- mountPath: /var/lib/mysql
name: maria-data
- image: docker.io/library/caddy:latest
name: caddy
resources: {}
securityContext:
capabilities:
drop:
- CAP_MKNOD
- CAP_NET_RAW
- CAP_AUDIT_WRITE
volumeMounts:
- mountPath: /etc/caddy/Caddyfile
name: caddy-file
- mountPath: /usr/share/caddy
name: html-caddy
- args:
- php-fpm
image: localhost/my-php:latest
name: php
resources: {}
securityContext:
capabilities:
drop:
- CAP_MKNOD
- CAP_NET_RAW
- CAP_AUDIT_WRITE
volumeMounts:
- mountPath: /usr/share/caddy
name: html-fpm
- mountPath: /usr/local/etc/php/php-fpm.conf
name: fpm-conf
- mountPath: /usr/local/etc/php/php.ini
name: php-ini
restartPolicy: Never
volumes:
- hostPath:
path: /opt/ws/podman-caddy/maria/data
type: Directory
name: maria-data
- hostPath:
path: /opt/ws/podman-caddy/conf/Caddyfile
type: File
name: caddy-file
- hostPath:
path: /opt/ws/podman-caddy/html
type: Directory
name: html-caddy
- hostPath:
path: /opt/ws/podman-caddy/html
type: Directory
name: html-fpm
- hostPath:
path: /opt/ws/podman-caddy/php-fpm/php/php-fpm.conf
type: File
name: fpm-conf
- hostPath:
path: /opt/ws/podman-caddy/php-fpm/php/php.ini-development
type: File
name: php-ini
status: {}
この yaml ファイルで pod を起動してみます。
$ podman play kube caddy-pod.yaml
localhost:8080 にブラウザアクセスしてみます。
MariaDB との接続がまだできていませんが、動作するところまで到達しました。
だいぶ佳境に入ってきましたが podman で cakephp5 を動かす続きです。php-fpm コンテナを作り、CakePHP5 をインストールします。CaddyServer は長くなるので次の記事にします。
一旦、今回 podman で建てようとしているコンテナとポートの構成を説明しておきます。
本来なら MariaDB のポートは、php-fpm からしかアクセスしないのでホスト側に露出しなくて良いのですが、ホスト側から触れたほうが便利なので便宜上開けてます。インターネット上のサーバに建てる際は開けないほうがいいでしょう。
Caddy と php-fpm コンテナは分けなくてもいいのかもしれませんが今回は分けています。
php-fpm の設定はちょっと面倒なのでちゃんと手順を追って示していきます。
php のコンテナはイメージ持ってくるだけでは済まないので Dockerfile をつくります。
FROM php:8.3-fpm-bookworm
LABEL MAINTAINER="mnishi"
ARG UID=1000
ARG GID=1000
RUN apt-get update && \
apt-get install -y git zip unzip vim libonig-dev libxml2-dev wget && \
docker-php-ext-install intl pdo_mysql bcmath mbstring simplexml
RUN wget https://getcomposer.org/installer -O composer-installer.php && \
php composer-installer.php --filename=composer --install-dir=/usr/local/bin && \
composer self-update
RUN usermod -u $UID www-data && \
groupmod -g $GID www-data
WORKDIR /var/www
イメージは、Debian の方がまだ慣れているので 8.3-fpm-bookworm としました。
apt-get で必要なモジュールをインストールしてますが、vim は完全な好みなので入れなくていいです。wget も不要かもしれません。
docker-php-ext-install で CakePHP に必要なモジュールをインストールします。
/usr/local/bin に composer をインストールします。
ARG UID= とARG GID= は、ホスト側の実行ユーザーの uid、gid を渡すための環境変数です。もしかすると初期値はいらないかもしれません。
php-fpm コンテナの起動
ビルドする前に www-data ユーザをホストに作っておき、ログインユーザーのグループにも追加しておきます。
$ useradd -M www-data
$ usermod -aG www-data [ログインユーザー]
ビルドします。Dockerfile と同じフォルダで以下のコマンドを実行します。
$ buildah bud --build-arg UID=$(id -u www-data) --build-arg GID=$(id -g www-data) --tag my-php .
一旦コンテナを起動して、設定ファイルを php-fpm フォルダに取り出します。(フォルダ名はなんでもいいです。)
$ mkdir php-fpm
$ podman run --name tmp-php -d localhost/my-php
$ podman cp tmp-php:/usr/local/etc/php/php.ini-production ./php-fpm
$ podman cp tmp-php:/usr/local/etc/php/php.ini-development ./php-fpm
$ podman cp tmp-php:/usr/local/etc/php/php-fpm.conf ./php-fpm
$ podman rm -f tmp-php
使わないかも(設定を変更しないかも)しれませんが、一応 php.ini と php-fpm.conf を取ってきます。
取ってきた設定ファイルを使用してコンテナを起動します。
podman run -d --name php \
-v ./php-fpm/php/php-fpm.conf:/usr/local/etc/php/php-fpm.conf \
-v ./php-fpm/php/php.ini-development:/usr/local/etc/php/php.ini \
-v ./html:/usr/share/caddy \
my-php
起動に失敗するようでしたら、-d を外してエラーを眺めてください。
php-fpm コンテナ内で CakePHP のインストール
ここまで全てがうまく行っていれば、コンテナの中に入って composer で CakePHP をデプロイできるはずです。
; ホスト側から
$ podman exec -it caddy-pod-php /bin/bash
; コンテナの中に入った
# cd /usr/share/caddy
# composer create-project --prefer-dist cakephp/app:"5.*" app
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
; root で動かしているよと怒られるが無視する
.... いろいろログが流れる
Set Folder Permissions ? (Default to Y) [Y,n]? y
Permissions set on /usr/share/caddy/app/tmp/cache
Permissions set on /usr/share/caddy/app/tmp/cache/models
Permissions set on /usr/share/caddy/app/tmp/cache/persistent
Permissions set on /usr/share/caddy/app/tmp/cache/views
Permissions set on /usr/share/caddy/app/tmp/sessions
Permissions set on /usr/share/caddy/app/tmp/tests
Permissions set on /usr/share/caddy/app/tmp
Permissions set on /usr/share/caddy/app/logs
Updated Security.salt value in config/app_local.php
流行りのルートレス構成ではないので、怒られますがひとまずそのまま行きます。(慣れた所でもう一度ルートレス構成をやってみてもいいかもしれない。)
CakePHP のインストールで php モジュールが不足してエラーが出た場合は、exec でコンテナ内に入り docker-php-ext-install で不足モジュールをインストールして composer が動作するか確認します。
うまく行ったら、Docker ファイルに不足モジュールを追加しします。その後、イメージのビルドからやり直します。
さて、先日から格闘している podman の続きです。cakephp5 を動かす pod を作成すべく作業をしているわけですが、本日は MariaDB 編です。
MariaDB を動かすには root ユーザーのパスワードやらを渡す必要があるのですが、ネットを検索するとコマンドラインで -e で環境変数を指定するスタイルが多く見つかります。個人的に長過ぎるコマンドラインは好きではないので (読み取るのも打つのも大変なので) 環境変数は別ファイルで逃がす形にします。
MARIADB_ROOT_PASSWORD=caddy-cake-PASSWORD
MARIADB_DATABASE=cake
MARIADB_USER=cake
MARIADB_PASSWORD=cake-user-PASSWORD
TZ='Asia/Tokyo'
なんとなく見てわかるとおりと思うので実際のパスワードやなんかはお好みで変えてください。
起動するには、env ファイルのあるディレクトリで以下のようにします。(前提条件として docker Hub registry のセットアップは終わっているものとします。)
podman run -d --name maria \
--env-file ./env \
-v ./maria/data:/var/lib/mysql \
-p 3306:3306/tcp \
--userns keep-id \
mariadb:11.3
MariaDB のデータはホスト側のファイルシステムに直接リンクしてます。その際 –userns keep-id がないとコンテナ内に割り当てられた uid (100239 とか大きな値になる)がファイルオーナーになるので嬉しくないです。
–userns keep-id をつけると ./maria/data が自分の所有になるのでいい感じです。
まだ不慣れなのもあるのですが、どうも docker-desktop と異なり podman-desktop は cli で指定できるオプションがだいぶ削られているような気がします。(お前がわかっていないだけという可能性も否定できないですが。。。)
しばらく続きます。
podman run -d –name maria \
–env-file ./env \
-v ./maria/data:/var/lib/mysql \
-p 3306:3306/tcp \
–userns keep-id \
mariadb:11.3