Vaultwarden

This commit is contained in:
Tobias Manske 2024-02-20 23:47:48 +01:00
parent 1e9276aebf
commit 33e1e1adf0
Signed by: tobias
GPG Key ID: 9164B527694A0709
5 changed files with 149 additions and 55 deletions

View File

@ -1,56 +1,85 @@
$ANSIBLE_VAULT;1.2;AES256;secrets
66653937623532303439653431313834323734323439373930336235396538323030653034616235
3565663635376432393735393662666265623934353961360a343830346564353965643030623334
38653761656234346638303362386533656537633432373237646431383438383366623035396466
6539646436663663340a616663656331326663353263363436613965623365623833623664663733
38613366363239396361663230386635636361396233323661663231323030373164376138306633
65373832303532346636643436616161626165623138396438343833316537626565346535356630
35616566323339323736353636623538353566653563633237623164373937666433303136613331
30306331613561333433386366653633383938313061666330306263393336633436303236643963
37653732633334616462363361316334613937356563383938313836396332653536373837653239
37343033393935336436353066646133303561613434643866323662653432316336623637336439
61656436633762343463356362613437643036343237316638623838383433343339366339356438
66373865326465666639393332306461333933666365343164646638393531376135356263346235
32313362376338316536316238313764663839633939396465643136373536653732313537613933
65613834623030376332323764643037653061366432313237323064643261346134666630646539
65373834303535373230616562373438306236353530666161333161643437333737363430323061
64316631396532633433373630316630343432353561373166373237353562663637333331333033
34336437393666643235663566633832366561376330366535633330346335333861373635363233
34633463316661343333363631353662646334376432343134323062623764333832613236623061
66656238313132363662316561636334303761326539653961333537316466646662376134396437
63353638353935343631386164316464353064653630326334373633396231336335343731326261
63646539376337313836373066393234393363613363346261623263636536356564636565343635
30313063316133666131333939386535333364666561666164316637323136373135333464343234
31643464373233653632353134313039633539386230636435313637653235333133353864653036
64303863353034376339393734663563333764646364366363363033373737326435613666646561
66623061666365623735316462663631396233636431653932613866386532313334386335333938
32623339373363373862336461343730363031383562653264333430393335336532306630343739
32396665636435376433326134346466393833383430393765316533336662316330323237636339
30633762373030326230653836363131633864363632636164326235633263376138356462643936
31653631616632353563633762336239303536656233393864326131313031666534613264313634
64613737336664643638646566656264336565386630323730376637663633643663363365353666
35326138336235373632303131623564336635633837643538343432393038656166626632363365
34656435393535323561373464316133396537363236353931613232373662393261646464636633
37343530353632623739393562396637663638363864343737616336373061666135316664383738
62336637633835366464346438376239323332643333373434303039356435313136303238626361
63656564333164313066336133306435306239646335613039636130386262626366316365623264
35343831386237356231336638346437383232303966366430393966323734373131663537656236
32353438303037393138383838663364343930636365353762636364323564616361346538643235
39626265336461396333666439663166366561346137373038386261393562623034633262343637
39626464633535663137623766363865363931383965633563336133316136633030363461383334
32653330303766646161336536636538336238333666633563623363373836303964643730386462
38363064623764656638373561653462376232353565613761613065626334393239353433383637
62363361306238633132313664316236643137346431623537363938353839326131376632633565
32376334303731343036316565666338396365393432343139393337616635313232356239373036
34653538353030623330386261353231356165386535346361376361313534373163373839333336
62663265366466383835313638356338376665373261373264346631356365363634323835653161
38373265656262376163613439323832663035666665656161346433343864366136363730353838
32646466313664326362633235613934633534303437323838376437636232653832363432326366
35353038613632616532306166346135333534636633626263383234363563303866326230626537
63336261626365623964303663393666643564656536333630323061383439353733633665623335
63643739346364323034656333326236383536663838336137613332353630313762356162613365
38386165383735666335656234336436653962356231643934373662393064653539316463366437
31616234323939623464336666333938636563303631366230326337616234353631626235633838
30323035333163613431326330303461353361396261323437353437656138343332653262326230
39326236613931633163653431376338616165653033626665396238356637396235316639323637
623661656339656132393337333638316139
37646239383161613330383037643836616464613635376538333738646164653535343365646637
3265333661656565653135653837666462623364346665310a653033613838643633313062343334
39343866623636386235343731643637656332306132303065393231643935643234306630343833
6562626632333534630a306661353739336266336661646132333862663231306135353564323762
62613433653737356564323538626666656434613966346631613934396238626531616631383433
39326532316439663632333331613135316134353531646362653432333734313534343037663433
39333566336265356532396434623836366166363961346439373635363334636133643831373132
64353939313135343338386638633136333931353839316236346634616430383263366137663565
36303733306163363332613964343162613337386263613032663539623430666639323062646565
61646463393338383934663665363837626532326630383930353236613161356230346162393031
39643531663565633666333032306235323038363234346264656239336535393539306439643833
33363035393864616664363463656361366365316230663031383037376139623039303361313131
34386361393930373430323961303039653561323430356139393434643763346563306266623366
36333265643738656362616363333638396139373137383366303263613031383237353435326562
34633839316335613766306134343333373032353635383964663336656134646634613164366465
66326533613363383337616437666333376133386231326336653934663233613333343464306238
30386338303730383836663262373239656438313361373331343364623231356134643631323565
31336464333838356265323938623133636536313736376136663330346630663837613937336436
33386639383465363333343566646337633236393130326439323536393830323331393862616361
36346162363166646537666666383464633165373263326532623061613065373030313439623039
30646632333964323330396464383535303261613237353535613438336163323235333534313434
31346233346335336230653337363337653763643535373532396362316131653665386539636432
30663735616136316639633333303732336239393435653239336133383362613061306537623063
31653634653233346634353136653763333833613337633530363338643336666463373465306434
66363939313434333364323931663766393564353663666262363037323761653339316637386532
39663538333664663139663262376137623765373931393833313130626135366436396636303062
36623362343432633462373733373235353034373335356534653965393131613831636237666163
65653463633961386266313534343833666136366235343639636561393534373830393434353363
31363536616664373935346331633335643536313432346133356637363566633564633963313639
62326439643333663362633739343465316431616234663233353066623861653165343461663830
37316464653138386135656662663465333932306263396235626434356666373762356264336534
66303664383630333064383363313864346234643639623037363437306638363937636162633362
30313263376262636164363064626538386161653964663130326134636166633735633966386332
61643566373233326362323034366537623830353463306363643866636439616430306362363863
35306530666266623734653235313835323536343837396631393134343835303464393335653639
39613530326562323764646662643439383639353661666231336433326564663463323638666639
63333434353364656264303361636234623266326364346230613033343433376639356537643530
30373631663165623035396139346165306335663263636434626336316265356535393034633832
35653264313331396434636131396531613833643331643235306130373132643636376638663432
32646539316138313234613536653538373638623330316236356431346461663034343932386536
32383334633238373465636164653766323132386337653861396362353937353963636136373136
66316331323132616337393438363636653561393432663238363764633938623531616538613865
61346563643966623362366131313635656336326363346231373636323930623563646137303861
39393064393965643638653462343631613466616366663232353864373236316438626135643537
64363862393839356664336632623765656264366630383836323233333836626637653461386163
66393263346539356363643566323366343631393139613864383764656465613033633038333661
64336636383737313163306363333634633966356439333432636635393064306231663533646139
65343637616532323366326239356263343432626238366333316238633366663734386332613631
63336466326163663338393363626635306436653166363239393263333731366261313963383466
38626665356463633439653932303033386464363862393439376635393961323530333566663263
65613333303036303764636131323630303737336561373733663930323863393566313665613231
32613962313935323432626230613334363163623836383135653931346132363538383632633031
31346566383364333062646334346433336235623636326436343230666537383635383332613963
63393366646266356130653339623439326230366234306235643332383261633739353039333039
35336165383061303863623031313033623865346366366235363262326266383033613961373933
33623832383934386563653662363461303939363533336561623430643865656232353731633263
33656432386165326566656432663665633461306365633164303061373264383532626361666437
62643533323136326539653263393663303365666532663262636165646561383333376336383332
30653161313336393033363061343633346230393337393966343134323436623537383532346361
61623661653132633234626631363430333837656633396365613834616635626139383731323837
38346533353061363766633634346231373339656463376634366533643861343161633435633138
39356165386635326535626161303462303939383461313834396333633565353634643362343539
64653530303663663032353138383934373837306437643962333339363366353966333437383932
30363934346638356565306365386335336530616532306465373163353562363235623937333832
62663963306663306462373838636436366661333565303736393731636562663332326363656636
39353161616134623433646539366664363935313866383163316665646236666237393762393563
62633062646536633437666362363531646234326666386561613863633934663462643634333362
65336431623836323334393934613133653262626134373838356238373031613737613965613761
34643539373230396362633761626339356362613730383831316565393030623930616364313430
35653935616662306130633263356165336130336363366532393735343137643831636462616334
65343437396566346263346463326361303862623164346365346132633936303230323838303361
62303663363834633635626331343531373639613763363537333539653631636462616437656135
34333633633565306663666338646339326564663936373963353465313065633434613435376261
30313963336664313465323036643035386463646561373235646134303930333961393639353639
35376135363235623730663932313337366564346636333464623234346237346162356262333764
62626563393261373838353663343430663763383365303766343665333231343861373534383739
37353437383966376664383438323430316237626232376134656134346362316335396331346531
63343933396636393332303636613133396162643132643765646664373438653732316633366338
65653963333633303963623362353739313635663266643236666334323262616531356165363330
66633131343461623231663832643138663563326264313036306438613837336333656361373166
62666261626430393830396636376434376233636639666432316165346237383261626530623539
63353530643065373734613664333239636433343262366637376130373130663766656563643931
38393334343836386533643839643232386165636566646434616662336334366263633835376564
38626339383631336638

