How to Create Your Own GPS Tracker with Ulogger in Linux

by Jonathan Mann
20 minutes read

How to Create Your Own GPS Tracker with Ulogger in Linux

A image of a person gawking at a digital map while trekking.

Ulogger is a light-weight GPS managing server for Linux donning a dedicated handset app. This post will underscore you how to void Ulogger on an Ubuntu 24.04 server and web attach it to an Android handset phone.

Content
  • Why Track GPS Documents donning Ulogger?
  • Procuring the Dependences for Ulogger
  • Anatomy and Installing Ulogger
  • Posture Up an SSL Rescind Proxy Making utilise of Nginx
  • Running Ulogger for the First Time

Why Track GPS Documents donning Ulogger?

One of the greatest advertising times of Ulogger GPS tracker is that you can host it suitable on your Linux mechanism. This permits you to log your geolocation routes without the slip of unwanted celebs snooping approximately your file.

A screenshot of ulogger's default borrower interface.

Another advantage of Ulogger is that it can import and export stock geolocation document formats such as KML and GPX. This is an invaluable service if you’re obtaining utilize of an existent GPS treatment and pine to slide your file to Ulogger.

Last yet not least, Ulogger is exhaust and open-source software agenda. This averages that any person can access the educational program’s source code, obtaining sensitivities easier to detect and heal. As a output, Ulogger can be a more durable substitute if you’re gawking for a incurable GPS logging server for Linux.

FYI: spot out how GPS technology works in petite specification.

Procuring the Dependences for Ulogger

Assumption: This post assumes that you’re mounting Ulogger on an Ubuntu 24.04 VPS donning 2GB of RAM and that you presently own a domain tag.

The first intervene mounting Ulogger is to considerable the dependences for Docker. To implement that, import the signing pivot for the Docker vacancy’s database:

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

Devise a brand name-newfangled database document for the Docker vacancy obtaining utilize of your favored message editor:

sudo nano /etc/apt/sources.list.d/docker.list

Paste the consequent queue of code within your brand name-newfangled database document:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

Refresh your tool’s database listings and modernize every present unit in the mechanism:

sudo apt update && sudo apt upgrade

Render sure that the “core” Snap unit is running on your server:

sudo snap install core

Install the Certbot unit from the Electronic Frontier Substructure:

sudo snap install certbot --classic

Install Docker, Docker Compose, and the dependences for deploying Ulogger:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx unzip git

Anatomy and Installing Ulogger

Devise a brand name-newfangled folder in your abode directory internet site, then obtain in it:

mkdir ~/ulogger && cd ~/ulogger

Yank the latest design of Ulogger from the developer’s Github database:

git clone https://github.com/bfabiszewski/ulogger-server.git cd ./ulogger-server

Switch to the latest stable point of the educational program:

git checkout -b v1.2 tags/v1.2

Open the Ulogger Dockerfile obtaining utilize of your favored message editor:

nano ./Dockerfile

Locate the lines upwards that have “DB_ROOT_PASS” and “DB_USER_PASS” then replace their high weakness donning two arbitrary strings of message.

A terminal emphasizing the two arbitrary password for the ulogger server's database.

Tab: you can accumulate your own arbitrary message by running the consequent command: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1.

Conserve your Dockerfile, then unleash a “docker-write.yml” document obtaining utilize of your favored message editor:

nano ./docker-compose.yml

Paste the consequent block of code within your write document:

services:   ulogger:     container_name: ulogger-instance     build:       context: .       dockerfile: Dockerfile     ports:       - 8080:80

Conserve your docker-write.yml document, then rushed the consequent command to launch your Ulogger Docker container:

sudo docker compose up -d

Check if Ulogger is running appropriately by list the running containers in the mechanism:

sudo docker ps
A terminal emphasizing the running ulogger-server Docker container.

Posture Up an SSL Rescind Proxy Making utilise of Nginx

