Docker Container Station - cara setup nginx-proxy-manager?

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.

Lihat di sini

1 Suka

Berikut adalah yang saya gunakan untuk Pi-Hole. Ini bekerja cukup baik:

networks:
  qnet-network:
    driver_opts:
      iface: eth3
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: eth3
      config:
        - subnet: 192.168.0.0/23
          gateway: 192.168.1.1

Pastikan saja Anda menggunakan nomor antarmuka (interface) yang benar - penomorannya dimulai dari 0.

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.