Enable Watchtower for all services #123

Merged
valberg merged 19 commits from watchtower into main 2023-01-21 17:17:56 +00:00
14 changed files with 251 additions and 242 deletions
Showing only changes of commit 44eb59fb86 - Show all commits

3
Vagrantfile vendored
View file

@ -21,9 +21,6 @@ Vagrant.configure(2) do |config|
ansible.playbook = "playbook.yml" ansible.playbook = "playbook.yml"
ansible.ask_vault_pass = true ansible.ask_vault_pass = true
ansible.verbose = "v" ansible.verbose = "v"
ansible.extra_vars = {
base_domain: "datacoop.devel"
}
# If the VM is already provisioned, we need to use the new port # If the VM is already provisioned, we need to use the new port
if provisioned? if provisioned?

View file

@ -1,141 +1,141 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
35343731613336373363633564396639393230633664336338396164303238316564326663643638 66323763353537626539666332316663373864616237386436666239366561366431396430626530
3365306264343434623836656435653436396636353866620a646336316338373866313362363664 3132383163653632383133393861373235623931636136390a353132383763626437373065663430
65363931633031613362383337643038636435303739376131643564633831316435653937353061 64643662393961303936323265343663656431666563653633646532373563663263616634333764
6330306330383865640a643937326634393437313864326361373634373930623464613363663831 3766333631343961370a373237343531383863336632373862663435643239353934626637356365
37373230366262323261316134326333663262643764623639306239623066613335616531613662 30666332626666333530656135343866613161643034383634373736636436636166346562666331
32343331313266363630343465376332303862353834653262306536623538383662366562616635 30396437306263363564363862303737646232623266653032343230303965366338623238343134
34636561663366323434356337376261373039353931636139656437346165656663653233333266 61353835663136383531663765653038323762313932313733646338623931353865363933333338
62353961626665636463396566626330383836383030363032303563633466326339626263306165 39336434373137353738316336663038366334663231616263633565613464306439356235656630
31313266636330653933363630396166333339376564333133623237373962386164616332616438 33396331313036623661353464626263393962306638353433343535613964353966313462613235
39623132663766633331306636613532333739613938333435393633386166333335393565633963 36383563386461353036323164353539616135353761346361313363373266393464363864373633
30363165643038623962353762323338306466353031383531623066363632363033383639393537 33636637366235383264353765383438646130373162323730663363303862333564383439633261
31333037626638353830653538373634666432346166373661313531656466383263323262373565 64663961363161623037393830616466366632633661393463303732323365353665373435633537
38383766343030643939633830343332666165643661363631633963393632666632643361656139 66356166336232366438333533616233363465623034623233363438346139656138336631366231
35346131363539613137396465306663363836666662303932646262383231363634373231373333 33383238633532323665306338643562636135396566663537643733393931316131623262373164
34366636346530383736393532646563643139343764333661663033316432386632393139326439 66393062376666383734393334646463616162363935343363303165393665613066306431366164
39303661333732376433663539383662363232313135663838616231343863326631353434326337 64326564393464646664663839373563353966663063396434313362623664613834626636363233
36313335393262663932666365336334396131393362636637653630653965643662626434323736 33343562343539663332346361316330383830623436306362373966366438653534313561366539
65663966306661646131643962336366643235353863646136613463323337663865323262613461 34356166623562396361356161303739613230333663613232663861313331663233326633643530
33363636386665646538333334373564396333316665343566653662666331666236303438343962 64353933626237636435303736623063373463326265633236653366303039313233623837306132
63396164316561363132306237336365313835346663616339666538643033356637633432383331 65366235663666316631623361303634383539396661323232616338386133373330646365303238
64363964356264643038396139383838616131383466666565383131663331336530663832306635 39306431366337333764373965623563383061323364396564366435376163663139346164323231
30643630623861633939646665326262393635626265323261653339646263386334353064393534 63366435343761303562393933313263303265383237616261663838333430333935626563666162
63303464623433333863386136626566336135346561343964323436643739343037383839373332 31363264356333663337313833353239316163643961393131346136633561623037636130353166
34656439333538653461663764323265303064643165663263316164396633623232626535353863 38646239623433613031646465326431623461383036356266643534346430363033316230656662
64643766623032653838306134376131623564363735386531383732346438343932353966333062 39643636383863336436363134633336613638356635623035313766633335323731343837393536
30613166623138333865343735663530346635383162616635326330636161303863626539663166 31343861336237356234633366643932323366653461373636646131393935656162613238343263
31336333643765303635643862666234643538313033663563663034343632653466626661343639 32333962333239643733333363303233633333383733336262373463623935663531313830653935
33656436393738326135363166623633366331633065373633313864353333316131346664353532 32346334393463636465383738306163326464373961376436663264356165306463353861306361
66646239373166376361326664646263616263323632636235353864656438383038663662376164 37356134346135633137643634656432633366643761616433393239363831323335356639343337
37336431306166366561623836373938366336623866653730353861333431383832313039313739 37623330363333356466636637336563303465343738363638663837653534303364663935313463
61616435666236373463616162653732373766336365313930383665363661356565613461373165 36653333376233343637346365666364393237306531626165333966393663633165356339663765
66636537333333633832366234633066366537646138346233313233376135666666336264316435 66663361643533616539653833303562373834663932626539383363653338636362383633623534
64613030323430343764336465353334633836653133343532386435636136336638313162626462 36653666343835663530393665383863393133353261616139616362353062623137393565323634
33363830396462616662313030316166646531643238363130613036666631643737306138326234 35356163323432303435626336353866303836623064366464336161636162343862333761343030
65323763636363393031616633633338653531633639356238316236303264303034623632626261 64613165646362643366373730643665303261323635313632353439353736376565333662653437
36626639633234396230356236643766306232646230623665633866643434313334303265323465 38396438366539383765653635326265633535363738323835636563666663386435633331616239
66386461323563343236633864396562306165616338306334353563656461346464353930646161 36313166363138653531373061633966633337643530623333646537383231336639343932653634
36653064613736346237363362663835656365616334363238376566316137303737316630316363 32393335636534333963663035303236356436393637363030313031353832623432656233376430
65393139313832353461313634393931633761666531316333373762373265613464303365326338 64333563333433373334643530366164353765346138303730663561356335613239333136326237
66393165366334636431353836336535636233336332336664613263613465393235363235623037 63356566663033313363646664643639386366383765646230343632623061626334623564613338
61313037633761366661303663636364346131326334393765646262393863363062333739376466 34313633326565353839396164663536613561643232353736303336613864313330323638356364
65653434336532323365376233646365323537313131306661306363313864326361646432326632 30633335323438613636343964323431366364633031643235636330623935363266623939336631
64383533313833333466313231353863656634623135386631363864363834633035636632366164 63393733396332636335366539333939383831663039313933343336663539323435373963666131
66356539353264633461396132336435353234333132376130616335613136356364643165346537 33343638303537636134666236616566356234393031343461376439363133393834363565313065
62366630363439336432353066323238363233613032343635663731613134393639656535333736 63333638393236663538616436386164303732383539393261633135643930643435636637373736
32623733333866393565366661643030376137646437616336386530363230376637316436313763 64653333656235656161303166336233393864386263363330643264636263303563636463316364
36323532643763363864336634623132343530333531363231383130333064653233363339646136 65396231393531343265663234366530396665333830343434316433303361333539303734383934
35343165623864646530633731373539356665316164653365303965663862313462313362643637 35383936363435393231353532613534396231366630366461346235613436373537656335393966
34633163363833626635613634633938656334366366316266636532613065333436663633656530 35666661633364326336666238346261616334303936613864633936613130333030343334396235
65623561326565643739303931323539643337373736646663363362646139323333346237353731 30623136343934633636613062353230323961376639373033386132316132623932343432356266
32643739626561396664646537376139326339626235336464343964613761396430343461346639 31333037656630333761633236303136633235636138653133363430613963393738383032643737
33326631373030653637393865333837386432333634653066353366613334396639626631653737 36363037353630643137396661393736383035663963653465613437663865393565626438353264
34353831386366636663323761656431663965303561636236366538393261653333396537326461 61646330343730656539373866363666393636373962366131306264313364366530653035373031
31323332613737646364616565393534306131323234633933636638333637623661343334383561 61306461323038353261353430323133386135623433306564326237643334326264643932316434
30323464373365626662323062363135333932666163323235633131303566323964343734383238 61623066323935373761616463636537666133303863333161393361626661623632656637336639
32376435363737373336363363613738366337626162333236643738373266633933363162303833 36383538346633393265323130633037616364613934376337326566656237373363393738386366
37366631343933313934313463363834643835333766663361303335313539363839663231333963 36386335646432646234336137623663336637323461663538316232656130633863336330383363
66326261323631386532346637376132646263303466383330373833633034373933616538306330 34646530353539336432633165353039663338653139396365373664393030663164666432313265
33386334306330346161633131386130636634643531633233376337343637363235356135383366 63396563306138383166396366616638373631616637633330666463343035333633346437393664
31366463323831636438646262613239663830333531386330326131643032653033336339643561 64353736626432393632643263616139653131663264313466306664616437323739613936653839
64636439323065343564306163303134623439343963383136633864623633363364646535666565 36653366396336376430623962373361343762363465373133663739313536323263633164373230
31393564316234343066303664396534386537303364343234303832346331326430386432636332 35613466643839643831623138393137316661386234336131633763303731393663373364616131
38316565346433663639646330393339303530623636386332633666656363376239383535386134 36383834633738326234663765383662383832323465383534353834633461333265656539633238
35376135306461333237383562356162326338363435643133653838343535326535326337376130 64646665323938613735366165353361356236636163626535376131303464353365366234646438
37306462633835666132653466373163613566633863343363653539343239316233616661633532 65316531356239663838323130393061646562653464633230353337316133333036626161336432
64386538363163653963363331623531313237636431343934643136656536323734636261656333 66303438633139333964633766366262333235303262653733383934313638343336633566666338
39636132613431653562393238346565323330656539666230643566633663316239353436383566 31633132653738326439326439616630323636666361646634663334366566396234633065626162
64303535353031636662643062326565313837393932346431326137316337376361363338383533 38643565353738616232666330326365633264646637623836323761343866336635393436336331
34613632323230393233666437346466626232363636636636393836333832633335393734343565 33663830643934633163353438343436303030343531666335326236376564333466343163643430
33333461343530333135663436343333623966363230666330323562363136383166666665333861 35393031333834366335656431313033643936313839316431396333386135663761633562626163
65366436643363383331353361656434336631396437616562303861666263353533313738326138 39366438393532363430326432356135356532646162306333663163613031336136353132656538
33653735333230636437643038633763343063336262386663313237653661346262653834616665 31653762386538656663346263663531653063626463326534636337303639303561626334633935
37343834323937623761386639653736313232323166373561643235336261306430393533376139 65666139663461343466643861393762316330316431613765653239316537616434626535396139
31653132613331626435623333343862393038643364616236626466333338646639663930663436 35376434356533656336623839656138386565303266396532303665346264623034643664656137
66636462646130653537343739646437363130313766636438663130616665333232396331303531 62633064356566366438626331633933373630363164373434613233386535633532653130376436
30373762343531383239653132633363386239643666316166363931326563343633653433383538 34353336633966313365373439623633353364393838343335306665383361323766353431393662
36333733626363626464636435626131653439313862666230393334353938356436376664323961 31356533333834383832333031386365316461376563646561646333313063393532303162393231
62326566646463396536633265333461306430616437646630363239653333643732366430373133 61336165663938363437396564626430376362353736623232653430613464626234326234663335
32323636636161623932376235383430366661636439643565366532376239613366303039376434 37373633306533363830353662633038306139626136663839383631623230396333313937653733
39646437363636633265313838616463383231643030643732306364333161656236303131333533 39313163316161326263306530353465336363626530333966343934373866303664316536363466
62343539613264383830306639303164643233653032616566646163656564356262323065303134 33343766393561643864366665353239366336323335656665303735326633323432333938323862
61613563646538316232353833636536633435336663326262663062663030326234316131353835 66656230373937396465323731616133336533383966353564663364303538613362313139343865
34363564306335356633343438396434363261646665653665633235303932383266393630623238 64383233613038626437613162663232373666363062373531373331343237306135333230303636
31323037336566633035366464386232616561383566343061343031623630383238643433376231 31626537633637653961666638393330643932656234316363323339353930303738346336646266
64633634616133386138326138393138353937363332646637663363363064393065336438303932 63346234333833376563656264383834363630613932306262376666356663613831393732636532
38393139306330396338646233366235316435313838633563353838303832616630633731323535 64333638616364633965383034356232373065333232623961643239326565623063386339303064
31393039306630613734343433633662343831313336616561656136323039333235383733363364 64653162663239376335383732383838386631333837323238393366363836373463656639646261
66383836363239376539316362646232356636336665316664653565653439353932663433346438 32616238363463333339393138303333326461666663303238343839376632323539396235373766
65306365623334656133636332393265643163313939363537323738646664326364343064396337 66356464393739616138346235643564386664393130613336343235633531646530306236616361
37383637383064643763363135386434316664306231376462653066653063313962316231386162 61656465666566336132383035393636356134633131666438363661646364323764373961343864
63343533386262616631333233316330666263656532306466623733343764646361666165393863 33613963343961626665353733356432346439646638643939626562326364386533366135306433
62326435346532623635343535353263626566313061643563613937346562643962386565396439 34343961323537333233383633343635383436363232666166336131323262613135393532616161
62616661626464613366656462353932323732313062363566316562396134346433376237326664 38633635646563646563303262383461333439653562383564303261303033376337343831343431
39333238346464393930653435363336333365323537356531313830626437303736333635356534 35343632633138626364313433656364613439633531343136316436613231373233326362663736
62653766323065373662366162333363343466373135623262663436626438306337333365633633 33323664306430336235666238336631303735626630336139353764643366353931306437653039
37333931623434666564366430666462343162303030643733623637656337393763393437656335 34383433323662306164363462333934333463646136386564323764663862366235373632666662
36393162363765383464316562306532336265373130623566646134666337333133363863373964 30386266373830636664613332353265366164353035306232353230393838303363613666396539
33666437323733396139653436323262383336306561643738366463646461646462333338623662 66386663366439373566396334653335633662323230656132666631306432663836616462346264
30656135343934633335376634326533313663653761656235626165313834356464636535326439 63346338666337663062626532353835316135616661323563636662333238653933613530313765
32343834316433393236353739646663393930663635646366623835633363653662626535366361 30303864653037393131626631633338326235656632656339326463383061393635346333373730
64626561613064646431306634393330333265366530353063653132353735663564326563323961 65386631336462363436346166366130383235396664303631383065666566343461393838633739
39663535346539326165313263383933653633306330303930376336316632636537363437663063 63636334333462666131393430663335383466313762666134393062373238653730633864323137
64376465663634363838623230386139636231353665616165323065633661343339373432373732 66643639383265656338323063356463626531346561336164656364633733343731373833376261
63356130653535303934396335306566646538383938636331333362353534366632663930393732 33616663323837333266646635393564383439613630336566383336313036333933333230666230
37353365343532646137343631383833616430326631323564666361323934383839303130636333 34646334306666626138333233343332366237646165636538326264663635373438656431636435
38653139303663356337376261616463303665623431613963643137356439326162386337326161 35666334323035663933333764313564393536663335336561343734343662623939336531303235
61383434383534353732343733326139313462396432366336653139363466653336626338366365 64393333313962333737616639663234393833633332643430326163323865613632663463346635
31386438333438633465666337393732343533373363646234383265323132303433316135396232 35326632626363346536663563616334663366613734616562626165376335613165306531303932
39373764333863626634343636306533393361643135323531383963366137626464353064613065 65623031386563326665303536646531306235613034336263393436363536303565656138303931
61623063303865646161363432643765323361363364383635646538636232353337636235613861 30663237306161626130653663663365323030613635343563653465386561626361353532643737
36396631383639633263303131383537326464313433663032346230386432633864613335616533 36626466626234376462373732653936326363376639613563653361366339363538383431383136
61373238363930653866643933623561613363333139373135633332643563613838346434623033 61303134333665393039633263323238623539653233323732363163353762623730306366306134
34353161396433663632656633356536323662386332626566393636323463363334613234376137 65663661633331393137396661313530663638383236656333393638356164643537663935343063
38643465656262656236666332383361616164366230323936346565303961333761613136353435 34383039363832623663323661663530303534636635653631393536653837333766616161623839
63643839636464323362396235333738626132393030393737373438393032323931643936306239 38383830326266353362613232643036393365633261333933363931313830666537363338633337
31643537353462626238306563316132663139393635356631373839653462613238323831303537 66303166393430653263646338653539316234613432373763393664636631383737306236643431
33626362636362383530386333343266383061646436353635396230396231343364323631343037 33396234386562346165346239343838323133653461646165643538666231323561376166393231
65663363656463393234313465386233663635626333346132353539366464653532333830326661 39333534393961656234373235616332306639373764653164393232363535646239383432343963
64343136323366346239373737666435366363663237663039636631656266333562376532396661 36343134363631626434323335303136346536393266363735316437333165366538373535333866
35666430626233333166356139613233306536303365313262363366316135326662636166393031 36626537636465376533616130363564626238356162623539316133306663333763393033333663
38356661396232366236303732326666353864353735336161326663623030343766633266623236 63383462643938373262643435623132653730346564383537633537303034326366616661393062
65626237636133626335656663323533386236353164303230313237643130386133613466613933 31316532383035383632633535303564626238613438653265366261663033326463316366656266
31343261356632643265623866373965326561363538326336656561373631373938343334653662 65636462323832353565383334646239393636323635623230343537646338613861633532343962
32616366373839373737393262633064666437303538386363616431386138346439353534623631 36616432653936356266626533383433376663373838653533366631386262353337383236373166
63323063346564646462313034623630396462623565646430363338393239343761396235303863 33373139323765326135356431613235346431623931333362663463646630336332616337333535
31636531323732303230626437363764306631366363643766633734353336373564393731366238 34336130366564303136653933303233663538353561396430313937363536663961333431323435
32623563633661646465396136396462663363376333613434666632383637616133626132616362 35316537393462316334366163346663623933653861376637336338383837303233623434353238
61343032643966323539353033643136616463353563666462313731386261633333623832643439 34383866636361333061393630376431323165353036373435646566326461333737313038656135
38323666666330356538313730306334336433613364313065313761636261363433356438323136 31623466316339353463393165626236333763396434396638646461393434353132373030613633
61343233643138646263626333306265366239613266646663323733636162323332643531643331 32393032353730656562666431383236653461656566643332363034636134653737343537306136
39396433636233366365336166356661623132656261656666386361326164643634366436303737 65316437376265323439326234653363353336343631363630613533303837313535306666313461
61653832373162356634313163363233323964303738366266376665346365396635343332396166 63623339383432353739616664396666336638316131653133363066633461646336356636376534
35393263373732313734353332663238326563366534623131386233633365303664616562386231 34663730666436613733336439653031306561616263373235346461306335616166303637343462
36326138356230663731306339666138343161386331313137313861633039303930623663646333 38663364636536663764383164306436373563346562643038613065336366363939376136646332
65336461653033333332323162363539663366653762303266656366386665396463626265303264 65353261346434316534313766633139623937366265316130646138656535303031626230326463
35666437663966663130633663643861326563336466633133646562383230363332646639616436 32653530613139313534316132653531613438313339333163376665666539313661663430353336
36656137653061303262633736653433343838323666646261386266353735326564386465646334 32663930326561646536393232393730386464643364366130356464633934316261643435303734
34633339336336613531666132633832363838343333353862333136616532613462343364616539 39363666333362396266343331633266653539343862386535363736333363623035353866363335
37363437613236323235383936613763383966366265303731303034373430333936366339323437 64626339313631306266373338323163393632353433643036353762396162666562653831623235
32303537653062663233 39373332626536323866

