GMKtec G3 plus mini pcでGitea

せっかくmariadb-serverも入れたので、Gitea入れてみましょうかね。

公式サイトでユーザ登録できて試用できますが、作成できるレポジトリが5個しかなく、実用に耐えられませんから、自前サーバ上に構築しましょう。公式サイトのbinary installに従って入れてみます。サイトは、gitea.comです。ここではGiteaサービスを提供するものをGiteaサーバーと呼びます。

いつものように、apt install -y giteaで入ってくれたら楽なんですがね。それはできない相談なんで、binary installにトライします。

ここ(公式)を参考にします。まずダウンロード、今日現在の最新バージョンは1.24.6です。

wget -O gitea https://dl.gitea.com/gitea/1.24.6/gitea-1.24.6-linux-amd64
chmod +x gitea
root@ghost:~# wget -O gitea https://dl.gitea.com/gitea/1.24.6/gitea-1.24.6-linux-amd64
--2025-09-19 14:02:40--  https://dl.gitea.com/gitea/1.24.6/gitea-1.24.6-linux-amd64
Resolving dl.gitea.com (dl.gitea.com)... 3.165.11.45, 3.165.11.58, 3.165.11.51, ...
Connecting to dl.gitea.com (dl.gitea.com)|3.165.11.45|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 113164416 (108M) [binary/octet-stream]
Saving to: 'gitea'

gitea                            100%[=========================================================>] 107.92M  32.2MB/s    in 3.5s

2025-09-19 14:02:43 (31.1 MB/s) - 'gitea' saved [113164416/113164416]

root@ghost:~# chmod +x gitea

gitのインストールを確認。インストールされていなければインストール

root@ghost:~# git --version
-bash: git: command not found
root@ghost:~# apt install git
Installing:
  git

Installing dependencies:
  git-man  libcurl3t64-gnutls  liberror-perl  libngtcp2-16  libngtcp2-crypto-gnutls8  patch

Suggested packages:
  git-doc  git-email  git-gui  gitk  gitweb  git-cvs  git-mediawiki  git-svn  ed  diffutils-doc

Summary:
  Upgrading: 0, Installing: 7, Removing: 0, Not Upgrading: 0
  Download size: 11.8 MB
  Space needed: 54.4 MB / 929 GB available

Continue? [Y/n] y

git ユーザーを登録

root@ghost:~# adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
root@ghost:~# mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
root@ghost:~# export GITEA_WORK_DIR=/var/lib/gitea/
root@ghost:~# cp gitea /usr/local/bin/gitea

Creating a service file to start Gitea automaticallyを採ります。動いている例を示します。

vi /etc/systemd/system/gitea.service

として、下記に内容のファイルを作ります。

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/home/gitea
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea
[Install]
WantedBy=multi-user.target

ここで一旦gitea用のdbを作っておきましょう。キーは、databaseの名前、ユーザの名前、ユーザーのパスワードです。

phpmyadminからも作れますけど、まずphpmyadminへ、

ログインしたら、

好きな名前で”データベースを作成”します。

”権限”をクリック。ユーザを新規作成します。

一番下の実行をクリック。(画面外です)

権限で全てチェックするをクリック、で実行。コマンドラインからならば、

mysql -u root -p

CREATE USER 'gitea'@'%' IDENTIFIED BY 'gitea';

CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';
FLUSH PRIVILEGES;

上記で、giteadbというデータベースを作成して、ユーザgiteaに全ての権限をあたえて、そのパスワードをgiteaとしてます。どちらの方法でdbができたら、

systemctl enable gitea
systemctl start gitea

状態を

systemctl status gitea

で確認。この場合だと、

http://192.168.0.240:3000

へアクセスして初期設定をします。

データベースのタイプ、ユーザ名、パスワード、データベース名を入れて進めます。

最初に登録したユーザが管理者になります。ログインするとこれでおけです。細かい設定や使い方は、次以降の記事で。

コメント