Docker-mailman: Komposisi buruh pelabuhan tumpukan penuh

Dibuat pada 4 Jan 2019  ·  7Komentar  ·  Sumber: maxking/docker-mailman

pertama-tama terima kasih untuk wadah yang luar biasa, itu membuat instalasi saya jauh lebih mudah. Saya baru -baru ini membuat setup docker-compose produksi lengkap. Saya ingin mengusulkan/membahas beberapa perubahan/penambahan pada proyek ini yang saya pelajari saat melakukan Setup.

  • menyediakan komposisi buruh pelabuhan lengkap termasuk Penghentian MTA dan SSL (pada dasarnya #174)

    • pindahkan variabel khusus situs ke file .env (rahasia dan domain)

    • tambahkan wadah postfix dengan konfigurasi khusus tukang pos dan subnet lokal yang dapat dikonfigurasi (akan membantu dengan # 282)

    • tambahkan wadah nginx yang sudah menyertakan file statis dan proksi ke soket uwsgi (tidak menangani penghentian ssl, sudah ada cukup wadah di luar sana), terkait dengan #144 tetapi mungkin dapat diselesaikan dengan dockerfile multi-tahap

    • split config menimpa folder dari folder data

    • masuk ke stdout (#2, #134)

  • hapus entri default dari komposisi buruh pelabuhan (nama host, nama wadah, tautan)
  • coba hapus subnet kode keras dan gunakan perutean berbasis dns (tidak yakin apakah layak tetapi akan luar biasa) (terkait # 44)

Saya akan dengan senang hati memberikan PR untuk poin-poin di atas tetapi ingin mendapatkan tanggapan Anda terlebih dahulu, setelah menulis tiket ini dan menemukan semua tiket terkait, saya cukup yakin semua perubahan juga sesuai dengan minat Anda, jadi terutama menjadikannya sebagai daftar yang harus dilakukan Aku.

Komentar yang paling membantu

Semua 7 komentar

Terima kasih atas minat Anda pada ini, saya ingin ini terjadi!

  • Saya pikir kita harus menyimpan penulisan tumpukan penuh sebagai opsi terpisah dari yang sekarang, sebagian besar untuk orang-orang yang membutuhkan MTA/Server Web mereka di Host untuk melakukan hal-hal lain selain hanya melayani Mailman.
  • Memindahkan variabel lingkungan ke file .env tidak terlalu masuk akal bagi saya, saya mengerti bahwa Anda mungkin ingin menjaga rahasia Anda lebih aman, tetapi kecuali ada yang menggunakan beberapa izin Linux untuk menolak akses ke .env file tetapi tidak ke docker-compose.yaml , itu agak tidak berguna kan? Dan saya tidak yakin bagaimana cara melakukannya.
  • Menambahkan wadah postfix akan sangat membantu, ini tidak terkait dengan #282 , tetapi kami dapat menanganinya di MR terpisah.
  • Saya pikir menambahkan wadah Nginx yang berbagi volume dengan mailman-web akan menjadi yang terbaik. Saya tidak terlalu tertarik pada #144 saat ini, terutama karena itu tidak benar-benar membuat kami lebih cepat atau apa pun. Menghasilkan file statis saat startup biasanya baik-baik saja.
  • Masuk ke stdout seharusnya bagus, Django mungkin bisa melakukannya dengan mudah, Core mungkin bisa.
  • Mengapa kami ingin menghapus entri default untuk nama host, nama wadah, tautan?
  • Menghapus hal-hal jaringan yang dikodekan dengan keras adalah sesuatu yang benar-benar ingin saya lakukan, yang mungkin memiliki beberapa tantangan berdasarkan bagaimana Hyperkitty mengautentikasi permintaan dari Core, tetapi kami juga dapat memperbaikinya di hulu.

Secara keseluruhan, saya menyukai sebagian besar ide. Idealnya, kami ingin setiap perubahan berada dalam Pull Request yang terpisah dan kemudian kami dapat mendiskusikan lebih detail di PR masing-masing.

Tentang berkas .env :

  • itu menjelaskan kepada pengguna akhir variabel mana yang harus diubah tanpa mencari melemparkan seluruh docker-compose.yml
  • itu menghapus definisi duplikat (seperti kunci api hyperkitty)
  • itu bisa/seharusnya membuatnya lebih mudah untuk memutakhirkan docker-compose.yml (karena seseorang menggunakan yang upstream) dan hanya perlu menambahkan/memodifikasi variabel yang diubah di .env
  • pengguna akhir dapat memeriksa docker-compose.yml yang sedang berjalan ke kontrol sumber tanpa mengungkapkan rahasia

Saya pikir PR akan membuatnya lebih jelas, tidak banyak pekerjaan jadi tidak merepotkan jika kita menjatuhkannya.

Tautan adalah fitur yang tidak digunakan lagi, secara default semua wadah di bagian layanan berada dalam satu jaringan sehingga tetap terhubung. Nama host dan nama-wadah default ke bagian saat ini dalam definisi layanan sehingga sama seperti yang didefinisikan secara eksplisit saat ini dan saya pikir menghapusnya membuat seluruh file lebih kecil dan karenanya lebih mudah dipahami.

Agak terkait, saya mengintegrasikan wadah ini ke Mailu (https://github.com/Mailu/Mailu) yang menyediakan sisa tumpukan. Apakah ada minat dalam pengaturan seperti itu?

@pgeorgi Jika Anda sudah memiliki integrasi yang ingin Anda pertahankan menggunakan gambar-gambar ini, saya akan dengan senang hati menambahkan tautan ke repositori/posting Anda di dokumentasi.

@pgeorgi pasti

Saya setuju dengan @morbidick tentang file .env , terutama karena membuat pembaruan lebih mudah.
Anda cukup melakukan git pull tanpa mencemari repo Anda.
Juga, file .env harus berada di .gitignore

Contoh : Lihat bagaimana Sentry melakukan ini:
https://github.com/getsentry/onpremise

Mereka juga menyediakan file env.example yang dapat Anda salin ke file .env Anda sendiri.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat