pEp MixMailer prototype. See aditional documentation at https://mixmailer_docs.codeberg.page/ (source: https://gitea.pep.foundation/pEp.foundation/mixmailer_docs). See slides at gitea.pep.foundation/pEp.foundation/mixmailer_slides
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
3.3 KiB

  1. version: '3'
  2. services:
  3. authority.pep.example:
  4. image: ${GNUNET_IMAGE:-gnunet}
  5. container_name: authority.pep.example
  6. hostname: authority
  7. domainname: pep.example
  8. volumes:
  9. - ./tmp/authority:/home/gnunet
  10. - ./docker/gnunet.conf:/home/gnunet/.config/gnunet.conf
  11. ports:
  12. - "7770:7776"
  13. expose:
  14. - "7776"
  15. restart: unless-stopped
  16. gnunet.n1.pep.example:
  17. image: ${GNUNET_IMAGE:-gnunet}
  18. container_name: gnunet.n1.pep.example
  19. hostname: gnunet
  20. domainname: n1.pep.example
  21. volumes:
  22. - ./tmp/n1:/home/gnunet
  23. - ./docker/gnunet.conf:/home/gnunet/.config/gnunet.conf
  24. ports:
  25. - "7776:7776"
  26. expose:
  27. - "7776"
  28. restart: unless-stopped
  29. gnunet.n2.pep.example:
  30. image: ${GNUNET_IMAGE:-gnunet}
  31. container_name: gnunet.n2.pep.example
  32. hostname: gnunet
  33. domainname: n2.pep.example
  34. volumes:
  35. - ./tmp/n2:/home/gnunet
  36. - ./docker/gnunet.conf:/home/gnunet/.config/gnunet.conf
  37. ports:
  38. - "7777:7776"
  39. expose:
  40. - "7776"
  41. restart: unless-stopped
  42. # Naming the services with the FQDN so that the containers can resolve the
  43. # other containers in the same network domains.
  44. n1.pep.example:
  45. container_name: n1.pep.example
  46. build:
  47. context: .
  48. environment:
  49. DOMAIN: "n1.pep.example"
  50. MYFP: "44CF7B7252148BE970F53FF8BF378725BCA73C60"
  51. KEY: "/peppythonmixnet/tests/data/root@n1.pep.example.sec.asc"
  52. # There is no need to expose the port externally, unless the host will
  53. # send Emails too.
  54. restart: unless-stopped
  55. image: ${RELEASE_IMAGE:-peppythonmixnet}
  56. hostname: n1
  57. domainname: pep.example
  58. n2.pep.example:
  59. container_name: n2.pep.example
  60. build:
  61. context: .
  62. environment:
  63. DOMAIN: "n2.pep.example"
  64. MYFP: "EEA6C082CA652EE1F6297F569CFD11A518CD28F8"
  65. KEY: "/peppythonmixnet/tests/data/root@n2.pep.example.sec.asc"
  66. restart: unless-stopped
  67. image: ${RELEASE_IMAGE:-peppythonmixnet}
  68. hostname: n2
  69. domainname: pep.example
  70. n3.pep.example:
  71. container_name: n3.pep.example
  72. build:
  73. context: .
  74. environment:
  75. DOMAIN: "n3.pep.example"
  76. MYFP: "5CF81E8377654F1BD1D5A02B4854BBDC9957C746"
  77. KEY: "/peppythonmixnet/tests/data/root@n3.pep.example.sec.asc"
  78. restart: unless-stopped
  79. image: ${RELEASE_IMAGE:-peppythonmixnet}
  80. hostname: n3
  81. domainname: pep.example
  82. openpgp.example:
  83. container_name: bob.openpgp.example
  84. build:
  85. context: .
  86. environment:
  87. USER: "root"
  88. # A domain that will not trigger the remailer transport and correspond
  89. # to the recipient.
  90. DOMAIN: "openpgp.example"
  91. TRANSPORT: 0
  92. depends_on:
  93. - n1.pep.example
  94. - n2.pep.example
  95. - n3.pep.example
  96. restart: unless-stopped
  97. image: ${RELEASE_IMAGE:-peppythonmixnet}
  98. hostname: openpgp
  99. domainname: example
  100. alice:
  101. container_name: alice.whatever.example
  102. build:
  103. context: .
  104. environment:
  105. USER: "root"
  106. # A domain that will not trigger the remailer transport.
  107. DOMAIN: "whatever.example"
  108. TRANSPORT: 0
  109. depends_on:
  110. - n1.pep.example
  111. - n2.pep.example
  112. - n3.pep.example
  113. - openpgp.example
  114. restart: unless-stopped
  115. image: ${RELEASE_IMAGE:-peppythonmixnet}
  116. hostname: whatever
  117. domainname: example