View File

@ -11,5 +11,6 @@
# - {role: compose_project, service: monitoring-stack} # mimir, loki, grafana
- {role: compose_project, service: pantalaimon}
- {role: compose_project, service: watchtower}
- {role: compose_project, service: vaultwarden}
# vim: ft=yaml.ansible

View File

@ -0,0 +1 @@
COMPOSE_PROJECT_NAME=vaultwarden

View File

@ -0,0 +1,60 @@
{% import 'macro/postgres.j2' as pg with context %}
---
version: '3'
services:
vault:
# Make sure to use the latest release from https://hedgedoc.org/latest-release
image: vaultwarden/server:latest
user: 65100:65100
environment:
DATABASE_URL: "postgresql://{{ vault.db.user }}:{{ vault.db.password }}@db/{{ vault.db.name }}"
WEBSOCKET_ENABLED: "false"
DOMAIN: "https://vault.unruhig.eu"
SENDS_ALLOWED: "true"
PUSH_ENABLED: "true"
SIGNUPS_ALLOWED: "false"
ORG_EVENTS_ENABLED: "true"
ORG_CREATION_USERS: "{{ vault.admin.mail }}"
ADMIN_TOKEN: "{{ vault.admin.token }}"
PUSH_INSTALLATION_ID: "{{ vault.push.id }}"
PUSH_INSTALLATION_KEY: "{{ vault.push.key }}"
PUSH_RELAY_URI: https://push.bitwarden.eu
PUSH_IDENTITY_URI: https://identity.bitwarden.eu
SMTP_HOST: "{{ vault.smtp.host }}"
SMTP_FROM: "{{ vault.smtp.from }}"
SMTP_PORT: "{{ vault.smtp.port }}"
SMTP_SECURITY: "force_tls"
SMTP_USERNAME: "{{ vault.smtp.username }}"
SMTP_PASSWORD: "{{ vault.smtp.password }}"
ROCKET_PORT: "8080"
restart: always
labels:
- "traefik.enable=true"
- "traefik.docker.network=${COMPOSE_PROJECT_NAME}_default"
- "traefik.http.routers.vault.rule=Host(`vault.unruhig.eu`)"
# - "traefik.http.routers.vault.middlewares=deny-metrics@file"
- "traefik.http.routers.vault.entryPoints=websecure"
- "traefik.http.services.vault.loadbalancer.server.port=8080"
# - "prometheus-scrape.enabled=true"
# - "prometheus-scrape.port=3000"
depends_on:
db:
condition: service_healthy
volumes:
- vault_data:/data
networks:
- backend
- default # traefik
{{ pg.postgres("db", vault.db.user, vault.db.password, vault.db.name, ["backend"]) }}
volumes:
db_data:
vault_data:
networks:
backend:
internal: true
postgres:
internal: true
...

View File

@ -30,6 +30,9 @@ module "dns-unruhig-eu" {
# Filestash
{ type = "CNAME", name = "stash", value = "web.tobiasmanske.de" },
# Vaultwarden
{ type = "CNAME", name = "vault", value = "infra.unruhig.eu" },
# Mail settings
{ type = "A", name = "mail", value = "202.61.232.207" },