From 02a5a5d7e57e489a65396edb49181179d2b5d974 Mon Sep 17 00:00:00 2001
From: Nikos Papadakis <nikos@papadakis.xyz>
Date: Tue, 28 Nov 2023 00:44:36 +0200
Subject: [PATCH] proton-bridge

---
 group_vars/all/vars.yml                       |   3 +
 group_vars/all/vault.yml                      | 115 +++++++++---------
 proton-bridge.yml                             |  15 +++
 templates/protonmail-bridge-docker.service.j2 |  10 ++
 4 files changed, 88 insertions(+), 55 deletions(-)
 create mode 100644 proton-bridge.yml
 create mode 100644 templates/protonmail-bridge-docker.service.j2

diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml
index 24df705..ba551fe 100644
--- a/group_vars/all/vars.yml
+++ b/group_vars/all/vars.yml
@@ -25,3 +25,6 @@ s3_secret_access_key: "{{ vault_s3_secret_access_key }}"
 
 # Wireguard
 wireguard_network_mask: "24"
+
+# protonmail-bridge-docker
+protonmail_bridge_docker_image: "{{ vault_protonmail_bridge_docker_image }}"
diff --git a/group_vars/all/vault.yml b/group_vars/all/vault.yml
index da534ea..4790278 100644
--- a/group_vars/all/vault.yml
+++ b/group_vars/all/vault.yml
@@ -1,56 +1,61 @@
 $ANSIBLE_VAULT;1.1;AES256
