From c34d9fcb90a32951196330dff9ca691ebbd0d00f Mon Sep 17 00:00:00 2001 From: Jesper Hess Date: Sat, 9 Oct 2021 22:35:09 +0200 Subject: [PATCH] Add Hedgedoc - Add Hedgedoc as a replacement for CodiMD. - Integrate it with the new SSO system --- group_vars/all/secrets.yml | 198 ++++++++++++----------- roles/docker/defaults/main.yml | 6 +- roles/docker/files/sso/sso.data.coop.pem | 1 + roles/docker/tasks/services/hedgedoc.yml | 66 ++++++++ 4 files changed, 173 insertions(+), 98 deletions(-) create mode 100644 roles/docker/files/sso/sso.data.coop.pem create mode 100644 roles/docker/tasks/services/hedgedoc.yml diff --git a/group_vars/all/secrets.yml b/group_vars/all/secrets.yml index aaa40eb8..b6c2897a 100644 --- a/group_vars/all/secrets.yml +++ b/group_vars/all/secrets.yml @@ -1,98 +1,102 @@ $ANSIBLE_VAULT;1.1;AES256 -36363961663263636233623434613466363839323137343335633832356132393837386630323139 -6639336261613439373330613033613132343839646330370a303036366338643231623863353364 -65356638326633363535663065613666303236393266336438636132653463303231623261316234 -3830373762636635350a373561643539616637333965353961336266366463343536613432613966 -31653732373438336136646335363036333137316139346362313937373731616134323730373330 -66306664306133333836666137386432383535623730333835323032656266666364336661653838 -36666361613738623837623833343161613562646261366539303736366139326664653332656261 -39333861336432653831653736306464356665396564656636626563666333303831333534626630 -34316133303666333735343764313164303632376236616536623062636234666337376534326635 -36323432306137623138393533356136663363656166353035363663306638626566396139306365 -66343631656262383231356336373630333732383962633433363930366139373532373839393463 -33386438346662616137643339366339396566363832613535333665323664323162396662656138 -37363264386539643130653566376532353737323939323537626166333862383031653036323063 -66393335366662373665386538633433643864663937326239383735376437653364383862653730 -66326164653137666538613263326334613237376562663730313633623162313066353131313465 -33663665336166316636363362376432623832346561306361313563303439633230356462643461 -34323631633134346437643362376565386265386564623337326361663539666538653031373935 -64326535356339336638363537343936636261646435623130343134633766336364333837383234 -34333532376435333434393734393434363134616137613235613332316164663935383764363831 -34376166653137376332656265386233306663663637303763386634663435396535613335343163 -63666464643334336462323764393738653330316466636264313439363561616130623666663337 -36363432366230656436363335313436666365633162303839623730306563623061396361386538 -65336138353938666162663339383266616233653636643665323434313062636466356139323161 -39613666366662303362386165386639386337303133336130383961343932366232646162666235 -64623563633639633466333430353964313034306437333033386238343063356238373535306665 -35643665316138336136663865333230613963303064333265386130366433643765663737623566 -32626666396636643030363361616462386330643866303466303838353461353437626235613663 -39363335303530336661663437363163333163613030366162383637326132393335653433656463 -33306536643136636639316139346238373862346530393265633732306439653963663531323539 -65393731656366636132333163373033303232363065656364333536363632373139626534303464 -32626331326364303765363039393831616433656534636231653434636236383332663330313465 -31653366656637353131383266613338386532626364633765363632646561336436626636623331 -66333935653262386361383035393133333238653565333266396537363162653763306338313162 -32666164383734333964326136666539633261646437336530346535613332343732653264303537 -39656139356464326463323933323632383861663561376634336238306630623839626537336130 -61336436666666383133393262666563666431356663633566313663396336336236323036303164 -65656539393536616661643063366138623438333363616364626432303530623833613837343138 -38396234366238326131653935383939353033373439336163396234396330313739643733333430 -32386336616231623532353162393863656435333762633139633233353035643638626263333535 -31313630373831383136613364396538363139326366363032363332636463373139323532616461 -61363961376334373233396663343832363165386430333731313938343263636663383965343631 -62363564326461393263323265656164613663666465336332393336306133336433616665656566 -31326438613736653264333433633433633565363937333338636131303833326261663135623062 -33616364346639343330646330643932383166313838663665386364373966383836636137623839 -63626531363530396435363837393036396466306132393466616337633532346436303331376466 -36636531626137303462396436363864336266663237326531616566353261386639623965343837 -37393538616661343032346533346437383436366331326636326263393735373863343461366630 -62386562343139666166666464373736363430663464646562646236633339316664323934383464 -33636233353030373632613333326262366265656532616337636238346639303463303838613834 -39656463383837643738366661333265306164616435343662666131356164353737636362626538 -39313237346161363038636333613464356136303166343831383131653935346230303765383366 -36386133393139383232623162653238636465653366313035653534643635646230313664646266 -37316136616333353766303537386663633134636536643436336362303463333135653234313932 -65643361386565393862303234353766373835646539663231356435366266636337623639313161 -61633236313831356637623534616134306561396465623337373032653763636234316632313035 -32643332333866333864313664356436333163666363613034616562633466316363636366653438 -35616535383665346438633935306435313861623930613661313166313332323030643736643035 -30643338373365346234386663623965633238353139616564316233356266373862373237663735 -61353035626631623436666338616337366165386436623736613939393532363236636631626465 -35626162663965623434313633613664616237323930643734363039643733363831666336396130 -35383635656138623836326566386663303735626165386363363634666361333961323630373861 -38376530306162333633333765373035346630323662653131313239356130396230346364313861 -35306465656434313130373237623265366338386235306364663735663630323837656136333232 -35333736616135363632306638396361353533663434393764613861646532373738313638343536 -62653135316437653533663835616136313133343331383764333237656536326334343430356462 -36636638623830306365666431396338306661663065613939343264353633623735653833393437 -36353338633339663434343033373033303737303333343234396365376366306330623632306661 -61363061373239616563306565313630366565663663653763633066313636396233663536343466 -35366639366637306161313264633439383536613465363265303932363463663532313338626638 -66613064613666626666343665316334393733323434363165636638363964623533333962346630 -37356439336561383961386265393063363234643466353463326231316139353138363035333362 -39343265393233313764663965646438306365346434626334366661313836613963663236373261 -37616235396539356138656139313339323631636634366366626236393234323062633430643835 -65663763356334633431666230323835393138623735656234356635373735303432396365363831 -63633634313735656632623739613636313434646530646363323664323930656534343433376366 -39633032666161656435343334613962613565346333303662326366323035653663336466303734 -63356638623832346238636339663139323832366134623833336661646134613337623264363463 -64653731656433303634313164356338636265396265663865373065393433323135386364623034 -62313637303430313764636335656136626239313363636638386236373234363638306661343931 -65663464333530323837653636353639396533306661343263313333303534383463333533666238 -34393461396437653864303733306333633230313337646431303064313036303039303431373762 -63313231363663353565663730646332633837313061373366306336346436363532323834373731 -61323465363131656137363936383035313035303230663064656332356566303636343436663937 -66373731376635323463616334336139333235633434313963303364616166363330633866653065 -33646162626464313237313338646132316637386261626334306461663334333731626361393565 -34616139666264613332663230343638326465616632663430333431323532653262643032393239 -61306462383263333330613534653636363230353563333766303266383761383866663331303365 -62353939376161623661343437373737346330616435373766353166323138353862623835303833 -63373463393738323134346262393832656339326532376364616235613339333038323464646366 -35346634616634366131643066633638313835613333383631666264326636353537633334636138 -36373036386439353833626562656635636563623863393733656631323435373538653538306666 -38323464343161396330353865376161336130343432623533386134393366646663363031313365 -31643931353165633733633831376534326532376565343337343838656463666262623163633264 -36393836333733303631363262653361313063643630356631633131353731646336646534373565 -33656433383966663165646263323535636561316662336262316634346363623837343561376238 -65653361643865356330613034633866613531353137363032373130313734666464626665613535 -6566 +32336562633266653862666430393834306131343538636136643866306639313132383063393335 +3437383263343337323637616330383761346661383065390a396466663135313433643830316439 +65626336303339653730643435353366633839366165393463663031333030356464373338353765 +3662646137623936650a633038376161633737376432306466663938333838333339626235663362 +34303237306533343435346361346461613339323931666461313261623936653936656439663139 +39666639616234653565303235313866636463656237363861636366666433393631366364623534 +39313638363231646539383133383938353439356335313263656362376538623531636166383233 +32653461653965303835613833383736396563306436623762613138343665343461623964666464 +31363836343534616235323238663262343963376133636337333937353732623938616434333666 +37386231356633653034656130383463643065373935633334653766396539326262646465376338 +31346134356162613266393132313839363166623562316230313338373062393535363236363133 +62653261663865323933323061353864643435323538633733363030356636653162616237323839 +33636235396166326336303133613431326231356434383431623366386437303162396234626563 +66333232343234613661363339653234343333323965353537353337303964653066356664303265 +62333237343334333836623566643633656134353034623630323361376562353464636538623664 +65313435316533633834303734636233333164616230393664646261663133323536356338323430 +38623734366530313461653062376136336634386132333138666439326636373536636134333432 +61396432353962366333373961323263633036656362653330393236333737306664633335313438 +34383335313933613930376436323236343539363035323461333366646462623961633933313432 +38656530653336306130313932393162626437383736393162656364333162623831356163303365 +66343433316131313332346537343863343966323765373035306661366633336261306661363966 +39326131336561633463613731396663336639613634636631373435623263353961323539623162 +30383831393164373632336265373662663936336131306563323833643236616338653835633832 +33383530623733386564373935663437613366633536386131363465363466306632373535646661 +62616531363737336536616132343034663038623665666636613232663666303164663661366232 +33626536336435323031663662383836326331633262386634393333373630343431333461393234 +33656664666466623262353533363833616663303637393164633633336438393131366261326230 +63623266353432613832633163663363663964303461386366373236386131376336623138366134 +33626234383661646637323062363265623630663061353630313466626632623062386638643433 +36333262666562396433393866393362303134616664616531386637336233306334383434616238 +62353237396432353335316631336265326135616430383735353638346339623539393064373365 +66336463653139323962333065666363363733376161613434363830663161303735306264396339 +35643535326130313033636135656634303731323030623131613866653932346665343365343537 +30393534346438343833336262646161643665613639373835336438663664643763323735646566 +30303339386131353863643463383333616432333262633962656434343563323165366533643730 +36646431336361316234393731373563656164646437636536353530343731373531373932313633 +61363462386663333465333465363864643039346238303635323362646335363037323437633462 +62373839666639326465383766333462356635636163376366373764373462386430616566386564 +39353662346632623661326238306136373364343231303664626630663761643433393033633335 +62336232376134656537383632643730303330353533626634633138383163356533646461656230 +31373733326436323937373537363839653034356137343864656364313831336235396530373265 +31663035326365373033313030363032343030346635343333656637343961303861393336316134 +35383635393737643935646334373865386637373636303162363562326239326433396466396435 +66336235373238326662323763333733636635313862653233353165346233313663353164383937 +37373934343261373462373832363633323438663536356133343464316563316362343932396234 +30343335396562336433353233306132656239663036663064653235376264653933363636326132 +33353064663930626330386562396564323965393432353430326362616235353464623861313336 +37363333623736306632643931356138373031363938363966616632666236346265323562306538 +39303365613463393964376536383431326661323237616538353333373930616438633630633961 +35303436353231373133666165306534346137396662653736343135303431613438363864616237 +65643338633065663266303232643264316564373066663038306632653962626336346639393061 +33326638323066323264353338636535336363376639646233336234643137646262666238363865 +34623236396437623539653466653331326434643036663930333065393836383265613036393233 +64333530636138356361643635613933313335636662646666656131613834376632313734373261 +66626262373630386337303539323332343831373731643830323661656435626266386633366666 +38626330663635623262336435373432383066393335633261383633343633616564353135613334 +34616663333562643232333133626433313265316561633638633236343334323337643066386363 +33316637303533393165656665373931313666616330316465643531303730333036613965383161 +65346133303835643134643030373966636632663937343434633263633161366236613039313866 +63343362303866313732326438393262643630633461316534313638343230653462636330363437 +36613561366235646465326163343165633764333466643766316235396534363366366238626161 +32656566386130623962643865643562623338353939306463663034653939383864356164316332 +34396661303364323430323764346438393165313430623464373436323337303966613437626136 +34303166396636666237383138636230306161323161343738353062383262373631643637366139 +36313033623162366530366130376338623634363661623965643364666330313066646233303963 +65353137616236396266336238346562343331363964356237356132303734326138646164663961 +62383761663837326431343939666432663132396464646439626364373833653164313931353631 +34633737333961646137663764363763356138396264353534303236633135643936313039303565 +37663937613961643563346130653536653236346165633333383666623961303138363961646138 +36613062346562326537656236343835383663386235353638653861613865333635333161326337 +66343664373262383164313838393261663566393838633364363931653164613663643966643063 +39656261643733663763383339653433616231653737623865353038646331373334666232346334 +39653730613439393532326430623239666239616361313738343738376536303839623938396439 +37393134343333383430303963356563633862336134373962306634613261653131636631626638 +35613635643336306435643832383761353465633537666563333763646338656164333661666462 +38643765313865626535326136343365643362373234326262366332653264363863646539366630 +36623635396635363636373139383530633332386263656339396433653936333834656631373637 +65663564353938623737303332373261623862646566386230313865643835323231373933303165 +39356561656534326661346636633933613532373137393737623737383134333132363436373630 +63653139356565356566663532313736613437623634313236663537376462383465613332656233 +65306131356165366131633432383730356163326561326332346535373738636333333165666365 +31636564303838333061323063653135623162636464656263613538306561303361633864383634 +35613164386334646338613661356134303766393239366530666137376362646263333530623565 +34643166313038376136643032393630303435376631336366343632383735626335333232303463 +33643363313434363633393964323064653966353161636135633264333766386266646366316132 +63303935356138356566306234356435343961356166646430633335386435366666333234636465 +36336439663731643663353732353261313037363231306430373962613838616238313662343761 +33316335316236626631636636386137376263323862306262316366663039396334326564303762 +34623562363839386439366639323662393831653530663463396230663133396466326363303065 +35646635323439323062333864336332333938663536373834663535643832316532313262326265 +63376436356662663165616532613963303030613166663865376531613031383865363864333238 +33616230336263306434643933356530303163653232323331643731353134353939363762303933 +32363061346537666637663733346431643164323364363133316265306336626466353366313635 +66653162643533316162363035373532656239356434623761666663626366663336376539656537 +31323561356363393038323762646633323461666263633937313264346364356439343761623337 +34643731393763323339653636656565663665646431313531616337616363373764626334656264 +66633366346137613032313865666363613530643663373834313731353437373239653332656134 +62376164313138303233623964663234643661336232366165616163313866336230353565393365 +36613361346437336431376164663930393530626339626361323764623635396137396634316364 +31393030323539376233383965366433623562646161643866346138316536613437383035656139 +6533 diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 341461f2..2d2a04ed 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -39,9 +39,13 @@ privatebin: volume_folder: "{{ volume_root_folder }}/privatebin" codimd: - domain: "pad.{{ base_domain }}" + domain: "oldpad.{{ base_domain }}" volume_folder: "{{ volume_root_folder }}/codimd" +hedgedoc: + domain: "pad.{{ base_domain }}" + volume_folder: "{{ volume_root_folder }}/hedgedoc" + netdata: domain: "netdata.{{ base_domain }}" diff --git a/roles/docker/files/sso/sso.data.coop.pem b/roles/docker/files/sso/sso.data.coop.pem new file mode 100644 index 00000000..876daf28 --- /dev/null +++ b/roles/docker/files/sso/sso.data.coop.pem @@ -0,0 +1 @@ +MIICszCCAZsCBgF8WpKKwTANBgkqhkiG9w0BAQsFADAdMRswGQYDVQQDDBJkYXRhLmNvb3Agc2VydmljZXMwHhcNMjExMDA3MTE0MzQ1WhcNMzExMDA3MTE0NTI1WjAdMRswGQYDVQQDDBJkYXRhLmNvb3Agc2VydmljZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCdV0stfU8aA1bi+GYd/a5DOyoox01BgzWwBFqVjlo80frsOsH8g814eDuMuff/UJy+2YxaozYQGxP+DcOVXi+0Fts9zjRj6wa6HCQqiR/SNUa69fGHcyAo2Tr0faxOyf3QMBqIngTRZB99quNMuAM96RCg25LtDaaWjNVxdHlj78+kU1bQXExp0ZfELlKGtllWP07cyz4nGfZmuK1AiWSsRbDIbyK5dvzw/pMS1kexh6ylnQu1iLqD3vYZBUDX9lPNkavTYZNCEL4ElUvR81S0ko2zkYAUiuVTtTUKucc98dTRhkuV4YCiiW6UQGY/jzmXYBfpzAY3n5eH5iUu/tRXAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFQc8ytexKiXOIGrSYYtFaF/lxv8AwMgsndv8YxJ+x/cUwN9tdmA8IAZDIS13qBrCOdZE4pJ/09VkYdErcpbtV7PWC3LDv/c2qakyiBUYZj4WgJio+oD0GCqXsby3aqJeVt9cJr4gSsXxn1c+7GV7p/gc/2FFmlWcqMN/2F7LvFvObu55QlppWZrn8kreaUQmRuTTIviFQRmvrmwKyK52LEcK7qoh/v1aHyYDl91gu3nLMEluz6hy3UEPYgpdH1t2C7K0Kjri25pJNGCFrpKjWWveteKazUeDd4adHMiw2MVfeEyTCXEFoaxQS9QmbmhSMRhiHjbdffL7xi//aSh1bo= \ No newline at end of file diff --git a/roles/docker/tasks/services/hedgedoc.yml b/roles/docker/tasks/services/hedgedoc.yml new file mode 100644 index 00000000..ea7b38d3 --- /dev/null +++ b/roles/docker/tasks/services/hedgedoc.yml @@ -0,0 +1,66 @@ +--- +- name: create hedgedoc volume folders + file: + name: "{{ hedgedoc.volume_folder }}/{{ volume }}" + state: directory + loop: + - "db" + - "hedgedoc/uploads" + loop_control: + loop_var: volume + +- name: copy sso public certificate + copy: + src: "files/sso/sso.data.coop.pem" + dest: "{{ hedgedoc.volume_folder }}/sso.data.coop.pem" + mode: "0644" + +- name: setup hedgedoc + docker_compose: + project_name: "hedgedoc" + pull: "yes" + definition: + services: + database: + image: "postgres:10-alpine" + environment: + POSTGRES_USER: "codimd" + POSTGRES_PASSWORD: "{{ postgres_passwords.hedgedoc }}" + POSTGRES_DB: "codimd" + restart: "unless-stopped" + networks: + - "hedgedoc" + volumes: + - "{{ hedgedoc.volume_folder }}/db:/var/lib/postgresql/data" + + app: + image: quay.io/hedgedoc/hedgedoc:1.9.0 + environment: + CMD_DB_URL: "postgres://codimd:{{ postgres_passwords.hedgedoc }}@hedgedoc_database_1:5432/codimd" + CMD_DOMAIN: "{{ hedgedoc.domain }}" + CMD_ALLOW_EMAIL_REGISTER: "False" + CMD_IMAGE_UPLOAD_TYPE: "filesystem" + CMD_EMAIL: "False" + CMD_SAML_IDPCERT: "/sso.data.coop.pem" + CMD_SAML_IDPSSOURL: "https://sso.data.coop/auth/realms/datacoop/protocol/saml" + CMD_SAML_ISSUER: "hedgedoc" + CMD_SAML_IDENTIFIERFORMAT: "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" + CMD_USECDN: "false" + CMD_PROTOCOL_USESSL: "true" + VIRTUAL_HOST: "{{ hedgedoc.domain }}" + LETSENCRYPT_HOST: "{{ hedgedoc.domain }}" + LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" + volumes: + - "{{ hedgedoc.volume_folder }}/hedgedoc/uploads:/hedgedoc/public/uploads" + - "{{ hedgedoc.volume_folder }}/sso.data.coop.pem:/sso.data.coop.pem" + restart: "unless-stopped" + networks: + - "hedgedoc" + - "external_services" + depends_on: + - database + + networks: + hedgedoc: + external_services: + external: true \ No newline at end of file