diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml index d89da28..fa3aff1 100644 --- a/group_vars/all/vars.yml +++ b/group_vars/all/vars.yml @@ -78,4 +78,8 @@ pve_targets: site: ffrgb site_domain: regensburg.freifunk.net +speedtest_domain: speed.regensburg.freifunk.net +speedtest_domains: speed.ffrgb.net speed.regensburg.freifunk.net +speedtest_secret: "{{ vault_speedtest_secret }}" + tileserver_domain: tiles.regensburg.freifunk.net diff --git a/group_vars/all/vault.yml b/group_vars/all/vault.yml index af901f4..e1aa331 100644 --- a/group_vars/all/vault.yml +++ b/group_vars/all/vault.yml @@ -1,151 +1,154 @@ $ANSIBLE_VAULT;1.1;AES256 -36396532616163303161303134326565316637343336613531663031376439303930306532373063 -3765313339353437393633373035663661623461343132380a373536646632346364663662626665 -37373532633937623030393735383164376233383838613635353565333763626430616630636536 -6635373636383462610a326662393234333166373834323834353537363239616639343531616339 -63383939313735653364383137346166306639633637636137353832666333633963633363663265 -39356136613639643135633534636264393838376431336462363030363463643232663534313261 -64373861313135623264316135646234376230653863633863366538353736653964363137303533 -63623730396338643738313432343962666461653136333361383033623161376662346165626338 -33356162376536303363343363343830383365323737636334323632306261336538356639306632 -39333166353830386537383033396465343461396330386238653961386237336234376533633931 -64653331326263343063306230653265643731323732353437643161383238376664636562383561 -31376561373130636561366333306139636533363933313566363537363238343462323539313439 -30393035643138666435393237383039623735353963353039323966666130393638306565333631 -64653432623664346637656134643963323233376535333731653466633064306365306164643337 -61306661356531623737386439373465636339643435343838393863333034383437343832383134 -64666332613865306438643830376665623435376632373362356363343339363533303433313939 -33623636616334646536663333383031396666376562366335656666363233636265643435383334 -39656432383035323334373639326535306237643336663232633566663837663466383331336261 -32383238353137333731386331623264633338373964653261643865353162623232393930333432 -38323065343865643135653535623934613634636465333865353465326139613130376134396132 -62366539396432633935663930663063363536393331393666616438396231643938306139313033 -31623237646135633237343566646436363864303334373861306430626131366430666634303862 -34663163373263366561306336336535656465326633613535343665343361373936346431363538 -34303565336132646461656135623463373832396533316132313139303133303565616434663138 -62663561663530363834623130313464623465653139343033313132366665636535666639323162 -62316666643532353166373430633832643434356664346337633738623739353835313539666130 -66633931306330363532363630626162353066316565643235636162393532393234646230363131 -37666166393666313661663863643866656236313935356131313230313861636631643034643662 -64393866633064383164643365363038626536663831393432363661383736306663356563313734 -63363363363531623634363835363364303137646335373662313764323263306539386435663631 -39396234623064636531653063326562383235333865393935376265393932633763613838343733 -34353663313462313437316534663239353535313434646431663862393561613264626634643864 -31633734633963346634376165343435666538313932343230343237363839323764633835623337 -62653466376265343639343064366461653964303337363561306138363534613036376338373266 -65376432396234383661653330613465623735373834393836646439616634613865323236666264 -31336363373063346231376164663930336539633363306633393938643234373065343164613738 -30343831383432343931336633633830653736303061383634666337613930396262393334663561 -38343232613361333564653362306139346130643530373938366332396535636630353536646336 -37623962353933326561346636303338333934356230356363303938613566343365626431633134 -35636432396166653835643234396662663463313063636564663835326366613739313531356431 -36353664316461396366356233623236373230616534393136626231376436343538326163623764 -66306264643562316563323062323637383131363062373362613061363736353430363137623161 -32356630363866383064626538313739663335633235646435663134396537316165383334333464 -33626430303630663565396665383265313663643264616566646639376134646233336332373264 -33613462663539666432646666303533343837636438373261303232663864626566373732316339 -64646564633930653437646137656466343135326562626531353265666134656665396163636534 -33343135393237363234336363656263666530396635386132663530386631363066663234363265 -66343264343837396165626138373835656237626236626130316134303131353539313732666463 -30373661666232646438393662653535373433353762376264666536306130613531616462313830 -35626461633538343261623636373236333336636436343438626338316236373039303737386438 -39316433353739633264336535653561383039313734646139393961653537313562633266363338 -38336236363166393964336461323430393639393866653337366564636538396338656339626136 -35396566616634656137653438306136663831326166663338323531336364646332646162323430 -38383234653565623062636135333136613039663362623230366364343635356234386631373664 -33373965393033336235356266336331306366613065396139316363316133616265646232623762 -32346331616236663231326631366364393735303163626335643730656233353236636633303939 -63383965353137363062313265623733313338613966643563363466396333356262643065363666 -66346333366566376336366662363632623536356564313334343135633136663632656262323334 -64336135373163383339336664346632646535386536386361386336363138373130316438663062 -37353231663130303838333932323532653365323238333737643866356163383032393934346530 -33636565326138613963396432323838663037366463343633613730613339343266373233393063 -38656264613530373262333937313037373431326665356339313638323334346464623936643035 -33616630336464396531396365366462333265313239323966633563656332373164623536303963 -31633437343130613039303131363264623232633232656332653138333161666233376233316639 -33386636336263333463636438383231666466373934323235326366356263633563393664383939 -35326562656166616264313937636432643265636565623335326237333432343238383536303735 -38643333383834343633366366373639323738613433326665633362316563306161386230653363 -33386463323765663838326331666433313563343266623063363962373961333064343964393439 -38633036376138383936663031343835353865333635653861653131383535343939356631656532 -62656464623263626464613365386234353632303734643631633435626133383538376136643335 -31333430643839666238373561643966633334653361373336306266383631663537303265316564 -37633633363933353931653830306663393766303363333535313737346239613366326536653530 -34643166663333663066373735376266306635306132383134653161646337333161356234366533 -34323461653763386636653665353362323565396535326366663639313437616663376332616630 -33323531623935383639623635323662636239386631623361613066616134396565306565393161 -62313235316264663261306461623032373938336661653534383835303638333831613232316564 -65333135383761373937626534663633633936396532313263396338393462623830396538313464 -61333966373930626135663839633766383332656564366639386130323061363137333065653433 -36313434326234386466643730663939376461633334646133363763303561373862633565663634 -65646237346636636230313136633136623236646239323937373163616230636264326534373263 -36333035643663626239306363636635336237373761333239363937633932363936663832396438 -34346662633265326365383866383864356563393431363137333564326466613832666663633539 -33666638393337336633613032623739633836663831353762653437323733336230396333643733 -65663462346166653534323533376431356535316238363639613636383663306635343836376365 -64363765393863363038363739353239633934343138636564343562316131313933616363356237 -66306230613863633038313161613861653138656433623031313534666139393535383163366339 -36393138323838656139653163393965356131633961623930623637663839383564633534336565 -30643334353537306637636263633331306162316565633630303636323833636234336264316361 -36613833653565613562363763336633323236393836653466356638646166333661653431376463 -32363638616433643264323938616262383663653334323931346639633836333462333663376364 -32663838663534626565376661656663643162626137363431363461313864623732613764333664 -39626232333534326364613838376434666635313731646533363635386230333036336533633034 -31323132343230646631626131663436356263626563323934643765666462343234653038383564 -64393739663035636266663539326661303262383966323634333234363233656465396665613636 -38623063336337383931343931333565623261313638613235633230623638623863616238316662 -33376135646535656434323732656362343834663530316437333630373230303136303137306637 -31343266386535346362383032376635386132636138333765616361653463316239303536316262 -35623062316533656661356462643864383536303835346235353339663238386532343064636233 -66363566623663353265616434336163396336336263613030623134653361363732323738313363 -61343232656233363433626334306433626566616537376537663930613738386663393035373533 -64656639326165666138343361613637653166316330393665643533333466613861653232333138 -66316464336465653062376261643238323761383161623933353433613266646537623639396666 -32343735323833383365313539333138656230306134343631666232653965663264656635343061 -38353162383364323538366666666365316432393939333663366664356364633939653837346431 -35383063393664656539393763313735663638343863616431306566356332343935653631646536 -66643130613266636331663762303962643434653532336531396165303638303831393561376633 -36613537333163633837666530356163343733313631633962326365363063663261333061376135 -39363532366638343430643664663863653666663064386562616434313831633032316238393963 -38346564306438653865663937633037373961636630653530643936326333316433636334333935 -65326434316435313364666364613138306630356234393839313031373536336539623132653634 -30336332323932323863353139303835643865313466356637303032393437636531313330666536 -34333565376635633863303066376330313362303836366666313530336430343939313466633135 -32373238363031396665656536646236393133376435633638303238636663313738353532393236 -38633831633039616430343932343066303837303161653166623761343033386437303231393931 -65353334666164343337363035616162383635623838343662323430326639633834366666393663 -31356138366666333563653738653032646633316537326333306133333435623132306236373963 -37326435373064386131383938353465373239323434366339343364646565393131643335366530 -35346465616330346232656239643165663438386339663136336362356437653334326335666564 -38326436623239393833393838656335336565666536386164356535633363363836323966343663 -66323563616564623165373730353238353063393362653964316338333932636333353064333761 -61626432383233323630626465393461393130363232383565646631343464363138323763656637 -35653964386434653335666335373932646133653966626430656636626461646263383464643666 -61396265333465343039653333646661383165356335633532623165323364363630386335373935 -34363739636432366565366265373038643633613739363266653531623032333030303437346665 -63333666623536353238616636633065393562623566376461336262363665323866376666303930 -66393533353766373732326231373732663766393034326538643063393037316239653838333738 -35636539393966343866613932663230663638653862643934616539393436383639356339633133 -32643836356136353436623738613133353631313936643165376265373638343838396665356166 -39303661646265653436396131613536386236613938323739363863633766303365636466376637 -38353837633239643166383931323961383362343831633835643930613465346335656566326434 -63303565366161373062343162616536653165373537363331353639303230663265643335356330 -30333263623431666135393931626431626362366562626431623434613633643062373961663361 -65343135353536643863316161326635333038643634396230353465646238356234653034323638 -39353365306230313031336337313637336233623865666439653861643637663732386461333432 -61333831306539303439373634376566363861393830333665366238666364653637343364313865 -30643564363739346566636565636363386533663434653761386565316266333436623031333134 -33616464323165393331326665633235326231623365373236303335353837663739373165346139 -65633066343530303335336362343838356565343638313133646339353235633661636361303934 -65636332383130333036316138393235353363623061613130383431323735626136636334343439 -39363764386639626432366534363839613366336139363439343066333933366537373333336465 -32363334326463323261303562633034383233653438643764633231373761326334336561623832 -37663763343933386165313665646234626263616136343366663834323739343934343833616336 -38616636396438386539303637646134393865363235616465613665616439653730613039306265 -36366433356362363537653838626133656430333132666635306137663134333139323565363531 -33656433393031386537353766366638393433363031616632323962353933666232653563313830 -38656565376630396235656533313731656666363762386339613534613236656533366161653866 -61633965366135376264316264393964343035306330623739643338306362633838373434306335 -34313636373930623663666362633736653363353461616639323261646235653266383837393036 -34626466623666643465326465343833336338343964666537623431313639656136373339643834 -6531336131373761336363393133626166376263663037666231 +36353536343833613430343761313165616135613164316434386138326630333565613265393864 +3234663464333262363365633232643861653535613631650a333438353938373338656130633932 +66353239323565363232313031356530383335393163333238653638356166623463653632626533 +3836373333306264310a616233613162353663643434633736356136633234306463343364356664 +61613634623536346338653061626164356533323266333764383939303235626662636435376535 +36666239666237393066356136393562653564613339373266306432356439646435353162343138 +32643834646564633666653666646633373365306139323432353963616537336362316566326239 +39326561376365343837643333663434373831633932396164653233376139366438353734323636 +30373638333563396133633661353633396261383564326135626338663166313831376664623636 +64653465653837333961323865316536373863386237646136393334623837663931633936313830 +35663134306139653938356636663031346262376430313366303734343239376265663166383862 +62616165643966306435666665393131616337333162366436343266353931376364643734666130 +66346331333031653130653239383733363030363933663432613539306463623634313535373866 +36373935616331323032333233616139333136336538643864396165646539626632643964313061 +62666137616333643931616633313736366461366162316162393331353162376538343661376639 +65393962623931396166613665353036303935303035626565363233333063306163326433363865 +35643732323361303831636632393130313133616564626534333531373838376230656139386237 +65313937633964306362646566643330383061653461386536636630376334323432633232306538 +38383937326261303034363538343164363330633733653130633336663231623236316664383362 +35666232353333303439666534333636393531633362333738323538643062623439616362393937 +61306361356636376263353932623766663633373639303032663465316138366534663962393433 +38646563356331383634303861366334313838343862343730383261623232353033663031616436 +63396434656265666630383839663732303562323865636134396436643732353935333531353461 +64633530316363396363316663643834316534323062323131343731323864653134326535373265 +34333034383434363537343365613763376633303039306534366333663231376234333238396635 +34313164633535303438346264353538623766623835616439313230623839613935376232343332 +32373662633666306461623832383434626239313766646231626539666237383163393961646237 +35616236383434663031653431336364646333356233313638363066666462363839303265306431 +63386166366230613336616166366130346661336164353431343662393932653631303764393232 +61626535663834613335303161366235313864626362336332623862623033326562363630633965 +66386134333665663362343165383536636561643636323637313761626238343865316530626661 +61393236323562643336376462353235366263373737396232346530356332353835313835386333 +30393438396133633031393334633462383431313338393232643862363730393865386262346439 +39306236653639633538353139643136356561326639653335323033363730333264346162633363 +39376633323761323338303134383036303731373232623666663266323666616161396536333463 +35316665313232346262653736643566646432353437303435623237323538326261393061656434 +62373365393834656237393236623434343765343564386431343032616438363436366533323764 +30316164613465623536303432316262313233393335373566396533663462366566653762646663 +31653534336464383061383563656364623537393432636637643438316466323538306365366236 +31316463653339346361333738366661326538316132346661306261653437626434646633626466 +61343633646330653939666363373636353538313532383934323335303838343261613536373631 +35326135653132383031653866306335656261386134656233366534393466643732323635333839 +34343634393531313565626361636564643832333934383831343130646465613431303566316437 +66343835373834656137653337346336373938633339366130393735663830663931343632376235 +61633065363630646232313430346235393738656537313139383364306332346565306533643565 +30383731323639343637343965656332623330653432663934336166306365333430326532373937 +37326131306530666131333766343534303065643237636437653866656234396365383166343434 +65363931643137356366303363653262326639353832363433663963626535376630393666356264 +32626662363835383434333464353835343463396432323532343266303263376332316566613631 +33623631633039343864653462393564613538363435373331613238666333343839653331653862 +32636437353063343934613163383139613135623535396363373833616264373131643761343363 +34623831666135356239353762396336613838373062616330393661363434383764353838356262 +66663165363435306137303166626438313934653532303963666161613439636564316162306437 +32623765393038323532353561353231663234383863643835373063636332666437376161333733 +39393231323336336462356535633630316661636134646238616161623737323562396562306462 +62356332313961346238356630656433636136376264373362323039333235303963323137346463 +33343137303434323435613933653738386333613961613537336439373732363963623436363332 +65366138363035336436353432363834616234326563646532656664326637363861636163316534 +62616334623734363839376465333665306263333335336561313333646262663961346465343934 +33346239313863393065666665383430383137613564626666653562316631366566303664663131 +30663930346134383735316635666331613734663632326165333065326538333636623864343362 +37626663383261303534306665616538383937633765373435643632643931306537653734343032 +65333163616566626234306639383561373435343863376361396661633331323431616231303965 +31386566366466623735323132343364626562386664346464656332643435316636656635313630 +38633733653663666266613365313333386237616636393430303734363961663631306561373437 +37383461633262623734386635376530653163653638623231303663386566653165386632393036 +34663838633865633635323061333831656139343137633830326538376139396238386131666366 +66316333333931613236653264643334356364343561343930373832666464653331313963326666 +63313334383033376539373534386134613661303335383336326664663234353162346461323530 +34363135646266626266326336663237323165646234363538313366373931643432333636626238 +38363631373161373639323936663763353537303632613361666330396439633337333734326239 +63386633643934393866333433396239663664346666366132633566353135623939373631303863 +39376539386337656633366332313135373965336132396131623264626131633631396638333031 +33373963316138663335313963343436616135643938356365646463386334306333336437666537 +37383931613337343130663962363939363334363434653931616634376536313362666533383365 +64663533633930383965663134653731303435333963613263313132386537363132356230643734 +32393264386437616631336361373664643436373861316265393462303030653838383762393131 +62313932333062663163336466333164393738343839623465306661616365303239303362636636 +30666562343265356137616663663033656535346533306234366530303036376566343066393964 +37346530326534633037396661663333646237333563373939393639643031303761623666636563 +30626230663138643137383038653534653631306362393462646438626561643663623462396331 +35363431323434373964393133353166373862323763386430373239366430623230353866313139 +31303838376532363261646636666235336139396663353961636333356132353033346335323763 +65343563616366303661376366656363633533636636316535393531333934386339626633316334 +31383031366465666330383138643061633535633630633431373461653566623361656437623133 +33663661343233326135376161636630653139663365646138373761386538303863633239343966 +62333464376536323038333034656538633038656631623734626531306335666531636564303631 +63623137666663633431343831636434333937366439336466393363653732373832613965663761 +30303963346539336462663764336261343166353034383961376332366461393461306565643838 +34356661613163346436353339333733393565356236373439323230346430316531303061306564 +31346431663132353638366662633939363762653131366330343238393831343964386430336165 +32336563363139306666396462376339623761353832316339626632636432393639313935323563 +34323465393333616166643530626133623566363033356130323961393439646564616234363939 +32323239663539376262646139623834396236333662646565333632383237653461623439646561 +64393166323565373538663933383939373339613832326161636631633837306631613831646631 +36353733623965663337326461376632386162343033616532656535336636323063363234306632 +61623763636530353461373239613535643338396537666339313436646333613061616362356234 +31306539333763626466353030396663363939666132643065306537653639393439643030626133 +37653739643934386263343163383063313565633966376235663530613331653138323164666163 +66653230383238323436393637626162373030383865636261613838636437383732626366333638 +33303835333531323162346663303464316633636438316261316565653438343235616631646130 +31613065366661316438633938643237633633343034323262393463333565623263623265386262 +34643864316166396662353738643238306661346566326137346336633633643235623263613664 +35323862353433306131626537323434653030396337373837373535616233323630366162643865 +37646139633431663433616264353738656161633739386566333762636135333630383431373738 +31303237333030653639306239313630383236316237366235656531633965663766326264306436 +37653039316337663161303533643936303465386630383734326332346366623231353965303565 +62626564653865313533633164306335343762303231653435626232363932633333393263393835 +32666262393962663137373761653836353435393563323038356333376165353761323232653634 +36643962663164356631363737396363623862613866343534353633373663653561643761386434 +33393231386166653131613566383164343665366537303739643937376664376131623834316335 +38373531396365346234343863633062376636323364613163383238633465353632396631366665 +36343065626362666166323263376138396535343635303430666264303234656337653137313738 +35303562316238386134323834623661356561323036616638323835616366623033313838323631 +30353537613430306631316639326130356635386537363438393339336431303738656166363966 +61306534633861653162626262316530376165316666626531373433386662313831373834616631 +33336663363835383331663266636637363161633865646336646466313738306235366564396231 +39386466386265396339353739336636643863646134326466663463383166633265616334313565 +30303838613535643735366536616133646365333939376665623232393135366339366638653336 +37383733386364623730663932383737643065643033653165363533376166623266666435653534 +32323562346331623438313039633265643935373061323936373362303865636161316531363465 +32333438326532363065636438613162656463363962326364323461366632373833313264336632 +30326535663962633039613264333033623961396232396339626133363361356265353737313733 +37353263643839356131346261636266363064613662373137333633626239353136636363346630 +31333362393034646463653831376638376438306162346663363162666235323864353036356238 +38323835643630376235653966396161306563353233386461343763303734666165636566366162 +62313362653565373532383734633565636534643237633931363738313565626634303537643233 +35646238366537303732343164646332333565313363663162646265346664323161343666313636 +64636462333439613864653331623438326562326464323634353066376537633938306638356231 +36346361623733373633393466336432666535393462626238623337356231373639376234333939 +39643462656565393361316262393364663863633563373039623236636635393739663636656536 +66623638383364306262326334653564306430346135396562313833663335383236633463636232 +30386261343135356537653335656237353339316437633263623864633530336161663739313165 +32633035656363633131333332353831333564346535303735396439383230393164353064366461 +30353039303630383034626335323361333263353864303635343239333135373135346635616137 +36613239663163616462393835323762646337666261396235383834326635366533316265313233 +34383264323538366564326263336533306666396536386237366439343739633032306235343563 +64626333633065366336393434386263396533666564386261336230323138613263613637316633 +38616131386137316265633336336262666666393163373330316434346465383434393161323038 +39343934313432336132373735383534303631363338666538313563653132316532303032333634 +37383133666535313237653533343064343134303438326563353231623734643664313666346563 +32383462396664636137316361306137633836383939386331363961366561346534656564353836 +31653530323639346363316539633162376633633566373365643039663730353236326164393935 +65353830363161663933373933366561666432633962363962326636366232626630303063636539 +63353165663130613835636439623335643665623435336635613165613964646432386132346135 +62626631663336643930383561336332316433653663663833373639376536336331333032346531 +36396239343330386138656462373931313431306331656338356537383563393164323464323435 +63653633656432653936656461316564623136333730333562623538376461623062333239653039 +38343837303466663262653532393036306166643531346639363461616134626539323837663061 +62366166333435363464383732383866303634656634366161303536656363386131343932646361 +65643839656237326436333137303735326437643031643939316463373961313139633061366265 +66373339366434393235343061356563653233336633333363643039666635616265616638343335 +6432 diff --git a/roles/speedtest/handlers/main.yml b/roles/speedtest/handlers/main.yml new file mode 100644 index 0000000..5f110d7 --- /dev/null +++ b/roles/speedtest/handlers/main.yml @@ -0,0 +1,13 @@ +--- + +- name: Reload systemd + systemd: daemon_reload=yes + +- name: Restart nginx + service: name=nginx state=restarted + +- name: Restart speedtest + service: name=speedtest state=restarted + +- name: Run acertmgr + command: /usr/bin/acertmgr diff --git a/roles/speedtest/meta/main.yml b/roles/speedtest/meta/main.yml new file mode 100644 index 0000000..35ce32b --- /dev/null +++ b/roles/speedtest/meta/main.yml @@ -0,0 +1,5 @@ +--- + +dependencies: +- { role: acertmgr } +- { role: nginx, nginx_anonymize: True, nginx_ssl: True } diff --git a/roles/speedtest/tasks/main.yml b/roles/speedtest/tasks/main.yml new file mode 100644 index 0000000..891a4ae --- /dev/null +++ b/roles/speedtest/tasks/main.yml @@ -0,0 +1,47 @@ +--- + +- name: Install packages + apt: + name: + - docker.io + - docker-compose + +- name: Create speedtest group + group: name=speedtest + +- name: Create speedtest user + user: + name: speedtest + home: /opt/speedtest + shell: /bin/bash + group: speedtest + groups: docker + +- name: Configure speedtest container + template: src=docker-compose.yml.j2 dest=/opt/speedtest/docker-compose.yml + notify: Restart speedtest + +- name: Ensure certificates are available + command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/{{ speedtest_domain }}.key -out /etc/nginx/ssl/{{ speedtest_domain }}.crt -days 730 -subj "/CN={{ speedtest_domain }}" creates=/etc/nginx/ssl/{{ speedtest_domain }}.crt + notify: Restart nginx + +- name: Configure certificate manager for speedtest + template: src=certs.j2 dest=/etc/acertmgr/{{ speedtest_domain }}.conf + notify: Run acertmgr + +- name: Configure vhost + template: src=vhost.j2 dest=/etc/nginx/sites-available/speedtest + notify: Restart nginx + +- name: Enable vhost + file: src=/etc/nginx/sites-available/speedtest dest=/etc/nginx/sites-enabled/speedtest state=link + notify: Restart nginx + +- name: Systemd unit for speedtest + template: src=speedtest.service.j2 dest=/etc/systemd/system/speedtest.service + notify: + - Reload systemd + - Restart speedtest + +- name: Start the speedtest service + service: name=speedtest state=started enabled=yes diff --git a/roles/speedtest/templates/certs.j2 b/roles/speedtest/templates/certs.j2 new file mode 100644 index 0000000..a39bd71 --- /dev/null +++ b/roles/speedtest/templates/certs.j2 @@ -0,0 +1,15 @@ +--- + +{{ speedtest_domains }}: +- path: /etc/nginx/ssl/{{ speedtest_domain }}.key + user: root + group: root + perm: '400' + format: key + action: '/usr/sbin/service nginx restart' +- path: /etc/nginx/ssl/{{ speedtest_domain }}.crt + user: root + group: root + perm: '400' + format: crt,ca + action: '/usr/sbin/service nginx restart' diff --git a/roles/speedtest/templates/docker-compose.yml.j2 b/roles/speedtest/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..cba8ab3 --- /dev/null +++ b/roles/speedtest/templates/docker-compose.yml.j2 @@ -0,0 +1,15 @@ +--- +version: "3.4" +services: + speedtest: + image: adolfintel/speedtest + restart: unless-stopped + environment: + MODE: standalone + TELEMETRY: "true" + ENABLE_ID_OBFUSCATION: "true" + PASSWORD: {{ speedtest_secret }} + WEBPORT: 8000 + TITLE: Freifunk Regensburg Speedtest + ports: + - "127.0.0.1:8000:8000" diff --git a/roles/speedtest/templates/speedtest.service.j2 b/roles/speedtest/templates/speedtest.service.j2 new file mode 100644 index 0000000..3898c10 --- /dev/null +++ b/roles/speedtest/templates/speedtest.service.j2 @@ -0,0 +1,28 @@ +[Unit] +Description=speedtest service using docker compose +Requires=docker.service +After=docker.service +Before=nginx.service + +[Service] +Type=simple + +User=speedtest +Group=speedtest + +Restart=always +TimeoutStartSec=1200 + +WorkingDirectory=/opt/speedtest + +# Make sure no old containers are running +ExecStartPre=/usr/bin/docker-compose down -v + +# Compose up +ExecStart=/usr/bin/docker-compose up + +# Compose down, remove containers and volumes +ExecStop=/usr/bin/docker-compose down -v + +[Install] +WantedBy=multi-user.target diff --git a/roles/speedtest/templates/vhost.j2 b/roles/speedtest/templates/vhost.j2 new file mode 100644 index 0000000..ed5e2f9 --- /dev/null +++ b/roles/speedtest/templates/vhost.j2 @@ -0,0 +1,36 @@ +server { + listen 80; + listen [::]:80; + + server_name {{ speedtest_domains }}; + + client_max_body_size 64M; + + location /.well-known/acme-challenge { + default_type "text/plain"; + alias /var/www/acme-challenge; + } + + location / { + proxy_pass http://127.0.0.1:8000; + + proxy_set_header Host $host; + proxy_set_header Connection $http_connection; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Scheme $scheme; + } +} + +server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + + server_name {{ speedtest_domains }}; + + ssl_certificate_key /etc/nginx/ssl/{{ speedtest_domain }}.key; + ssl_certificate /etc/nginx/ssl/{{ speedtest_domain }}.crt; + + location / { + return 301 http://$host$request_uri; + } +} diff --git a/site.yml b/site.yml index 6d44589..860e3d3 100644 --- a/site.yml +++ b/site.yml @@ -53,6 +53,7 @@ - name: Setup web service proxy hosts: web.regensburg.freifunk.net roles: + - speedtest - web_svc - name: Setup resolver