Instal Nginx Proxy Manager (NPM) dengan Docker

· 2 min read
Instal Nginx Proxy Manager (NPM) dengan Docker
Photo by imgix / Unsplash

Nginx adalah server populer dan proksi terbalik yang digunakan untuk merutekan dan mengarahkan lalu lintas web. Menyiapkan Nginx sebagai reverse proxy dapat memakan waktu dan rentan terhadap kesalahan dan kesalahan konfigurasi.

Nginx Proxy Manager (NPM) adalah sistem manajemen proksi terbalik yang berjalan di Docker. NPM didasarkan pada server Nginx dan menyediakan antarmuka web yang bersih, efisien, dan indah kepada pengguna untuk pengelolaan yang lebih mudah. Alat ini mudah diatur dan tidak mengharuskan pengguna mengetahui cara bekerja dengan server Nginx atau sertifikat SSL. NPM adalah alat sumber terbuka yang dikelola oleh pengembang dari seluruh dunia. Ini sangat cocok untuk lingkungan server kecil dan lingkungan laboratorium pribadi. Tutorial ini akan fokus untuk menunjukkan kepada Anda cara menerapkan manajer proxy Nginx:

Disini saya mencoba menjelaskan cara install Nginx Proxy Manager dengan bantuan Docker dan Docker-Compose.

Apa yang perlu Anda lakukan sebelum kita mulai:

  1. Server linux diinstal dengan Docker dan Docker-Compose
  2. Izin Root (Izin Sudo)

Jika  Anda memerlukan bantuan tentang cara menginstal Docker dan Docker-Compose, Anda dapat merujuk ke dokumentasi resmi.

Setelah Anda menyiapkannya, mari kita mulai.

Buat direktori dan file yang diperlukan

mkdir proxy
cd proxy
nano docker-compose.yml

Anda dapat menyalin dan menempelkan kode di bawah ini untuk docker-compose.yml

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: proxy-manager
    restart: unless-stopped
    ports:
      - '80:80' 
      - '81:81'
      - '443:443'
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - proxydb
    networks:
      - nginx-proxy

  proxydb:
    image: 'yobasystems/alpine-mariadb:latest'
    container_name: proxy-manager-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'somestrongrootpassword'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'user-from-config.json'
      MYSQL_PASSWORD: 'password-from=config.json'
    volumes:
      - ./data/mysql:/var/lib/mysql
    networks:
      - nginx-proxy

volumes:
  mysql:
  data:
  letsencrypt:

networks:
  nginx-proxy:
    external:
      name: nginx-proxy-network

Buat file lain bernama config.json di direktori yang sama

nano config.json

Salin konten di bawah ini ke file.

{
  "database": {
    "engine": "mysql",
    "host": "proxy-manager-db",
    "name": "npm",
    "user": "someusername",
    "password": "somestrongpassword",
    "port": 3306
  }
}

Kita hampir selesai dengan konfigurasinya, sekarang kita perlu menjalankan perintah di bawah ini untuk mengaktifkan buruh pelabuhan

docker-compose up -d

Masuk dengan pengguna administrator default

navigasikan ke http://"Server-IP":81 untuk mengakses proxy. login dengan nama pengguna dan kata sandi default di bawah ini.

Email: [email protected]
Password: changeme

Sekarang Anda memiliki Nginx Proxy Manager yang berfungsi penuh;)