WalkieFleet

WalkieFleet Server

Panduan Instalasi & Troubleshooting Linux

Debian 11/12 · Ubuntu 20.04 / 22.04 / 24.04 LTS

5.8.2.2
Rekomendasi
12
Bagian
2
Distro
Hasil Riset & Development HARRY DERTIN SUTISNA — ALSYUNDAWY IT SOLUTION
0

Ringkasan Status Versi

Pilih versi yang stabil untuk production. Berikut status masing-masing versi berdasarkan pengujian lapangan:

Versi Server Linux Status Catatan
5.8.2.2 Stabil Direkomendasikan untuk production
5.8.3.x Perubahan Video Video call tidak kompatibel dengan client lama
5.8.4.0 Crash (ABRT) Bug FFmpeg binding — lihat bagian 9
Rekomendasi: Production tetap di 5.8.2.2 sampai Walkie Labs merilis patch 5.8.4.
1

Persyaratan Sistem

ItemKeterangan
Arsitektur amd64 (x86_64) saja
OS Ubuntu 20.04 22.04 24.04 LTS Debian 11/12
Database PostgreSQL (default) atau MS SQL Server
Dependensi wajib libmp3lame0, libopus0
Dependensi codec libav* sesuai versi OS (lihat bagian 3)
RAM Minimal 4 GB (disarankan 8 GB)
CPU 2 core atau lebih
Paket adalah aplikasi .NET 8 self-contained. Tidak perlu menginstal .NET Runtime terpisah.
2

Aktifkan Repository

Beberapa paket codec dan restricted extras hanya tersedia di repository tambahan.