View file

@ -7,7 +7,7 @@ services:
postfix: postfix:
file: postfix.yml file: postfix.yml
domain: "smtp.{{ base_domain }}" domain: "smtp.{{ base_domain }}"
version: "v3.5.1" version: "v3.5.1-alpine"
nginx_proxy: nginx_proxy:
file: nginx_proxy.yml file: nginx_proxy.yml
@ -42,6 +42,7 @@ services:
domain: sso.{{ base_domain }} domain: sso.{{ base_domain }}
volume_folder: "{{ volume_root_folder }}/keycloak" volume_folder: "{{ volume_root_folder }}/keycloak"
version: "20.0" version: "20.0"
allowed_sender_domain: true
restic: restic:
file: restic_backup.yml file: restic_backup.yml
@ -117,6 +118,16 @@ services:
- "{{ base_domain }}" - "{{ base_domain }}"
- "www.{{ base_domain }}" - "www.{{ base_domain }}"
new_data_coop_website:
file: websites/new.data.coop.yml
domain: "new.{{ base_domain }}"
version: hugo
slides_2022_website:
file: websites/2022.slides.data.coop.yml
domain: "2022.slides.{{ base_domain }}"
version: latest
cryptohagen_website: cryptohagen_website:
file: websites/cryptohagen.dk.yml file: websites/cryptohagen.dk.yml
domains: domains:
@ -144,7 +155,7 @@ services:
mailu: mailu:
file: mailu.yml file: mailu.yml
version: 1.6 version: 1.9
domain: "mail.{{ base_domain }}" domain: "mail.{{ base_domain }}"
dns: 192.168.203.254 dns: 192.168.203.254
subnet: 192.168.203.0/24 subnet: 192.168.203.0/24
@ -161,16 +172,20 @@ services:
file: rallly.yml file: rallly.yml
domain: "when.{{ base_domain }}" domain: "when.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/rallly" volume_folder: "{{ volume_root_folder }}/rallly"
version: a21f92bf74308d66cfcd545d49b81eba0211a222 version: ac55701890cd866ee946deb25e2b2839fb14900e
allowed_sender_domain: true allowed_sender_domain: true
pinafore: pinafore:
file: pinafore.yml file: pinafore.yml
domain: "pinafore.{{ base_domain }}" domain: "pinafore.{{ base_domain }}"
version: v2.4.0 version: v2.5.0
membersystem: membersystem:
file: membersystem.yml file: membersystem.yml
domain: "member.{{ base_domain }}" domain: "member.{{ base_domain }}"
django_admins: "Vidir:valberg@orn.li" django_admins: "Vidir:valberg@orn.li"
allowed_sender_domain: true allowed_sender_domain: true
watchtower:
file: watchtower.yml
version: amd64-1.5.1