-64626230316465373033333462313931373532323836636534636236656430633834313763353132
-6563653435363139656138656436616130356537323039610a323863306264393861373865326231
-66383761623061663766613735333237303936616531383136653361313831656364383362613937
-3364636531316338630a383435636361616138373161656462343832333037323762366638636534
-61346231313633323631346166336334383335633637313535323237383735386566313234663062
-35636433346435386436623933623663366536366461636232326463396563346430383564383033
-62323831613532653665373232346336613562356232636363353839613438373134373131613462
-64653839383962323332623030386532643235383335656434343431323865356563343437643666
-64616265613031633036373235633232346231653930333230343337613464346136653130383162
-31616362656430666262373765383934323831653065653765663732393339376562653036636436
-30383166633365366666623831343634326533326434303263663138333135356163326533343436
-66306231663963373930393337303636393530373734306533333630363136323636393465633863
-31613664313531373136336536353639633261353936663639646230353063373665303439363832
-66623961656266386166633634656433636662616332633265326364626464626633613062653862
-63323165646266643438616363393131653461353836336431393730666561363333333565303839
-65376135363764616631636330656237656637656530646431373433316631613664313130343434
-35323035613463383063356536316363323930623833633231353032363638623165363764353466
-66363534653531646533346532303737636539633031666565373331643233373535333533653934
-31643466363561643563363430383936663331626563303634333963313132323336346437336139
-64383365336132633863316338306637353265653437363434663664613733656564373465643261
-61646163323937366364666235326166636561636165653738633064343438393438316364623336
-30353730363731636364303430393664313332663266643862623838363638343861333238663462
-38383838303839633237653730326536383265613537643566373562323036356161646231623965
-32373930653936663334613034313030633863336265653236613532373464316437366466313866
-39613435353465396337656332633031633936303033373238623731373736363532363662363665
-66383864343932646637653333626534613739623733353133656265623661393662303162353433
-66386166356165313234633039643264353836613864376335653463346466386339636165363236
-38323235636162323464633537363334386464623465393836333532376530393465633038343132
-39366465313134613338373038393638653266316162396264613031356339613036613065323433
-32366133326166366166666465646565623134383138653239343236336666636131373930653437
-31366630663565313436656434326238633739383232646462636561303634326534333931633039
-31396262323930613466353732353730323761383132313932303238366331316135363037636535
-39616235643930653730303165663834663931356435323337343837646566336363336662626361
-34363966323236366531343865343037386435613966366531333936663532366630656362316661
-33313666333534396332633935363366326135376633613536643733336638326237346564303639
-36323932636131386662396538346465353637363336303533383239306564613066613936643061
-33653133366336663738393930343166626235383634336538653038373365663437613866666434
-35646134363166623430666238376566373066396634646638383466636666323465653766323431
-63326462333132306233616336353431346432613463353237646439653634316338313932636562
-66653165663230643436323366353436316236363130666264353362633235653734326236653534
-66333265393533633933616436656336393333373637313032616564623633323835373533613431
-62633063633736333963656434616564363565613337636361616534323466623338613639356530
-37353461663231643730623065386630316338373735613031646234373934356262373963313961
-38343365313066306433636665623863313539306539663537326334386434623361323336393163
-31373163623032376133343830323430343464306536363432663130656662306364323734353738
-61343930303366393762333235623164333437653663396461376431383637613061383231623563
-65353332626634346561383961393236346137663061376330363636643266383962336531643939
-35623865323362643430366532336131343666326239303865333435363962653030376631306434
-33343938656436316162366535363530346337306134343234613532303662336336356262616236
-66663562363664333533343032373736363065336261366531306237363733663838363035633262
-33393230353230613861363639343462313237626362366436386563303534393937363730303436
-64313239323937663937623535643763376666666166663762346634633535373266386162626563
-65383130353437633436363066336130373465363733643934653262633861356437643563373164
-33393637653861653763323461323936323732396130346436316238636137663534393966303735
-636235396664353737373234353163343031
+65376135353439656139313666353039376334326135306435353930663936646634616631316635
+3265363433336637646330326135626639313064313861650a626436613035346365336439343435
+36336162316532663533386530613839656132393032613762313331643238336365363637636462
+3932626436396662340a396263663139303136396232333663373066636330616134313935373732
+35663566666661313164333534616566353633323934313336353633393530616134353533366262
+31326438373062663731396539613338363435663362386365663438316262386339313662323531
+62626661646233623330333736343737303033393262656438663030313237343063396237333864
+30373965636165333831666437336438346363643163656265353638623963313165376365303436
+30363864323835653230313633666332613131363631386538663135323036336437656332353137
+39643331623237303033636364393733343530333466316163633932376637376535363834383132
+35323466666465633932616130666534323432393933633461303462313330623133623838323439
+62306265323233366230353033653066636261396632396539323565643935376562326139396232
+65366163353935393133316435643831393335623631396432386162376563393039643734363665
+39663934323533363530393166333564386465613462356634333565653339623466326336313935
+36333636646461303931376330373934333763613531333465343364656235616561393132383837
+33373338373239356233323530633134336365633434353233656135613138383939663461363138
+61666364313938626231303761376231646435376434383663393035613466656438353165353435
+36646165323436306562383134386561333930313365366632613734633866336262373039306136
+39353530626265366230323930376338623563333730373230643233333434373538373438313761
+38376138373563363866613861313237366231656365613433333338303762643462303563636130
+36326537643330373032653034636437636461356238333362343737623632663636356638616538
+37643763373465396431326634363934376561313834363365643061356361333234303161613865
+37613339393266386366373336326430373561373938633265306430616335633932383039396365
+62663964363435333662326136343363346532363165616332653039653430653732313861323433
+33313762623236353065313439333162303731373964626136663832363831373730376639386231
+36303764613434623136313233636134653939616334663864626330666335303333343762343765
+32316133623535393465373065646365636137626333303363646466363633323461306434626662
+33363837323035653866316662343264663361636632653065356266323763313739666337383166
+32333139353638326637396162373664343831386562386462326462666630666337333061666538
+63383634396131366565396561633163666335396131323365653136383864303037386135323839
+65303031316331363732633631633763383961303535633630643934306463373934626263656361
+65373138636337616533613935306335613236336330396531633162646133373231373263323664
+38383332663237643634613139383537636239306632653331316361643638316538363135623032
+62363161353562666561393531393163356164316365373930353337666562653634363462356131
+36363030323465336261653139623539393738653466366231343262656563626566666539313437
+63633831613562613738316138333366613937643539623136306634653662396131666431653838
+63363034396634396134363763366634356365343539656633653161386437666339643330653064
+33643162663264373836656535663933313765343230303836303630373731353834343036353031
+65656432663761643532616637646163356231616633646564636461363861333037376634353039
+35323666313231633134646661646462303564666639323362306233313539316435363332376139
+63663939386565666539373937356632613532323338316662343939383137653664343234616535
+39393136396432373139303534393630313839333166653666313433353333306435363662396436
+66336136363563616166376337343730343065373933386365643031376532653362343831633938
+35666330383566356161313738303533643436323330383162656165646533666661623836313139
+34393336653133313134666262613830646436303739663361343634663463313962653439363831
+30353837323065396639653137343231656439316364643233303134366662656430666339366537
+39373433383663323065313637333565643465323163663762373766383237343565336335653033
+65663530663538313434323432316336383433363961353633653837633436313234396630313333
+31663764366261396632333232326461366236373366346363356136643937373563336364643635
+62313066363364643162393234326335346633313633623038393731613831626261366632666438
+32626132336162396432613732393966383334636462323837346430373038333834333963313963
+65356431333465646634656535323839363930363035346263326366396361393137663135363166
+37616430643330396636313862323733353762663935663931303934656533363535336662373539
+35666233333464653163333036396232623132363135326235393734353237633538663736343239
+63633438653634303664386566396139313663313164306532313261323034396230616463343232
+33376663313935646366346138303961633964666561306236303761333834303837663861353739
+65613930626534646166356533336461303063383937646336323939376238313464316164633031
+36323939323930343565633431376336343936363166303932636433346230356662343762366339
+35363664363836323864326235333130656264633366343436316262353137396264613963326662
+66353331313833313164
diff --git a/proton-bridge.yml b/proton-bridge.yml
new file mode 100644
index 0000000..5dd15a7
--- /dev/null
+++ b/proton-bridge.yml
@@ -0,0 +1,15 @@
+---
+- hosts: ulna
+  tasks:
+  - name: Copy service file
+    become: true
+    ansible.builtin.template:
+      src: protonmail-bridge-docker.service.j2
+      dest: /etc/systemd/system/protonmail-bridge-docker.service
+
+  - name: Enable service
+    become: true
+    ansible.builtin.service:
+      state: started
+      daemon_reload: true
+      name: protonmail-bridge-docker
diff --git a/templates/protonmail-bridge-docker.service.j2 b/templates/protonmail-bridge-docker.service.j2
new file mode 100644
index 0000000..05db61a
--- /dev/null
+++ b/templates/protonmail-bridge-docker.service.j2
@@ -0,0 +1,10 @@
+[Unit]
+Description=Protonmail Bridge
+
+[Service]
+Type=simple
+ExecStart=docker run --restart unless-stopped -v protonmail:/root -p {{ wireguard_ip }}:1025:25 -p {{ wireguard_ip }}:1143:143 {{ protonmail_bridge_docker_image }}
+Restart=never
+
+[Install]
+WantedBy=multi-user.target