Environment:
Proxmox Version: 6.3
Container/CT Template: Debian 10 Standard
RAM: 4G
Cores: 2
Disk Size: 30G
Sebelum memulai pastikan sudah membuat container dan menginstall docker serta docker-compose yang bisa dilihat di Install dan Konfigurasi Docker di Linux Container (LXC) Proxmox. Selanjutnya ikuti langkah berikut ini:
1. Membuat Folder NPM
mkdir /srv/npm cd /srv/npm
2. Buat File Docker Compose
nano docker-compose.yaml
version: "3"
services:
app:
image: jc21/nginx-proxy-manager:latest
restart: always
ports:
# Public HTTP Port:
- '80:80'
# Public HTTPS Port:
- '443:443'
# Admin Web Port:
- '81:81'
#environment:
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
# Make sure this config.json file exists as per instructions above:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: jc21/mariadb-aria:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql3. Buat File Config NPM
nano config.json
{
"database": {
"engine": "mysql",
"host": "db",
"name": "npm",
"user": "npm",
"password": "npm",
"port": 3306
}
}4. Jalankan Docker-Compose
docker-compose up -d
Perintah itu akan otomatis membaca file docker-compose.yaml dan membuat 2 docker container dengan nama npm_app_1 dan npm_db_1. Setelah proses selesai, lihat hasilnya dengan perintah,
root@npm:/srv/npm# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b4aaa56a4225 jc21/nginx-proxy-manager:latest "/init" 46 minutes ago Up 45 minutes (healthy) 0.0.0.0:80-81->80-81/tcp, 0.0.0.0:443->443/tcp npm_app_1 5b77403ca903 jc21/mariadb-aria:latest "/scripts/run.sh" 46 minutes ago Up 46 minutes 3306/tcp npm_db_1 root@npm:/srv/npm#
Nginx Proxy Manager sudah bisa diakses via browser dengan url http://ip_container_proxmox:81 dengan username admin@example.com dan password changeme.
Note:
Jika saat login muncul error Bad Gateway, pastikan kedua container tadi statusnya Up. Jika statusnya Up (Unhealty), lihat lognya dan periksa apakah ada langkah / scipt code yang terlewatkan. Status Unhealty pada npm_app_1 bisa jadi karena file config.json ( langkah ke-3 ) terlewati.
Done…