View file

@ -0,0 +1,2 @@
server_name www.data.coop;
return 301 $scheme://data.coop$request_uri;

View file

@ -18,9 +18,13 @@
- name: install docker python bindings - name: install docker python bindings
pip: pip:
executable: "pip3" executable: pip3
name: "docker-compose" name: "{{ packages }}"
state: present state: present
vars:
packages:
- docker
- docker-compose
- name: create folder structure for bind mounts - name: create folder structure for bind mounts
file: file:

View file

@ -1,5 +1,4 @@
--- ---
- name: create mailu volume folders - name: create mailu volume folders
file: file:
name: "{{ services.mailu.volume_folder }}/{{ volume }}" name: "{{ services.mailu.volume_folder }}/{{ volume }}"
@ -7,13 +6,19 @@
loop: loop:
- redis - redis
- certs - certs
- overrides
- data - data
- dkim - dkim
- mail - mail
- mailqueue
- filter - filter
- dav - postgres
- webmail - webmail
- overrides
- overrides/nginx
- overrides/dovecot
- overrides/postfix
- overrides/rspamd
- overrides/rainloop
loop_control: loop_control:
loop_var: volume loop_var: volume
@ -45,22 +50,27 @@
definition: definition:
version: '3.6' version: '3.6'
services: services:
postgres:
image: postgres:14-alpine
restart: always
environment:
POSTGRES_DB: mailu
POSTGRES_USER: mailu
POSTGRES_PASSWORD: "{{ postgres_passwords.mailu }}"
volumes:
- "{{ services.mailu.volume_folder }}/postgres:/var/lib/postgresql/data"
dns:
- "{{ services.mailu.dns }}"
redis: redis:
image: redis:alpine image: redis:alpine
restart: always restart: always
volumes: volumes:
- "{{ services.mailu.volume_folder }}/redis:/data" - "{{ services.mailu.volume_folder }}/redis:/data"
depends_on:
database: - resolver
image: mailu/postgresql:{{ services.mailu.version }} dns:
restart: always - "{{ services.mailu.dns }}"
env_file: "{{ services.mailu.volume_folder}}/mailu.env"
volumes:
- "{{ services.mailu.volume_folder }}/data/psql_db:/data"
- "{{ services.mailu.volume_folder }}/data/psql_backup:/backup"
networks:
- default
- external_services
front: front:
image: mailu/nginx:{{ services.mailu.version }} image: mailu/nginx:{{ services.mailu.version }}
@ -72,7 +82,7 @@
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
volumes: volumes:
- "{{ services.mailu.volume_folder }}/certs:/certs" - "{{ services.mailu.volume_folder }}/certs:/certs"
- "{{ services.mailu.volume_folder }}/overrides/nginx:/overrides" - "{{ services.mailu.volume_folder }}/overrides/nginx:/overrides:ro"
expose: expose:
- "80" - "80"
ports: ports:
@ -101,6 +111,9 @@
- "{{ services.mailu.volume_folder }}/dkim:/dkim" - "{{ services.mailu.volume_folder }}/dkim:/dkim"
depends_on: depends_on:
- redis - redis
- resolver
dns:
- "{{ services.mailu.dns }}"
imap: imap:
image: mailu/dovecot:{{ services.mailu.version }} image: mailu/dovecot:{{ services.mailu.version }}
@ -108,16 +121,20 @@
env_file: "{{ services.mailu.volume_folder}}/mailu.env" env_file: "{{ services.mailu.volume_folder}}/mailu.env"
volumes: volumes:
- "{{ services.mailu.volume_folder }}/mail:/mail" - "{{ services.mailu.volume_folder }}/mail:/mail"
- "{{ services.mailu.volume_folder }}/overrides:/overrides" - "{{ services.mailu.volume_folder }}/overrides/dovecot:/overrides:ro"
depends_on: depends_on:
- front - front
- resolver
dns:
- "{{ services.mailu.dns }}"
smtp: smtp:
image: mailu/postfix:{{ services.mailu.version }} image: mailu/postfix:{{ services.mailu.version }}
restart: always restart: always
env_file: "{{ services.mailu.volume_folder}}/mailu.env" env_file: "{{ services.mailu.volume_folder}}/mailu.env"
volumes: volumes:
- "{{ services.mailu.volume_folder }}/overrides:/overrides" - "{{ services.mailu.volume_folder }}/mailqueue:/queue"
- "{{ services.mailu.volume_folder }}/overrides/postfix:/overrides:ro"
depends_on: depends_on:
- front - front
- resolver - resolver
@ -126,12 +143,12 @@
antispam: antispam:
image: mailu/rspamd:{{ services.mailu.version }} image: mailu/rspamd:{{ services.mailu.version }}
hostname: antispam
restart: always restart: always
env_file: "{{ services.mailu.volume_folder}}/mailu.env" env_file: "{{ services.mailu.volume_folder}}/mailu.env"
volumes: volumes:
- "{{ services.mailu.volume_folder }}/filter:/var/lib/rspamd" - "{{ services.mailu.volume_folder }}/filter:/var/lib/rspamd"
- "{{ services.mailu.volume_folder }}/dkim:/dkim" - "{{ services.mailu.volume_folder }}/overrides/rspamd:/etc/rspamd/override.d:ro"
- "{{ services.mailu.volume_folder }}/overrides/rspamd:/etc/rspamd/override.d"
depends_on: depends_on:
- front - front
- resolver - resolver
@ -139,13 +156,14 @@
- "{{ services.mailu.dns }}" - "{{ services.mailu.dns }}"
webmail: webmail:
image: mailu/rainloop:1.6 image: mailu/rainloop:{{ services.mailu.version }}
restart: always restart: always
env_file: "{{ services.mailu.volume_folder}}/mailu.env" env_file: "{{ services.mailu.volume_folder}}/mailu.env"
volumes: volumes:
- "{{ services.mailu.volume_folder }}/webmail:/data" - "{{ services.mailu.volume_folder }}/webmail:/data"
- "{{ services.mailu.volume_folder }}/overrides/rainloop:/overrides:ro"
depends_on: depends_on:
- front - imap
- resolver - resolver
dns: dns:
- "{{ services.mailu.dns }}" - "{{ services.mailu.dns }}"

