自分のGPSトラッカーをLinuxでUloggerを使って作成する方法

UloggerはLinux用の軽量GPSトラッキングサーバーで、専用のモバイルアプリもあります。この記事では、Ubuntu 24.04サーバーにUloggerをインストールし、Android電話に接続する方法を示します。
目次
- UloggerでGPSデータを追跡する理由
- Uloggerの依存関係の取得
- Uloggerのビルドとインストール
- Nginxを使用したSSLリバースプロキシの設定
- 初めてのUloggerの実行
UloggerでGPSデータを追跡する理由
Ulogger GPSトラッカーの最大の売りは、Linuxシステム上で直接ホストできるという点です。これにより、悪意のある第三者がデータを盗み見るリスクなしに、地理位置データを記録できます。

Uloggerのもう一つの利点は、KMLやGPXなどの標準の地理位置ファイルフォーマットをインポートおよびエクスポートできることです。既存のGPSソリューションを使用していて、データをUloggerに移行したい場合、この機能は非常に便利です。
最後に、Uloggerは無料でオープンソースのソフトウェアです。これは、誰でもプログラムのソースコードにアクセスでき、脆弱性の発見と修正が容易になることを意味します。その結果、UloggerはLinux用の長期的なGPSログサーバーを探している場合の、より堅牢な選択肢になります。
参考情報: GPS技術の仕組みを簡単に理解しましょう。
Uloggerの依存関係の取得
前提条件: この記事は、2GBのRAMを持つUbuntu 24.04 VPSにUloggerをインストールしていると仮定します。また、ドメイン名を現在所有していることも前提とします。
Uloggerのインストールの最初のステップは、Dockerの依存関係を取得することです。そのために、Dockerプロジェクトのリポジトリの署名キーをインポートします:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpgお気に入りのテキストエディタを使って、Dockerプロジェクト用の新しいリポジトリファイルを作成します:
sudo nano /etc/apt/sources.list.d/docker.list新しいリポジトリファイル内に以下の行を貼り付けます:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stableマシンのリポジトリリストを更新し、システム内の現在のすべてのパッケージを更新します:
sudo apt update && sudo apt upgradeサーバー上で「core」Snapパッケージが動作していることを確認します:
sudo snap install core電子フロンティア財団からCertbotパッケージをインストールします:
sudo snap install certbot --classicUloggerをデプロイするためのDocker、Docker Compose、および依存関係をインストールします:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx unzip gitUloggerのビルドとインストール
ホームディレクトリに新しいフォルダを作成し、そこに入ります:
mkdir ~/ulogger && cd ~/ulogger開発者のGithubリポジトリからUloggerの最新バージョンをプルします:
git clone https://github.com/bfabiszewski/ulogger-server.git
cd ./ulogger-serverプログラムの最新の安定ブランチに切り替えます:
git checkout -b v1.2 tags/v1.2お気に入りのテキストエディタを使ってUloggerのDockerfileを開きます:
nano ./Dockerfile「DB_ROOT_PASS」と「DB_USER_PASS」を含む行を見つけ、それらの値を2つのランダムな文字列に置き換えます。

注意: 自分のランダムなテキストを生成するには、次のコマンドを実行します:cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1。
Dockerfileを保存したら、お気に入りのテキストエディタを使って「docker-compose.yml」ファイルを作成します:
nano ./docker-compose.ymlコンポーズファイル内に以下のコードブロックを貼り付けます:
services:
ulogger:
container_name: ulogger-instance
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:80docker-compose.ymlファイルを保存し、次のコマンドを実行してUloggerのDockerコンテナを起動します:
sudo docker compose up -dシステム内の実行中のコンテナを一覧表示してUloggerが適切に動作しているか確認します:
sudo docker ps
Nginxを使用したSSLリバースプロキシの設定
この時点で、ポート8080でUloggerサーバーが動作していることになります。ただし、アクセスするには、Nginxを使用して受信接続用のセキュアプロキシを作成する必要があります。
UloggerマシンのIPアドレスを指す「A」レコードをドメインに作成します。
サーバーに戻り、Uloggerインスタンス用のサイト設定ファイルを作成します:
sudo nano /etc/nginx/sites-available/ulogger新しい設定ファイル内に以下のコードブロックを貼り付けます:
server {
server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}「server_name」変数の値をあなたのドメイン名に置き換えます。

Nginxのサイト設定ファイルを保存したら、Nginxの「sites-enabled」ディレクトリにシンボリックリンクを作成します:
sudo ln -s /etc/nginx/sites-available/ulogger /etc/nginx/sites-enabled/マシンでNginxサービスを有効にして開始します:
sudo systemctl enable --now nginx.serviceあなたのUbuntuサーバーをEFFに登録します:
sudo certbot register --agree-tos -m [email protected]「y」と入力し、Enterを押します。

EFFからUloggerのドメイン名のために新しいSSL証明書を取得します:
sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN知っておくべきこと: SimpleLoginを使ってメールエイリアスサーバーを作成することで、オンラインアイデンティティを保護する方法を学びましょう。
初めてのUloggerの実行
ウェブブラウザーを使用してあなたのサブドメインにアクセスして、Uloggerインスタンスが正しく動作しているかテストします。

ユーザー名 と パスワード の両方のフィールドに「admin」と入力し、Enterを押してログインします。
ページの右上隅でアカウントの名前をクリックし、パスワードを変更 を選択します。

旧パスワード テキストボックスの下に「admin」と入力し、インスタンスの新しいパスワードを提供します。

送信 をクリックして変更を適用し、Uloggerからログアウトして再度ログインして確認します。
知っておくべきこと: Linux向けの最高の旅行関連ツールを見て、あなたの休暇準備を最適化する方法を学びましょう。
AndroidでのUloggerサーバーとのリンク
GPSトラックをアクティブに記録するには、まずUloggerの専用モバイルアプリを取得する必要があります。現時点で、このプログラムはF-Droidストアからのみ入手できます。

Ulogger Androidアプリを開き、アプリの右上隅にあるギアアイコンをクリックします。

位置情報提供者オプションをタップし、ラジオボタンメニューからネットワークとGPSを選択します。

ユーザー名オプションを選択し、テキストボックスに「admin」と入力します。
パスワードオプションをタップし、管理アカウントに設定したパスワードを提供します。
サーバーURLオプションを選択し、Uloggerサーバーの基本URL全体を提供します。この場合、私のものは「https://gps.myvpsserver.top」です。

サーバーの詳細カテゴリの上にあるライブ同期スイッチを切り替えます。これにより、Android電話が自動的にGPSデータをUloggerバックエンドに送信できるようになります。
モバイルアプリのメイン画面に戻り、新しいトラックボタンをタップします。

トラッキングスイッチを切り替えて、GPSデータをUloggerサーバーに記録します。

UloggerがGPSデータを正しく追跡していることを確認するために、管理アカウントにアクセスします。
UloggerでGPSトラッキングサーバーとクライアントをホストすることは、現在の地理位置ログを追跡する1つの方法に過ぎません。オフラインでも位置情報を追跡できる方法については、Android向けの最高のオフラインGPSアプリをチェックして学びましょう。
画像提供: Antonio Groß via Unsplash と Ulogger Github。すべての変更とスクリーンショットはRamces Redによるものです。