Saya mencoba mengatur nginx-proxy-manager di CS sebagai aplikasi docker compose. Saya sudah berhasil menjalankannya menggunakan file yaml di bawah ini, tetapi saat saya mencoba mengatur reverse proxy, gagal mengakses aplikasi internal yang juga berjalan di CS sebagai aplikasi docker compose. Ada yang berhasil menjalankan NPM di CS?
Saya bisa membuka layar admin aplikasi dan login, membuat reverse proxy, serta mendapatkan sertifikat lets encrypt, tapi tidak meneruskan ke aplikasi internal. Muncul error 504 yang sepertinya cukup umum.
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
stdin_open: true
tty: true
ports:
# Port-port ini dalam format <host-port>:<container-port>
- '80:80' # Port HTTP Publik
- '443:443' # Port HTTPS Publik
- '81:81' # Port Web Admin
# Tambahkan port Stream lain yang ingin diekspos
# - '21:21' # FTP
environment:
# Uncomment ini jika ingin mengubah lokasi
# file SQLite DB di dalam container
# DB_SQLITE_FILE: "/data/database.sqlite"
# Uncomment ini jika IPv6 tidak diaktifkan di host Anda
DISABLE_IPV6: 'true'
volumes:
- /share/nginx-proxy-manager/data:/data
- /share/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
mencapai beberapa kemajuan dengan menguji berbagai hal
untuk aplikasi NPM, saya harus menambahkan NAT dan bridge networking. Bridge diberikan alamat IP statis. NAT memungkinkan akses ke container lain.
Saat pengujian, saya bisa menjalankan perintah bash dan menggunakan curl di dalam container npm untuk menguji akses. Sejauh ini, tidak berhasil jika saya menggunakan alamat IP utama dari sebuah container, yaitu 192.x.x.x, tetapi jika saya menggunakan alamat IP nat 10.0.3.x, saya bisa mengakses container lain. Nama container sepertinya tidak berfungsi di dalam NPM.
Saya rasa dengan cukup mencoba-coba, saya mungkin bisa membuatnya berfungsi. lol
ada yang tahu cara mengatur nat default di file compose yaml? Saat ini saya membuat aplikasinya dulu, lalu harus edit container dan mengubah jaringannya. Saya lebih suka mendefinisikan jaringan di file yaml, jadi saat saya membuat ulang app/container, semuanya sudah diatur seperti yang saya butuhkan.
Saya berhasil membuat NPM berfungsi setelah banyak percobaan dan kesalahan. Pada dasarnya, saya menggunakan command line untuk Docker untuk membuat jaringan baru bernama backend. Lalu saya menggunakan bagian networking di file compose untuk memberikan setiap aplikasi container baru jaringan backend, serta npm backend dan IP statis. Saya mungkin akan memulai thread dengan catatan Docker Compose untuk membantu orang lain ketika saya punya waktu untuk mendokumentasikannya dengan baik.