View file

@ -36,11 +36,6 @@
src: files/configs/riot/riot.im.conf src: files/configs/riot/riot.im.conf
dest: "{{ services.riot.volume_folder }}/data/riot.im.conf" dest: "{{ services.riot.volume_folder }}/data/riot.im.conf"
- name: upload vhost config for root domain
template:
src: files/configs/matrix/vhost-root
dest: "{{ services.nginx_proxy.volume_folder }}/vhost/{{ base_domain }}"
- name: upload vhost config for matrix domain - name: upload vhost config for matrix domain
template: template:
src: files/configs/matrix/vhost-matrix src: files/configs/matrix/vhost-matrix

View file

@ -2,12 +2,12 @@
- name: watchtower container - name: watchtower container
docker_container: docker_container:
name: watchtower name: watchtower
image: containrrr/watchtower:amd64-1.5.1 image: containrrr/watchtower:{{ services.watchtower.version }}
restart_policy: unless-stopped restart_policy: unless-stopped
networks: networks:
- name: external_services - name: external_services
env: env:
WATCHTOWER_POLL_INTERVAL: 60 WATCHTOWER_POLL_INTERVAL: "60"
volumes: volumes:
- "/var/run/docker.sock:/var/run/docker.sock" - "/var/run/docker.sock:/var/run/docker.sock"
- "/root/.docker/config.json:/config.json:ro" - "/root/.docker/config.json:/config.json:ro"