At this juncture, you presently have Ulogger server running at skit 8080. But, to access it you ought to unleash a resolve proxy for incoming relationships obtaining utilize of Nginx.

Start by inventing a brand name-newfangled “A” document on your domain pointing to the IP address of your Ulogger tool.

A screenshot proving the DNS A document for the ulogger server.

Readjust to your server, then unleash a internet site arrangement document for your Ulogger instance:

sudo nano /etc/nginx/sites-available/ulogger

Paste the consequent block of code within your brand name-newfangled config document:

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;         } }

Readjust the well worth of the “server_name” variable donning your domain tag.

A terminal emphasizing the server_name variable on the Nginx internet site config document for ulogger.

Conserve your Nginx internet site config document, then unleash a symbolic web attach to it on Nginx’s “stainings-made it possible for” directory internet site:

sudo ln -s /etc/nginx/sites-available/ulogger /etc/nginx/sites-enabled/

Allow and launch the Nginx company in your tool:

sudo systemctl enable --now nginx.service

Enlist your Ubuntu server to the EFF:

sudo certbot register --agree-tos -m YOUR@EMAIL.ADDRESS

Kind “y”, then press Go into.

A terminal emphasizing the prompt for the Certbot newsletter registration.

Receive a brand name-newfangled SSL accreditation for your Ulogger domain tag from the EFF:

sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN

Nice to become aware: spot out how you can shield your virtual persona by inventing an e-mail aliases server obtaining utilize of SimpleLogin.

Running Ulogger for the First Time

Checkup if your Ulogger instance is kneading appropriately by surfing to your subdomain obtaining utilize of your web internet browser.

A screenshot proving the ulogger login display.

Kind “admin” on both the Username and Password fields, then press Go into to login.

Click your account’s tag on the web page’s upper suitable side, then decide Readjust password.

A screenshot proving the void of the "Readjust password" prompt within ulogger.

Kind “admin” under the Worn password textbox, then lend a brand name-newfangled password for your instance.

A screenshot proving the ulogger server's password prompt window.

Click Send to tote out your readjusts, then check-up it by logging out of Ulogger and logging ago in.

Nice to become aware: spot out how to make the most of your escape prep by gawking at some of the scenic taking a adventure-oriented tools for Linux.

Fastening Your Ulogger Internet server donning Android

To actively log your GPS routes, you ought to first considerable the Ulogger’s dedicated handset app. At the moment, you can only avail this educational program from the F-Droid Storefront.

A screenshot proving the ulogger GPS consumer for Android.

Open the Ulogger Android app, then click the gear icon on the app’s upper suitable side.

A screenshot emphasizing the gear icon on ulogger's handset app.

Tap the Locale service provider substitute, then decide Network and GPS from the radio switch food choice.

A screenshot emphasizing the

Pick the Viewer tag substitute, then kind “admin” on the message box.

Tap the Password substitute, then lend the password that you’ve unit for your admin account.

Pick the Internet server URL substitute, then lend the entirety substructure URL for your Ulogger server. In my spanning, it’s “https://general practitioners.myvpsserver.optimal.”

A screenshot proving the account and server defines of the ulogger backend.

Toggle the Remain synchronization switch above the server defines team. This will enable your Android handset phone to instantaneously send GPS file to your ulogger backend.

Readjust to the handset app’s major display, then faucet the Brand-newfangled Track switch.

A screenshot emphasizing the "Brand-newfangled Track" substitute on the ulogger handset app.

Toggle the Trailing switch to launch logging your GPS file to your ulogger server.

A screenshot emphasizing the "Trailing" switch for the ulogger handset app.

Testify that Ulogger is appropriately managing your GPS file by going to your admin account.

Clutching your GPS managing server and consumer donning Ulogger is simply one way to withhold track of your geolocation logs today. Learn how you can track your void even without an net relationship by investigating out some of the scenic offline GPS apps for Android.

Image debt: Antonio Groß donning Unsplash and Ulogger Github. Unanimously alterations and screenshots by Ramces Red.

Related Posts