From 95163fbed1da85887c54b6dd77cbe2cb0f05d6c2 Mon Sep 17 00:00:00 2001 From: Sam Al-Sapti Date: Mon, 26 Dec 2022 12:45:54 +0100 Subject: [PATCH] Convert Nextcloud DB to Postgres --- group_vars/all/secrets.yml | 84 ++++++++++++----------- roles/docker/defaults/main.yml | 2 +- roles/docker/tasks/services/nextcloud.yml | 43 +++++------- 3 files changed, 63 insertions(+), 66 deletions(-) diff --git a/group_vars/all/secrets.yml b/group_vars/all/secrets.yml index 4d51e98..662bedc 100644 --- a/group_vars/all/secrets.yml +++ b/group_vars/all/secrets.yml @@ -1,42 +1,44 @@ $ANSIBLE_VAULT;1.1;AES256 -38643536646364396264393762346530636461343832356138326530653235386333356566343966 -3132373931663266656135356365386432653862303738660a376634366138373136343439353664 -33633961343737303561383862343036653930646565616138623235333437346632373137313031 -3831636239366235630a383438623139326336356533656638316236326631386366376232343737 -39313364656138336261313037666534356339326136393666303334343432396261323634623062 -35663364383435653235313566653330633738623530363265663662663066356134326430306332 -64616661366332623736666266633230326336323962363239303738303131623235666332303634 -33376561306333343933363432643037666565343865333436633934353638643262616531633439 -32656432356135613535626665303963363836633462643362613630373465313466653564323735 -64626466306239623130326637383965356131366463303834356364356561356231376337353737 -34383136366137303937393161333138353731336565323066396238616435386231373565366465 -65636231626466633635623839363066353530623366663166363231663864616665373736653739 -37623135346530646230386662363561643861613532376331626461653162343330313662346366 -34326262666666323061373336643363353763343833353531613236313961363664656564643464 -61356436333466633036303863396663326135626363376339346366336663363638663165643761 -31383266633164353665653366323732623066323962323065346562353034386634613332356265 -31666662626334313864633633363730373539373331333630316432653161663561356632353438 -34323365366366336437363966306235656135383265313634316666653166313739666465336232 -62313430626464323034663163353037353631653434303036653266346265616636303031323736 -31336165316534383539386363636331366132653531616434303532353336363033613537623561 -63336563383739643163346632656339643861646230373664333234636566383734376433346234 -34356230643730373465666334623934653461323035313264616465383734636235303837393735 -35613861613032396134663433623131646235356631333634326632306566353164653864343731 -61356538613163356662633435616266326434376338383361666537346334333038393666613466 -61653432613038333566636162613839616161366361366439353533336530616161653831336132 -63633462396134353739666239323530373235343164323861613161653332303164653739336434 -30373761353961393131643364363932306333623263663864663661336566656363346663373634 -32316264366431383734396638616135393937663330363037613262626230316366633631316134 -39333263376465333635663665316363376165343161613461616333623362646433623036383963 -63323765616133363331396164316565633934386563666534616464353330376634316430313430 -64313065653637653831383561343266306266613464663239363361393964613235623762613562 -34643831363961313135386630663934396334353235316134626463366635333863353834633464 -65363366653339653437363934373564323966616134336534343636346238316366653736666465 -65613062633237326265636561303230623462376364326339383733326630653331356566343062 -32383962663938376432643839383863316335663339303039363034313434366334646536333034 -63303564666635353765333864333434393162313539643061343537356265613837616661663636 -30336431383332396463613966663338613266313065396631653136653235663261343064326465 -33653463663761663963306138626164316462646363383633653564613463643236633332353538 -35306563306135636639343331623362343233633037383561356431323036643131383932356331 -34623631303533323363663365386666383238366530393165333831343634386439343235653662 -36353132343531376636323065623662333235346137613236383031656630643532 +64376266313233646366653263666661643230623130636238626131366535336436323462663731 +3464656333643939666239323737646636333232306665300a363939323863333336386134663764 +36643838623635356230626335386665383566613734353531336161383936383733383161633264 +6337646565343338300a616137353230373263343534653538343430656238386236363633633336 +33366233643639346661616265626661333862366538633464373166623866616137346534656235 +63663632383731323862663062343965316134643832613961333134323038383338336633333566 +37633336303633376161363462663531336130333131343838653135306133656562393262663361 +32343537623436396137303663643837303561623231393236353366636266663231663939396266 +66303461396464616562376562636262616337623539353532366266376366376236666332353764 +33313731336335663139363638623230316363643737393833666636613933646132306665343238 +37366432313165303833623538313338666434346238363431653435643733616462346564366230 +32333030323631333039363936363237376662613063316230373633666163366536313235383037 +63646136306638386538386165356533323538643265616430376632656262393639346437393835 +62373031323633643432353837333535623330326331613639623239663033616234333762666232 +36653530653733626362666561396361376161666434623361346634633133386465303533316437 +32613364363666626337666430366362343735326431656332343138353939666533393861353035 +35393733383835613135373936386563376234366539613561613433613331373833396330396138 +32373831356662643036383738366337643935363733336533353039653332353037663935623136 +61646131643834646266393433623734336239346433366338653334313733643030393239303837 +65366666313232353632333333336234636138663464633739666531613733633032306261323161 +39353832653366393332626363306431366535656330353531396335343337636437326563313266 +30616335363931306566323730636361393662353439623861333033343063393432373336626365 +34373636623666613539653631316261353365366437376261346637366238653764643163633566 +66623732306130356163323939623966613730643461616139323739663539656232383366653561 +38303133353730383161343164333632313665313737353332363134316565626265373737316464 +62336463366234306438396332633633313162353763666135336132343463353762636136366161 +61333439643438306638303634323661643630316664646438613832306462323032616338633366 +34313437373064306661316235306662636635373665336334333636393534633064636335323665 +32373466666662393036333630373735313130636339326166393664636637616563656462376533 +39653432376330356362323131316539393861663835643431353531393637336163616561383633 +30333062376137326565303661653036653237313735363965373338633436393561396461393065 +34636665656665613234646662643365616666386439326661343736623434393962363934303335 +64666637383639653263393530306338383966656334616334333566323731326263356530656333 +32343331353331663839363264336338376131393438346235653461313034376463616365653064 +35363337333737643361633636323338323332613664626335363533383038626365353035366434 +66316566393464303335656263626166623461383431656636646635363439373465663263636563 +61383734643538346136623766326236363933396439356630623039316130633362393931663230 +35353061303164326436386439383739383964633235616134386365323163633861613362353662 +66393332393036386163303762326163646430646261303739383039613361383536353737613437 +65343333636562646631663166306463333563333334623035626134326137613662623162613263 +31386633623630383538363936386631383232373330313431313738303634393238626134636665 +39656363373730626462616437666133663139323461376135616638313031623239363932636537 +343830633361326531396163663062633632 diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index ad7b432..2907c09 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -19,7 +19,7 @@ services: domain: "cloud.{{ base_domain }}" volume: "{{ base_volume }}/nextcloud" version: 25-apache - mariadb_version: 10 + postgres_version: 14-alpine redis_version: 7-alpine emby: diff --git a/roles/docker/tasks/services/nextcloud.yml b/roles/docker/tasks/services/nextcloud.yml index e76333b..01adc76 100644 --- a/roles/docker/tasks/services/nextcloud.yml +++ b/roles/docker/tasks/services/nextcloud.yml @@ -4,13 +4,14 @@ file: name: "{{ services.nextcloud.volume }}/{{ dir.name }}" owner: "{{ dir.owner | default('root') }}" - mode: u=rwx,g=rx,o=rx + mode: "{{ dir.mode | default('u=rwx,g=rx,o=rx') }}" state: directory loop: - name: apache2 - - name: data - - name: db - owner: '999' + - name: app + - name: postgres + owner: '70' + mode: u=rwx,go= loop_control: loop_var: dir @@ -34,21 +35,15 @@ version: '3.8' services: - mysql: - image: "mariadb:{{ services.nextcloud.mariadb_version }}" + postgres: + image: "postgres:{{ services.nextcloud.postgres_version }}" restart: unless-stopped - command: - - '--transaction-isolation=READ-COMMITTED' - - --log-bin - - '--binlog-format=ROW' - - '--innodb_read_only_compressed=OFF' environment: - MYSQL_DATABASE: nextcloud - MYSQL_USER: nextcloud - MYSQL_PASSWORD: "{{ secrets.nextcloud.mysql_pw }}" - MYSQL_ROOT_PASSWORD: "{{ secrets.nextcloud.mysql_pw }}" + POSTGRES_DB: nextcloud + POSTGRES_USER: nextcloud + POSTGRES_PASSWORD: "{{ secrets.nextcloud.postgres_pw }}" volumes: - - "{{ services.nextcloud.volume }}/db:/var/lib/mysql:rw" + - "{{ services.nextcloud.volume }}/postgres:/var/lib/postgresql/data:rw" redis: image: "redis:{{ services.nextcloud.redis_version }}" @@ -62,29 +57,29 @@ restart: unless-stopped entrypoint: /cron.sh volumes: - - "{{ services.nextcloud.volume }}/data:/var/www/html:rw" + - "{{ services.nextcloud.volume }}/app:/var/www/html:rw" depends_on: - - mysql + - postgres - redis app: image: "nextcloud:{{ services.nextcloud.version }}" restart: unless-stopped environment: - MYSQL_HOST: mysql - MYSQL_DATABASE: nextcloud - MYSQL_USER: nextcloud - MYSQL_PASSWORD: "{{ secrets.nextcloud.mysql_pw }}" + POSTGRES_HOST: postgres + POSTGRES_DB: nextcloud + POSTGRES_USER: nextcloud + POSTGRES_PASSWORD: "{{ secrets.nextcloud.postgres_pw }}" REDIS_HOST: redis REDIS_HOST_PASSWORD: "{{ secrets.nextcloud.redis_pw }}" PHP_MEMORY_LIMIT: 2G PHP_UPLOAD_LIMIT: 16G volumes: - - "{{ services.nextcloud.volume }}/data:/var/www/html:rw" + - "{{ services.nextcloud.volume }}/app:/var/www/html:rw" - "{{ services.nextcloud.volume }}/apache2/apache2.conf:/etc/apache2/apache2.conf:ro" - "{{ services.nextcloud.volume }}/apache2/remoteip.conf:/etc/apache2/conf-enabled/remoteip.conf:ro" ports: - '127.0.0.1:8080:80' depends_on: - - mysql + - postgres - redis