Ubuntu 20.04 / 22.04 / 24.04
bash
# Cek repo yang aktif
grep -E "^deb " /etc/apt/sources.list /etc/apt/sources.list.d/* 2>/dev/null

# Aktifkan universe + multiverse (jika belum)
sudo add-apt-repository universe
sudo add-apt-repository multiverse

# Atau edit manual /etc/apt/sources.list, pastikan ada baris seperti:
# deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
# deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse

sudo apt update
Debian 11 / 12

Edit /etc/apt/sources.list agar memuat main contrib non-free non-free-firmware (Debian 12+):

text
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
bash
sudo apt update
3

Dependensi & Codec Library

3.1 Dependensi Wajib (Semua Versi)
bash
sudo apt update
sudo apt install -y libmp3lame0 libopus0
3.2 Restricted Extras + Codec (Ubuntu)

Install ubuntu-restricted-extras (codec multimedia, font, dll) lalu library FFmpeg sesuai versi:

bash
sudo apt update
sudo apt install -y ubuntu-restricted-extras

Saat instalasi, terima EULA font Microsoft jika diminta (tab + OK).

Ubuntu 22.04 (Jammy) — FFmpeg 4.4
bash
sudo apt install -y \
  libavdevice58 \
  libavcodec58 \
  libavformat58 \
  libavutil56 \
  libswscale5 \
  libswresample3
Ubuntu 20.04 (Focal) — FFmpeg 4.2 / 4.4
bash
sudo apt install -y \
  libavdevice58 \
  libavcodec58 \
  libavformat58 \
  libavutil56 \
  libswscale5 \
  libswresample3
Ubuntu 24.04 (Noble) — FFmpeg 6.1
bash
sudo apt install -y \
  libavdevice60 \
  libavcodec60 \
  libavformat60 \
  libavutil58 \
  libswscale7 \
  libswresample4
Ubuntu 26.04 (Oracular) — FFmpeg 7.x
bash
sudo apt install -y   libavdevice62   libavcodec62   libavformat62   libavutil60   libswscale9   libswresample6
3.3 Codec di Debian (Padanan ubuntu-restricted-extras)

Debian tidak punya paket ubuntu-restricted-extras. Gunakan kombinasi berikut setelah repo main contrib non-free non-free-firmware aktif (Debian 12+) atau main contrib non-free (Debian 11):

bash
sudo apt update

# Meta-packages & codec dasar (semua versi Debian)
sudo apt install -y   libavcodec-extra   ffmpeg   libmp3lame0   libopus0   libvorbis0a   libvpx7

# Catatan: libx264, libx265, libvpx versi spesifik bervariasi per rilis Debian.
# Gunakan nama paket generik di atas, atau cari versi spesifik dengan:
# apt-cache search libx264 | head
# apt-cache search libx265 | head
# apt-cache search libvpx | head
Debian 12 (Bookworm) — FFmpeg 5.1 (Library Spesifik)
bash
sudo apt install -y   libavdevice59   libavcodec59   libavformat59   libavutil57   libswscale6   libswresample4
Debian 11 (Bullseye) — FFmpeg 4.3 (Library Spesifik)
bash
sudo apt install -y   libavdevice58   libavcodec58   libavformat58   libavutil56   libswscale5   libswresample3
Nama paket libx264-* / libx265-* / libvpx* versi spesifik bervariasi per rilis. Gunakan nama generik di atas atau cari dengan apt-cache search.
3.4 Catatan Penting Codec
  • Paket WalkieFleet sudah membawa library FFmpeg sendiri (libavdevice.so.62, libavcodec.so.62, dll di /srv/WalkieFleet/).
  • Install library sistem hanya sebagai cadangan / kelengkapan multimedia.
  • Tidak menyelesaikan bug 5.8.4 (lihat bagian 9).
bash
cat /etc/os-release | grep -E "VERSION_ID|PRETTY_NAME"
4

Instalasi WalkieFleet Server

1
Unduh Paket
bash
# Contoh versi 5.8.4 (hindari dulu — lihat bagian 9)
# Ganti URL dengan versi yang sesuai dari halaman resmi
wget https://dl.walkiefleet.com/walkiefleetservice_5.8.4_amd64.deb

# Atau unduh 5.8.2.x dari halaman download resmi:
# https://walkiefleet.com/download
# https://walkiefleet.ru/download
2
Install Paket .deb
bash
sudo apt install ./walkiefleetservice_*.deb

# PERINGATAN: Pastikan file .deb berasal dari sumber resmi (walkiefleet.com)
# Sebelum install, verifikasi checksum file jika tersedia

Setelah install, folder yang tersedia:

PathFungsi
/srv/WalkieFleet/Binary, DLL, library FFmpeg bawaan
/etc/WalkieFleet/ServerSettings.confKonfigurasi server
/etc/systemd/system/WalkieFleetService.serviceUnit systemd
/var/WalkieFleet/Data, license, recording (dibuat setelah service pertama jalan)
4.3

Install & Siapkan PostgreSQL

bash
sudo apt install -y postgresql
sudo systemctl enable --now postgresql

# Buat user (wajib superuser)
# Ganti password dengan yang kuat sebelum production
sudo -u postgres psql -c "CREATE USER wfservice SUPERUSER PASSWORD 'wfservice';"

# Verifikasi
sudo -u postgres psql -c "\du"
4.4

Konfigurasi (Opsional)

File: /etc/WalkieFleet/ServerSettings.conf

ini
[SQLServer]
SqlType=1
SQLServer=127.0.0.1
Authentication=1
Login=wfservice
Password=wfservice
Port=5432

[General]
ServicePort=9999
AppFolder=/var/WalkieFleet
EnableVoiceRecording=1
EnableVideoRecording=1

[Web]
WebPort=9998
#WebCertificateFile=/var/WalkieFleet/Certificates/webcertificate.pfx
#WebCertificatePassword=password
Keamanan: Password pada contoh konfigurasi di atas adalah placeholder. Ganti dengan password yang kuat dan unik sebelum digunakan di production. Jangan pernah menggunakan password default di lingkungan produksi.
4.5

Perbaiki Unit Systemd (Wajib)

Unit bawaan memakai Type=notify yang sering menyebabkan service gagal / timeout.
bash
sudo tee /etc/systemd/system/WalkieFleetService.service > /dev/null << 'EOF'
[Unit]
Description=WalkieFleet Service
After=network.target postgresql.service
Wants=postgresql.service

[Service]
Type=simple
ExecStart=/srv/WalkieFleet/WalkieFleetService
WorkingDirectory=/srv/WalkieFleet
Restart=always
RestartSec=3
Environment=DOTNET_SYSTEMD=1
Environment=LD_LIBRARY_PATH=/srv/WalkieFleet

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable WalkieFleetService
sudo systemctl start WalkieFleetService
sudo systemctl status WalkieFleetService
4.6

Verifikasi Sukses

bash
sudo systemctl status WalkieFleetService
journalctl -u WalkieFleetService -n 30 --no-pager

# Device ID (untuk license)
cat /var/WalkieFleet/DeviceID

# atau
sudo /srv/WalkieFleet/FleetHID
Output yang diharapkan:
WalkieFleet Server started on Ubuntu xx.xx.x LTS
System database connected
Server started successfully

Port yang harus LISTEN:

PortProtokolFungsi
9999TCPServer Manager / Dispatch
9998TCPWeb Manager
10000TCP/UDPCommand + Audio
10001UDPVideo
10002TCPWebSocket
5432TCPPostgreSQL
bash
ss -tulnp | grep -E "9998|9999|10000|10001|10002"

# atau
lsof -i -P -n | grep -E "LISTEN|WalkieFleet"
5

Firewall (UFW)

bash
sudo ufw allow 9999/tcp
sudo ufw allow 9998/tcp
sudo ufw allow 10000
sudo ufw allow 10001/udp
sudo ufw allow 10002/tcp
sudo ufw reload
6

Perintah Operasional

bash
sudo systemctl start WalkieFleetService
sudo systemctl stop WalkieFleetService
sudo systemctl restart WalkieFleetService
sudo systemctl status WalkieFleetService
sudo systemctl enable WalkieFleetService

# Log real-time
journalctl -u WalkieFleetService -f

# Hardware ID
sudo /srv/WalkieFleet/FleetHID
cat /var/WalkieFleet/DeviceID
7

Struktur Folder

/srv/WalkieFleet/                 → Binary, DLL, libav*.so bawaan paket
/etc/WalkieFleet/ServerSettings.conf
/etc/systemd/system/WalkieFleetService.service
/var/WalkieFleet/
├── DeviceID                      → ID unik server (license)
├── Licenses/                     → File .wfl
├── Avatars/
├── Backups/
├── InstallPackages/
├── OtapPackages/
├── Temp/
└── Certificates/                 → SSL (opsional)
8

Troubleshooting Umum

8.1 Service status activating / failed (bukan core-dump)

Biasanya karena Type=notify. Ganti ke Type=simple (bagian 4.5), lalu:

bash
sudo systemctl daemon-reload
sudo systemctl restart WalkieFleetService
8.2 Database error
bash
sudo systemctl status postgresql
sudo -u postgres psql -c "\du"
psql -h 127.0.0.1 -U wfservice -d postgres
# password: wfservice
8.3 Jalankan manual untuk melihat error asli
bash
sudo systemctl stop WalkieFleetService
cd /srv/WalkieFleet
sudo env \
  LANG=C.UTF-8 \
  LC_ALL=C.UTF-8 \
  LD_LIBRARY_PATH=/srv/WalkieFleet \
  DOTNET_SYSTEMD=1 \
  ./WalkieFleetService
8.4 Permission
bash
sudo chown -R root:root /srv/WalkieFleet
sudo chmod +x /srv/WalkieFleet/WalkieFleetService
sudo chmod +x /srv/WalkieFleet/FleetHID
8.5 Paket codec "Unable to locate package"
  1. Aktifkan repository tambahan (bagian 2):
    • Ubuntu: universe + multiverse
    • Debian: contrib + non-free (+ non-free-firmware di Debian 12)
  2. Ubuntu: install ubuntu-restricted-extras dulu (bagian 3.2).
  3. Pastikan nama paket libav* sesuai versi OS (bagian 3.2 / 3.3).
  4. Jalankan sudo apt update, lalu coba lagi.
    Pastikan nama paket sesuai versi OS Anda — gunakan apt-cache search untuk verifikasi.
  5. Cari nama paket yang tersedia:
    apt-cache search libavdevice | head
    apt-cache search libavcodec | head
9

Bug Khusus Versi 5.8.4 — Core-Dump (ABRT)

Gejala
text
Active: activating (auto-restart) (Result: core-dump)
Process: ExecStart=/srv/WalkieFleet/WalkieFleetService (code=dumped, signal=ABRT)

Jalankan manual menghasilkan:

text
Unhandled exception. System.TypeInitializationException:
  The type initializer for 'FleetServerCore.ManagementServer' threw an exception.
---> System.NotSupportedException: Specified method is not supported.
  at FFmpeg.AutoGen.DynamicallyLoadedBindings...
  at FFmpeg.AutoGen.ffmpeg.avdevice_register_all()
  at FleetCommon.Codec.Initialize()
  at FleetCommon.Sound.Mp3Writer.Initialize()
  at FleetServerCore.ManagementServer..cctor()
Aborted
Penyebab

Binary Linux 5.8.4 memanggil avdevice_register_all() (API FFmpeg lama). Library FFmpeg yang dibawa paket (versi baru, libavdevice.so.62 dll) tidak mendukung pemanggilan itu di Linux → NotSupportedException → proses di-abort (signal=ABRT).

Ini bug di build Linux WalkieFleet 5.8.4, bukan kesalahan instalasi, systemd, PostgreSQL, atau locale.
Yang sudah dibuktikan
KondisiHasil
Fresh install 5.8.4 di Ubuntu 24.04 (sandbox)Kadang start, port 9998/9999 LISTEN
Upgrade / install 5.8.4 di server productionCrash ABRT konsisten
Versi 5.8.2.2 di server yang samaJalan normal
Solusi sementara
  1. Tetap pakai 5.8.2.2 untuk production.
  2. Laporkan bug ke Walkie Labs (support) dengan stack trace di atas.
  3. Jangan upgrade production ke 5.8.4 sampai ada patch resmi.
  4. Install library codec sistem (bagian 3.2 / 3.3) tidak menyelesaikan crash ini.
Workaround yang sudah dicoba (tidak mengatasi ABRT)
  • Type=simple di systemd
  • LANG=C.UTF-8 / LC_ALL=C.UTF-8
  • LD_LIBRARY_PATH=/srv/WalkieFleet
  • Install libavdevice58 / libavdevice60 dll
  • locale-gen / update-locale
10

Catatan Upgrade 5.8.2.2 → 5.8.3 / 5.8.4

Video call: Mulai 5.8.3, video call tidak kompatibel dengan client versi lama. Voice tetap jalan, video tidak. Sumber: https://walkiefleet.com/notesvideo583

Database: Backup sebelum upgrade:

bash
sudo systemctl stop WalkieFleetService
sudo cp -a /var/WalkieFleet /var/WalkieFleet.bak.$(date +%Y%m%d)
sudo -u postgres pg_dumpall > /root/wf-pg-backup-$(date +%Y%m%d).sql

Setelah upgrade gagal (crash), rollback:

bash
sudo systemctl stop WalkieFleetService
sudo apt remove walkiefleetservice

# install ulang paket 5.8.2.2
sudo apt install ./walkiefleetservice_5.8.2.*_amd64.deb

# restore data jika perlu
sudo systemctl daemon-reload
sudo systemctl start WalkieFleetService
11

Ringkasan Cepat Install (5.8.2.2 — Direkomendasikan)

Ubuntu 22.04 (Contoh Lengkap)
bash
# 5. Service Type=simple (gunakan konfigurasi dari bagian 4.5)
sudo systemctl daemon-reload
sudo systemctl enable --now WalkieFleetService
sudo systemctl status WalkieFleetService
Ubuntu 24.04
bash
sudo apt install -y ubuntu-restricted-extras
sudo apt install -y libmp3lame0 libopus0 postgresql \
  libavdevice60 libavcodec60 libavformat60 \
  libavutil58 libswscale7 libswresample4
Debian 12 — Padanan (tanpa ubuntu-restricted-extras)
bash
# Pastikan sources.list memuat: main contrib non-free non-free-firmware
sudo apt update

sudo apt install -y libavcodec-extra ffmpeg libmp3lame0 libopus0 postgresql \
  libavdevice59 libavcodec59 libavformat59 \
  libavutil57 libswscale6 libswresample4

# Lanjut sama: install .deb WalkieFleet, buat user DB, unit systemd, start
12

Informasi Dokumen

ItemKeterangan
Diuji padaUbuntu 24.04 LTS (sandbox) + laporan lapangan 5.8.2.2 / 5.8.4
Paket 5.8.4https://dl.walkiefleet.com/walkiefleetservice_5.8.4_amd64.deb
Bug utama 5.8.4avdevice_register_all()NotSupportedException → ABRT
Rekomendasi productionTetap di 5.8.2.2 sampai patch resmi

Catatan lain:

  • Dispatch Console dan Device Launcher masih berbasis Windows.
  • Web Manager: http://IP-SERVER:9998 (setelah service jalan).
  • License permanen membutuhkan Hardware ID dari server Linux (FleetHID atau file DeviceID).
Dokumentasi berdasarkan pengujian paket resmi + laporan lapangan