Kategori
Linux

Instalasi Docker Engine dan Docker Compose di Ubuntu Focal Fossa

Artikel singkat ini menunjukkan cara sederhana melakukan instalasi Docker Engine dan Docker Compose menggunakan APT repository dan Python PIP installer. Script di bawah ini menggunakan referensi dari kedua tutorial dari Docker yaitu: https://docs.docker.com/engine/install/ubuntu/ dan https://docs.docker.com/compose/install/

#!/bin/bash
apt update
apt upgrade -y
apt install python3-pip apt-transport-https gnupg-agent software-properties-common curl ca-certificates -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
apt install docker-ce docker-ce-cli containerd.io -y
usermod -aG docker $USER
pip3 install docker-compose
exit 0

Untuk melakukan instalasi di Ubuntu server, unduh script di atas melalui Github Gist menggunakan command di bawah ini

$ wget https://gist.githubusercontent.com/josefmtd/e121e49c463907b2e267d997a23dc508/raw/da4d267cbb3935dbec012c1c3847c4b39aa0c0b7/install_docker_ubuntu_focal.sh
# chmod 755 install_docker_ubuntu_focal.sh
# ./install_docker_ubuntu_focal.sh

Edit: Typo di script add-apt-repository telah diperbaiki

Kategori
Linux Raspberry Pi

Apt-Cacher on Raspberry Pi

When you’re developing an application on Raspberry Pi, you might have to install a few dependencies packages from an APT repository. Sometimes you break some applications and a clean install is probably your last resort, and you find yourself downloading the same packages over-and-over again.

In my case, I was running the pi-gen shell script available from https://github.com/RPi-Distro/pi-gen. This shell script is very handy when you want to create your own custom Raspberry Pi OS image, with the packages you need. This is very handy in production, where you want the process to be as simple as burning an image to an SD card, and you’re good to go.

However, when developing the shell script to produce the proper image I need, I find myself sometimes breaking the script and often had to restart it all over again, downloading the same packages from the APT repository. There’s actually a solution for this problem, create an APT cache in your local network in a Debian box (or a spare Raspberry Pi). I use my Pi.hole Raspberry Pi for this APT Cacher. Installation is simple, it’s only by:

# apt install apt-cacher-ng

Once you’re done, you can use that spare Raspberry Pi as an apt cacher. You can simply add a line to your pi-gen script config:

APT_PROXY='http://pi.hole:3142'

This works like a charm and I can shave 9 minutes from downloading the packages from repository since now I have it cached.

[06:58:17] Begin /home/vagrant/pi-gen
[06:58:17] Begin /home/vagrant/pi-gen/stage0
...
[07:13:32] End /home/vagrant/pi-gen/stage2

(15.25 minutes)

[06:45:27] Begin /home/vagrant/pi-gen
[06:45:27] Begin /home/vagrant/pi-gen/stage0
...
[07:09:48] End /home/vagrant/pi-gen/stage2

(24.35 minutes)

By using this APT cache, you can save a few minutes (depending on your network speed) downloading the same base packages over-and-over when you need to develop a bunch of images at the same time.

Kategori
Linux

NanoPi NEO Air dan Modul GSM

NanoPi NEO Air adalah sebuah single board computer alternatif selain Raspberry Pi. Ukurannya yang kecil membuat NanoPi NEO Air menjadi alternatif dari Raspberry Pi Zero W. SBC ini menggunakan prosesor Quad Core Allwinner H3 up to 1.2GHz, dengan RAM 512MB dan Storage eMMC 8GB. Kelebihan chip ini dibandingkan chip Raspberry Pi Zero W adalah banyaknya hardware UART (3 buah, 1 untuk debug), Quad Core dibandingkan Single Core untuk Raspberry Pi Zero W.

Modul GSM yang dipakai untuk percobaan kali ini adalah modem A6 dari AiThinker. Modul yang saya pakai menggunakan port micro USB untuk menyuplai daya ke modul. Untuk menghubungkan modul dengan NanoPi NEO Air dibutuhkan tiga jumper antara UART1 (TX1, RX1) dan GND dengan U_RX, U_TX, dan GND.

Komunikasi internet dari modul GSM dengan NanoPi NEO Air menggunakan Point-to-Point Protocol (PPP). Untuk OS FriendlyCore dari NanoPi NEO Air, yang berbasis dari UbuntuCore, menggunakan packaging manager yang sama dengan Debian. Instalasi package PPP dapat dilakukan dengan menggunakan command:

# apt update
# apt install ppp

Setelah instalasi PPP, langkah selanjutnya adalah untuk mempersiapkan file konfigurasi untuk provider yang ingin kita pakai, contohnya untuk Telkomsel, buat file /etc/ppp/peers/telkomsel

# nano /etc/ppp/peers/telkomsel

Isilah file tersebut dengan konten di bawah ini:

# Koneksi ke APN Telkomsel
connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs -T telkomsel"

# Device serial
/dev/ttyS1

# Kecepatan serial
115200

# Alamat IP diatur oleh ISP
noipdefault

# Gunakan PPP sebagai default route
defaultroute

# Menggunakan name server dari ISP
usepeerdns

# Daemon PPP akan otomatis menyala ulang jika ada error
persist

# Tanpa autentikasi dari remote
noauth

# Tanpa hardware control UART
nocrtscts

Jika file konfigurasi sudah disiapkan, koneksi menggunakan modul GSM dapat dimulai dengan menggunakan command:

# pon telkomsel

dan mematikannya bisa digunakan command:

# poff telkomsel

Untuk menyalakan internet pada saat booting NanoPi, ubah file konfigurasi network interface dengan menggunakan command:

# nano /etc/network/interfaces

Tambahkan konten ini di dalam file /etc/network/interfaces:

auto telkomsel
iface telkomsel inet ppp
    provider telkomsel