View file

@ -1,19 +1,17 @@
--- ---
- name: setup 2022.slides.data.coop website using unipi - name: setup 2022.slides.data.coop website using unipi
docker_container: docker_container:
name: 2022.slides.data.coop_website name: 2022.slides.data.coop_website
image: docker.data.coop/unipi:latest image: docker.data.coop/unipi:{{ services.slides_2022_website.version }}
restart_policy: unless-stopped restart_policy: unless-stopped
purge_networks: yes purge_networks: yes
networks: networks:
- name: external_services - name: external_services
env: env:
VIRTUAL_HOST: "2022.slides.{{ services.data_coop_website.domains|join(',') }}" VIRTUAL_HOST: "{{ services.slides_2022_website.domain }}"
LETSENCRYPT_HOST: "2022.slides.{{ services.data_coop_website.domains|join(',') }}" LETSENCRYPT_HOST: "{{ services.slides_2022_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
# Temporarily hosting on github command: "--remote=https://git.data.coop/data.coop/slides.git#slides2022"
command: "--remote=https://github.com/sorbusursina/datacoop-slides.git#slides2022"
capabilities: capabilities:
- NET_ADMIN - NET_ADMIN
devices: devices:

View file

@ -1,4 +1,13 @@
--- ---
- name: Upload vhost config for root domain
copy:
src: files/configs/matrix/vhost-root
dest: "{{ services.nginx_proxy.volume_folder }}/vhost/{{ base_domain }}"
- name: Upload vhost config for WWW domain
copy:
src: files/configs/vhost-www
dest: "{{ services.nginx_proxy.volume_folder }}/vhost/www.{{ base_domain }}"
- name: setup data.coop website docker container - name: setup data.coop website docker container
docker_container: docker_container:

