Halaman ini akurat untuk router versi 0.9.50.

Menginstal I2P menggunakan Docker

Cara memulai dengan sangat cepat

Jika Anda hanya ingin mencoba I2P dengan cepat atau menggunakannya di jaringan rumah, ikuti langkah-langkah ini:

  1. Buat dua direktori "i2pconfig" dan "i2ptorrents"
  2. Salin teks berikut dan simpan dalam file "docker-compose.yml".
  3. 
    version: "3.5"
    services:
        i2p:
            image: geti2p/i2p
            network_mode: host
            volumes:
                - ./i2pconfig:/i2p/.i2p
                - ./i2ptorrents:/i2psnark
    
  4. Jalankan "docker-compose up"
  5. Buka browser lalu ketik http://127.0.0.1:7657 untuk menyelesaikan wizard pengaturan.

Perhatikan bahwa pendekatan cepat ini tidak disarankan untuk server produksi di remote server. Silakan baca dokumen ini untuk informasi lebih lanjut.

Membangun image I2P

Ada image I2P yang tersedia di DockerHub . Jika Anda tidak ingin menggunakan image tersebut, Anda dapat membangunnya image sendiri:

docker build -t i2p .

Menjalankan container

Volumes

Container membutuhkan volume untuk data konfigurasi yang akan dipasang. Secara opsional, Anda dapat memasang volume terpisah untuk unduhan torrent ("i2psnark"). Lihat contoh di bawah ini.

Penggunaan memori

By default the image limits the memory available to the Java heap to 512MB. You can override that with the JVM_XMX environment variable.

Ports

Ada beberapa port yang diekspos oleh image. Anda dapat memilih mana yang akan dibuka tergantung pada kebutuhan spesifik Anda.

Port Interface Uraian TCP/UDP
4444 127.0.0.1 Proxy HTTP TCP
4445 127.0.0.1 Proxy HTTPS TCP
6668 127.0.0.1 Proxy IRC TCP
7654 127.0.0.1 Protokol I2CP TCP
7656 127.0.0.1 SAM Bridge TCP TCP
7657 127.0.0.1 Router Console TCP
7658 127.0.0.1 Situs I2P TCP
7659 127.0.0.1 SMTP Proxy TCP
7660 127.0.0.1 Proxy POP3 TCP
7652 LAN interface UPnP TCP
7653 LAN interface UPnP UDP
12345 0.0.0.0 Protokol I2NP TCP dan UDP

Anda mungkin setidaknya menggunakan Router Console (7657) dan HTTP Proxy (4444). Jika Anda ingin I2P dapat menerima koneksi dari internet, dan karenanya tidak ada firewall, buka port Protokol I2NP (12345) - tetapi pastikan Anda mempublikasikan ke port acak yang berbeda, jika tidak, orang lain mungkin dapat menebak Anda sedang menjalankan I2P dalam image Docker.

Jaringan

Panduan praktik terbaik untuk penerapan cloud berada di luar cakupan dokumen ini, namun secara umum Anda harus mencoba meminimalkan jumlah port yang dibuka, sambil hanya mengekspos port I2NP ke internet. Itu berarti bahwa layanan dalam daftar di atas yang terikat pada 127.0.0.1 (yang termasuk router console) perlu diakses melalui metode lain seperti tunneling SSH atau dikonfigurasi secara manual untuk binding ke interface yang berbeda.

Contohnya:

Berikut adalah contoh container yang memasang i2phome sebagai direktori home, i2ptorrents untuk torrent, dan membuka HTTP Proxy, IRC, Router Console, dan Protokol I2NP. Ini juga membatasi memori yang tersedia untuk JVM hingga 256MB.

docker run \
    -e JVM_XMX=256m \
    -v i2phome:/i2p/.i2p \
    -v i2ptorrents:/i2psnark \
    -p 4444:4444 \
    -p 6668:6668 \
    -p 7657:7657 \
    -p 54321:12345 \
    -p 54321:12345/udp \  # I2NP port needs TCP and UDP.  Change the 54321 to something random, greater than 1024.
    i2p:latest