Hari ini kita akan melihat cara menginstal Nginx Proxy Manager di Raspberry Pi!
Jika Anda mengekspos layanan apa pun di jaringan Anda, menggunakan proxy terbalik adalah cara yang bagus untuk meningkatkan keamanan dan kinerja. Proxy terbalik adalah server yang berada di depan server web Anda dan meneruskan permintaan klien ke server web. Dalam istilah awam, Anda hanya perlu mengekspos satu server (menggunakan port 80/443) dan akan dapat mengekspos layanan web sebanyak yang Anda inginkan.
Ini adalah contoh aliran jaringan proxy terbalik (disederhanakan):
Tutorial ini akan menggunakan Raspberry Pi, yang sangat bagus untuk digunakan di rumah, tetapi jika Anda meng-hosting sesuatu dengan banyak lalu lintas, Anda mungkin lebih baik menggunakan server yang lebih mumpuni. Kami akan memeriksa status aplikasi setelah selesai diinstal dengan menggunakan Portainer, tetapi ini tidak diperlukan.
Instruksi – Nginx Proxy Manager Raspberry Pi
Pastikan Docker diinstal. Jika belum terpasang, Anda dapat mempelajari cara memasangnya di sini.
1. Kita perlu menggunakan docker compose untuk membuat container Nginx Proxy Manager. Ini mengharuskan kita untuk menginstal beberapa dependensi – jalankan perintah install di bawah ini secara berurutan.
sudo apt-get install -y libffi-dev libssl-dev sudo apt-get install -y python3 python3-pip sudo pip3 -v install docker-compose
2. Setelah perintah selesai menginstal, kita perlu membuat folder tempat file config dan docker-compose kita akan ada. Kami kemudian akan menavigasi ke folder itu dan membuat file bernama config.json.
mkdir nginx cd nginx nano config.json
3. Tempelkan konten ini ke dalam file konfigurasi.
{
"database": {
"engine": "mysql",
"host": "db",
"name": "npm",
"user": "npm",
"password": "npm",
"port": 3306
}
}
4. Simpan file dan keluar. Buat file baru bernama docker-compose.yml
nano docker-compose.yml
5. Tempelkan konten di bawah ini ke dalam file docker-compose.
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'yobasystems/alpine-mariadb:latest'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
Jika Anda menerima kesalahan dan penampung tidak dapat dimulai dan berjalan sebagai “tidak sehat”, ikuti petunjuk di bawah ini:
Terima kasih khusus kepada Plan945 yang telah berkomentar dengan solusi.
Ganti ini di docker-compose.yml:
image: 'yobasystems/alpine-mariadb:latest'
Dengan ini:
image: 'yobasystems/alpine-mariadb:10.4.17-arm32v7'
6. Simpan file dan keluar. Anda harus memiliki dua file yang ada di folder nginx. Jalankan perintah di bawah ini untuk memulai wadah buruh pelabuhan.
sudo docker-compose up -d
7. Wadah akan mengunduh dan menginstal semua file yang diperlukan.
8. Sekarang kita akan menyesuaikan kedua container yang digunakan Nginx Proxy Manager agar otomatis dimulai saat Raspberry Pi Anda di-boot ulang.
sudo docker update --restart always nginx_app_1 sudo docker update --restart always nginx_db_1
9. Mulai ulang Raspberry Pi Anda – sangat penting!
sudo reboot now
10. Setelah reboot selesai, wadah akan membutuhkan beberapa menit untuk menginstal sepenuhnya. Anda dapat menjalankan perintah di bawah ini untuk memeriksa status wadah. Ketika melaporkan "sehat", Anda akan dapat menavigasi ke situs web Nginx Proxy Manager. Sebagai alternatif, jika Anda menyiapkan Portainer, Anda dapat membuka Portainer dan memeriksa status penampung di sana.
sudo docker ps
11. Tunggu hingga status berubah menjadi sehat .
12. Arahkan ke alamat IP Raspberry Pi Anda dan port 81.
http://[RASPBERRY_PI_IP]:81
13. Alamat email default adalah [email protected] dan sandinya adalah changeme. Saat Anda masuk, Anda akan diminta untuk mengubah informasi ini.
14. Pada titik ini, Nginx Proxy Manager sudah terinstal sepenuhnya. Anda harus membuka port 80/443 pada router Anda untuk menunjuk ke Raspberry Pi Anda. Dari sana, Anda harus mengonfigurasi Nginx Proxy Manager. Mayoritas orang akan menggunakan Nginx Proxy Manager sebagai tidak lebih dari manajer proxy. Saya tidak akan melalui proses mengonfigurasi layanan karena ini akan berbeda untuk setiap orang, tetapi lihat videonya jika Anda tertarik untuk melihat bagaimana itu dapat digunakan saat saya memberikan contoh di sana!
Kesimpulan
Jika Anda mengekspos layanan di jaringan Anda, menggunakan proxy terbalik adalah ide bagus. Banyak orang tidak memerlukan server lengkap yang menjalankan Nginx Proxy Manager, jadi Raspberry Pi adalah pilihan yang bagus dalam hal ini. Ini berjalan dengan baik dan agak mudah diatur.
Terima kasih telah membaca tutorialnya. Jika Anda memiliki pertanyaan, tinggalkan di komentar!
Cara Menyebarkan Tumpukan Tulis Docker ke Kubernetes dengan Kompose
Cara Menginstal dan Menggunakan Docker Compose di Ubuntu 22.04
Cara Melihat Log Pod Kubernetes Dengan Kubectl