View file

@ -1,18 +0,0 @@
- name: setup new-new data.coop website using unipi
docker_container:
name: new-new.data.coop_website
image: docker.data.coop/unipi:latest
restart_policy: unless-stopped
purge_networks: yes
networks:
- name: external_services
env:
VIRTUAL_HOST: "new-new.{{ services.data_coop_website.domains|join(',') }}"
LETSENCRYPT_HOST: "new-new.{{ services.data_coop_website.domains|join(',') }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
# The ssh-key is for read-only only
command: "--remote=git@git.data.coop:halfd/new-website.git#main --ssh-key ed25519:Ag9RekCyC2eow4P/e5crVvSTQ7dTK46WkG0wqEPVJbU= --ssh-authenticator SHA256:l9kdLkb0kJm46pOJ4tCHCtFUaqV1ImbZWMA5oje10fI"
capabilities:
- NET_ADMIN
devices:
- "/dev/net/tun"

View file

@ -1,13 +1,12 @@
--- ---
- name: setup new data.coop website using hugo - name: setup new data.coop website using hugo
docker_container: docker_container:
name: new.data.coop_website name: new.data.coop_website
image: docker.data.coop/data-coop-website:hugo image: docker.data.coop/data-coop-website:{{ services.new_data_coop_website.version }}
restart_policy: unless-stopped restart_policy: unless-stopped
networks: networks:
- name: external_services - name: external_services
env: env:
VIRTUAL_HOST : "new.{{ services.data_coop_website.domains|join(',') }}" VIRTUAL_HOST : "{{ services.new_data_coop_website.domain }}"
LETSENCRYPT_HOST: "new.{{ services.data_coop_website.domains|join(',') }}" LETSENCRYPT_HOST: "{{ services.new_data_coop_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"

View file

@ -1,8 +1,6 @@
# Mailu main configuration file # Mailu main configuration file
# #
# Generated for compose flavor # This file is autogenerated by the configuration management wizard for compose flavor.
#
# This file is autogenerated by the configuration management wizard.
# For a detailed list of configuration variables, see the documentation at # For a detailed list of configuration variables, see the documentation at
# https://mailu.io # https://mailu.io
@ -10,21 +8,9 @@
# Common configuration variables # Common configuration variables
################################### ###################################
# Set this to the path where Mailu data and configuration is stored
# This variable is now set directly in `docker-compose.yml by the setup utility
# ROOT=/mailu
# Mailu version to run (1.0, 1.1, etc. or master)
#VERSION=1.6
# Set to a randomly generated 16 bytes string # Set to a randomly generated 16 bytes string
SECRET_KEY={{ mailu_secret_key }} SECRET_KEY={{ mailu_secret_key }}
# Address where listening ports should bind
# This variables are now set directly in `docker-compose.yml by the setup utility
# PUBLIC_IPV4= 127.0.0.1 (default: 127.0.0.1)
# PUBLIC_IPV6= ::1 (default: ::1)
# Subnet of the docker network. This should not conflict with any networks to which your system is connected. (Internal and external!) # Subnet of the docker network. This should not conflict with any networks to which your system is connected. (Internal and external!)
SUBNET={{ services.mailu.subnet }} SUBNET={{ services.mailu.subnet }}
@ -40,8 +26,11 @@ POSTMASTER=admin
# Choose how secure connections will behave (value: letsencrypt, cert, notls, mail, mail-letsencrypt) # Choose how secure connections will behave (value: letsencrypt, cert, notls, mail, mail-letsencrypt)
TLS_FLAVOR=mail TLS_FLAVOR=mail
# Authentication rate limit (per source IP address) # Authentication rate limit per IP (per /24 on ipv4 and /56 on ipv6)
AUTH_RATELIMIT=120/minute;1200/hour AUTH_RATELIMIT_IP=1200/hour
# Authentication rate limit per user (regardless of the source-IP)
AUTH_RATELIMIT_USER=100/day
# Opt-out of statistics, replace with "True" to opt out # Opt-out of statistics, replace with "True" to opt out
DISABLE_STATISTICS=True DISABLE_STATISTICS=True
@ -57,13 +46,10 @@ ADMIN=true
WEBMAIL=rainloop WEBMAIL=rainloop
# Dav server implementation (value: radicale, none) # Dav server implementation (value: radicale, none)
WEBDAV=radicale WEBDAV=none
# Antivirus solution (value: clamav, none) # Antivirus solution (value: clamav, none)
#ANTIVIRUS=clamav ANTIVIRUS=none
#Antispam solution
ANTISPAM=none
################################### ###################################
# Mail settings # Mail settings
@ -74,6 +60,9 @@ ANTISPAM=none
# Max attachment size will be 33% smaller # Max attachment size will be 33% smaller
MESSAGE_SIZE_LIMIT=50000000 MESSAGE_SIZE_LIMIT=50000000
# Message rate limit (per user)
MESSAGE_RATELIMIT=200/day
# Networks granted relay permissions # Networks granted relay permissions
# Use this with care, all hosts in this networks will be able to send mail without authentication! # Use this with care, all hosts in this networks will be able to send mail without authentication!
RELAYNETS= RELAYNETS=
@ -98,11 +87,14 @@ WELCOME_SUBJECT=Welcome to your new email account
WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly! WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly!
# Maildir Compression # Maildir Compression
# choose compression-method, default: none (value: bz2, gz) # choose compression-method, default: none (value: gz, bz2, lz4, zstd)
COMPRESSION= COMPRESSION=
# change compression-level, default: 6 (value: 1-9) # change compression-level, default: 6 (value: 1-9)
COMPRESSION_LEVEL= COMPRESSION_LEVEL=
# IMAP full-text search is enabled by default. Set the following variable to off in order to disable the feature.
# FULL_TEXT_SEARCH=off
################################### ###################################
# Web settings # Web settings
################################### ###################################
@ -135,17 +127,16 @@ WEBSITE=https://{{ services.mailu.domain }}
# LOG_DRIVER=json-file # LOG_DRIVER=json-file
# Docker-compose project name, this will prepended to containers names. # Docker-compose project name, this will prepended to containers names.
COMPOSE_PROJECT_NAME=mailu COMPOSE_PROJECT_NAME=mail_server
# Default password scheme used for newly created accounts and changed passwords # Number of rounds used by the password hashing scheme
# (value: BLF-CRYPT, SHA512-CRYPT, SHA256-CRYPT, MD5-CRYPT, CRYPT) CREDENTIAL_ROUNDS=12
PASSWORD_SCHEME=BLF-CRYPT
# Header to take the real ip from # Header to take the real ip from
REAL_IP_HEADER= REAL_IP_HEADER=X-Forwarded-For
# IPs for nginx set_real_ip_from (CIDR list separated by commas) # IPs for nginx set_real_ip_from (CIDR list separated by commas)
REAL_IP_FROM= REAL_IP_FROM={{ services.mailu.subnet }}
# choose wether mailu bounces (no) or rejects (yes) mail when recipient is unknown (value: yes, no) # choose wether mailu bounces (no) or rejects (yes) mail when recipient is unknown (value: yes, no)
REJECT_UNLISTED_RECIPIENT= REJECT_UNLISTED_RECIPIENT=
@ -153,8 +144,15 @@ REJECT_UNLISTED_RECIPIENT=
# Log level threshold in start.py (value: CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET) # Log level threshold in start.py (value: CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET)
LOG_LEVEL=WARNING LOG_LEVEL=WARNING
# Timezone for the Mailu containers. See this link for all possible values https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ=Europe/Copenhagen
################################### ###################################
# Database settings # Database settings
################################### ###################################
DB_FLAVOR=postgresql DB_FLAVOR=postgresql
DB_USER=mailu
DB_PW={{ postgres_passwords.mailu }} DB_PW={{ postgres_passwords.mailu }}
DB_HOST=postgres
DB_NAME=mailu

View file

@ -14,11 +14,3 @@
apt: apt:
name: srvadmin-all name: srvadmin-all
when: not vagrant when: not vagrant
- name: Install necessary packages via pip
pip:
name: "{{ packages }}"
vars:
packages:
- docker
- docker-compose