chore(deps): update amir20/dozzle docker tag to v8.4.3 - autoclosed #1
@ -1,33 +0,0 @@
|
|||||||
name: Deploy
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
name: Prepare Build
|
|
||||||
runs-on: homelab
|
|
||||||
container: git.comprofix.com/mmckinnon/alpine-runner:latest
|
|
||||||
steps:
|
|
||||||
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Deploy containers
|
|
||||||
run: |
|
|
||||||
mkdir -p ~/.ssh
|
|
||||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
|
|
||||||
chmod 644 ~/.ssh/known_hosts
|
|
||||||
eval $(ssh-agent -s)
|
|
||||||
ssh-add <(echo "${{ secrets.SSH_PRIVATE_KEY }}")
|
|
||||||
echo "HOST *" > ~/.ssh/config
|
|
||||||
echo "StrictHostKeyChecking no" >> ~/.ssh/config
|
|
||||||
echo "${{ secrets.ANSIBLE_VAULT_PASSWORD }}" > ~/.vault_password.txt
|
|
||||||
echo "nameserver 10.10.10.1" > /etc/resolv.conf
|
|
||||||
./.gitea/workflows/deploy.sh "${{ github.event.before }}" "${{ github.sha }}"
|
|
||||||
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
changed_tasks=($(git diff --name-only $1 $2 | grep '\.yml$'))
|
|
||||||
if [ ! -z "$changed_tasks" ]; then
|
|
||||||
for task in "${changed_tasks[@]}"; do
|
|
||||||
tag=$(echo "$task" | awk -F/ '{print $2}')
|
|
||||||
if [[ "$tag" != "deploy-homelab.yml" && "$tag" != "main.yml" && "$tag" != "all.yml" && "$tag" != "all.example.yml" && "$tag" != "ISSUE_TEMPLATE" && "$tag" != "workflows" ]] ; then
|
|
||||||
tag=${tag%.*}_install
|
|
||||||
/root/.local/bin/ansible-playbook main.yml --tags "$tag" --vault-password-file ~/.vault_password.txt
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
echo "No changes detected in task files. Skipping Ansible playbook execution."
|
|
||||||
fi
|
|
@ -3,47 +3,39 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
# - name: Delete existing template
|
||||||
|
# community.general.proxmox_kvm:
|
||||||
|
# api_host: "{{ api_host }}"
|
||||||
|
# api_user: "{{ api_user }}"
|
||||||
|
# api_password: "{{ api_password }}"
|
||||||
|
# node: "{{ node_target }}"
|
||||||
|
# name: "debian-12-generic-amd64"
|
||||||
|
# state: absent
|
||||||
|
|
||||||
- name: Write notify script
|
# - name: Download cloud-init image
|
||||||
ansible.builtin.template:
|
# register: image
|
||||||
src: scripts/notify.sh.j2
|
# ansible.builtin.get_url:
|
||||||
dest: /tmp/notify.sh
|
# url: "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2"
|
||||||
|
# dest: /tmp
|
||||||
|
# mode: '0644'
|
||||||
|
# force: true
|
||||||
|
|
||||||
- name: Delete existing template
|
# - name: Install Tools
|
||||||
community.general.proxmox_kvm:
|
# ansible.builtin.apt:
|
||||||
api_host: "{{ api_host }}"
|
# name:
|
||||||
api_user: "{{ api_user }}"
|
# - libguestfs-tools
|
||||||
api_password: "{{ api_password }}"
|
# - python3
|
||||||
node: "{{ node_target }}"
|
# - python3-pip
|
||||||
name: "debian-12-generic-amd64"
|
# - python3-proxmoxer
|
||||||
state: absent
|
# update_cache: true
|
||||||
|
# install_recommends: false
|
||||||
|
# state: present
|
||||||
|
|
||||||
- name: Download cloud-init image
|
# - name: Install Tools to cloud-init image
|
||||||
register: image
|
# ansible.builtin.shell: |
|
||||||
ansible.builtin.get_url:
|
# virt-customize -a {{ image.dest }} --install qemu-guest-agent
|
||||||
url: "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2"
|
# virt-customize -a {{ image.dest }} --install vim
|
||||||
dest: /tmp
|
# virt-customize -a {{ image.dest }} --install git
|
||||||
mode: '0644'
|
|
||||||
force: true
|
|
||||||
|
|
||||||
- name: Install Tools
|
|
||||||
ansible.builtin.apt:
|
|
||||||
name:
|
|
||||||
- libguestfs-tools
|
|
||||||
- python3
|
|
||||||
- python3-pip
|
|
||||||
- python3-proxmoxer
|
|
||||||
update_cache: true
|
|
||||||
install_recommends: false
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Install Tools to cloud-init image
|
|
||||||
ansible.builtin.shell: |
|
|
||||||
virt-copy-in -a {{ image.dest }} /tmp/notify.sh /usr/local/bin
|
|
||||||
virt-customize -a {{ image.dest }} --run-command 'chmod +x /usr/local/bin/notify.sh'
|
|
||||||
virt-customize -a {{ image.dest }} --run-command 'sed -i "s|primary.*|primary: http://mirror.amaze.com.au/debian|g" /etc/cloud/cloud.cfg'
|
|
||||||
virt-customize -a {{ image.dest }} --run-command 'apt update'
|
|
||||||
virt-customize -a {{ image.dest }} --install qemu-guest-agent
|
|
||||||
|
|
||||||
- name: Create new VM template from cloud-init image
|
- name: Create new VM template from cloud-init image
|
||||||
community.general.proxmox_kvm:
|
community.general.proxmox_kvm:
|
||||||
@ -65,6 +57,9 @@
|
|||||||
ostype: "l26"
|
ostype: "l26"
|
||||||
vga: std
|
vga: std
|
||||||
scsihw: 'virtio-scsi-single'
|
scsihw: 'virtio-scsi-single'
|
||||||
|
#scsi:
|
||||||
|
#scsi0: "{{ storage_target }}:0,iothread=1,discard=on,import-from={{ image.dest }},format=raw"
|
||||||
|
#scsi0: "{{ storage_target }}:0,import-from=/tmp/debian-12-generic-amd64.qcow2,format=raw"
|
||||||
net:
|
net:
|
||||||
net0: 'virtio,bridge=vmbr0,firewall=1,tag=10'
|
net0: 'virtio,bridge=vmbr0,firewall=1,tag=10'
|
||||||
ipconfig:
|
ipconfig:
|
||||||
@ -73,6 +68,10 @@
|
|||||||
timeout: 600
|
timeout: 600
|
||||||
vmid: 10000
|
vmid: 10000
|
||||||
|
|
||||||
|
# - name: Pause for 5 seconds while template imported
|
||||||
|
# ansible.builtin.pause:
|
||||||
|
# seconds: 10
|
||||||
|
|
||||||
- name: Import HDD to Template
|
- name: Import HDD to Template
|
||||||
command:
|
command:
|
||||||
cmd: "qm set 10000 --scsi0 {{ storage_target }}:0,iothread=1,discard=on,import-from=/tmp/debian-12-generic-amd64.qcow2,format=raw"
|
cmd: "qm set 10000 --scsi0 {{ storage_target }}:0,iothread=1,discard=on,import-from=/tmp/debian-12-generic-amd64.qcow2,format=raw"
|
||||||
|
10
frigate.yml
10
frigate.yml
@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: frigate
|
|
||||||
become: yes
|
|
||||||
pre_tasks:
|
|
||||||
- name: Base Install
|
|
||||||
include_tasks: tasks/base.yml
|
|
||||||
roles:
|
|
||||||
- role: docker
|
|
||||||
tags: docker_install
|
|
||||||
tags: frigate_install
|
|
@ -1,120 +1,100 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
37653035376133366661653938306536626438616463386137386164393530336166363965633161
|
32656263363465383531613338653130323635653238383232646265326433616462363464656539
|
||||||
3266623761396161636433373036376362336464383862320a323733623665373365383532623131
|
3162306463653134666135376366643861353862663765630a343165613030633661353463316463
|
||||||
61343138613330666465323236633164616162316432633331643130393036663566623833313630
|
30633162376563663166616366643836316363663065333366643338383939636531323538616536
|
||||||
3531313266646538300a376439336336646466383339396138636631656136383865623330343837
|
3136383363636131360a326661366265653364323966386634656465376433633035343033653034
|
||||||
38323031343733346632613830333836316433383631323530623631393738393665666132363334
|
38613637613431616637323038363933383037396236386633303366313835333865316563373966
|
||||||
36626364373361396261646533316631663535633166386230363239316661346362313831306264
|
35623038613166356132633264366361313030313765333335343136326165326333656361363462
|
||||||
37646661353632336136646430663732633764376332663534333665316566326462386638636232
|
61383538356434643333653534346264396335653535343362386234316666626431643130346436
|
||||||
31303132636535323734636135643633373365306662303965653034333234303265363738653939
|
34363265613632666431343735376166383466633338353339646337613135613461363366346562
|
||||||
33313738323033616266313665633932323136636366346461393933326236633335623335633432
|
39333135633061376139333030666365366438366434326139313265643034363934306134643630
|
||||||
37363261366637613639386630643836383864653465353735643735633337663866366139653164
|
65356338373564346362633830383337373131366263323166386435313931633139646233623033
|
||||||
37646461383466636134336365646533306262643438356264376430346432376235616565383039
|
36666334613766356463333963653034316636376364303063666237383732396335636231303764
|
||||||
31653065383732313435343563623765373231396562343637313437363731633435336530393936
|
63343963633664393632613263333563643737393466326665633766663764363236333834313737
|
||||||
61353166316564313336383232366134313839333635353230383037386534326538393430323034
|
66353833636661643536633066366666306231643038623632306230656534336666303930303461
|
||||||
65353532346137346531633935393437393264373166663763323861633235633566383534616337
|
62323137353530396135376364316331353138616161303265376334303666633032646631323664
|
||||||
62613265316163623861326333396230386264303533613735646130363836626133353161396665
|
31323336386339326530646237666239333963343732376235306537323336303030613164623765
|
||||||
61316561303466646361613665386263363135326638376239346531383536346462333637313662
|
33383534326532383230616561376136646632643634393563346565336139656339383631333539
|
||||||
33633266323235663733636265656339313464343832303930303937303630623230376332636465
|
66613830313134313239366232323965343063633433653434373564663861323330323663363965
|
||||||
38633765313063666338306433386136356366303633323363343838653531313962356262366466
|
36363132626535663734653739333331616532666635333936306334656264646336366233356562
|
||||||
33313239393562396664326366353966306263623362376238393863356361376430636261643763
|
34383135343335653130636132633631623634333961376262316536633339313033326239356663
|
||||||
61633561306166396230643031326635356263326236613164396335333465663937656463363766
|
38666361636239356665626139643735333461633436373362373034383536326664336663623038
|
||||||
61393362353163343266373561656431373465626538333966313937383732613437363030386337
|
31383237643733613533633535383939313835313363633362343965633336626263623932663862
|
||||||
30343464316262353737366535393533373634643966633733393535623834613130363533663330
|
32376265666438333663373364613861656564326139363731313731343234373934656633613532
|
||||||
37356634323562666662623833313362383739643061373162643733373234313564653465346666
|
35396535306164323237376232633830613432633735663636396137356361303730376239373130
|
||||||
66343631353732353931303137343239373337373732316630363265633532306432356337313664
|
61313630313235373363333862363961313938303332366233656364616536316366326466316439
|
||||||
61386561363030656366313739316461326235613764383264646535363039313330306664353235
|
39376632663062666135623639343136643065363734366430386563613530343061326661653733
|
||||||
62306265323735333166613965373866336530613339313065373836393431653564303233323864
|
63323036633363386636333636633864333334306164306431663662383562396434306336303337
|
||||||
35666235303964316530376332356634333932643938396430636133313238346630316539303639
|
32383137363834633731393564353238636237313361643438306536386432666663383563653834
|
||||||
30623134313532653634623138323339333732376564366533366162653562643638343233643633
|
38613031353265316230363464353638373564636234303266396264306231383634623664626535
|
||||||
65663139356330316233623832346537306438643637323262383965353164313134373036373031
|
64363033373535666135316364303862343732393036396334326136323437646239363361373762
|
||||||
32303666313231623135653332656538346632333331623032373062326234643364373834656461
|
61633761343362653261316434636664353564363330303131333236336230643161623863376634
|
||||||
64613961386436323930643762633431363162363430313139653338656339333132313662393537
|
34613466396330313837643139333565366263363430343536386266323937336466623931383062
|
||||||
31393565303836393634613034623235396537336465336137316632366264353536643236353965
|
62626363383163663637353235343035323233393033623132336664396464343638303839376561
|
||||||
66663133643462323139653631303230313731333235363764613463343665366335626438613561
|
65376537666430666330323430393337666233636165356665323032343563333833383830616165
|
||||||
33373432376232313264343437656262616462663466373731633737643035303565663535623533
|
33636662633961346561373231646664643932386465343537626237663338613836356430393961
|
||||||
38303230313130616266376163373931666239616436336438363364376665356561383231326666
|
39363963633237306561353161643133396366633762336437633138393139653261373539303539
|
||||||
32386330623364626266306466653432326564663134646362653133346138306336363231613164
|
36316464643362336135363631666130653131326435306463366236323830663965363662646361
|
||||||
61383236393630623336346663383161366461333635343239313438366134336330666663363037
|
35643430666365613465666436386332346561326439643863333138363263306331653733343432
|
||||||
61396338313866373562646533643831343831663231613563376132656338653662313532313037
|
63363932303735396234323963363336353133376362306539333131323262336535333733393639
|
||||||
64616333373066653035623639323764346365316433336166376261343736306338333739393034
|
63613064636333303532623935393262373363636161653566373830636131633835366463363533
|
||||||
61333033383661386434656233316364646562363066616164666436323433613564636539316631
|
61333163326262343037313462303930363234316462623963323563303864383163643936643761
|
||||||
31626134623239396664616561363538363932303565636662636335653430316439353662326537
|
61623461326334396539633364643031366231316535643135313935633439643361656136616532
|
||||||
34373433636265616231643865353862396237336561356262333236343837353631393664323438
|
34653635303631623639656165666231363563383336666337323361636137643564373565323238
|
||||||
36303636316532633566616661636436366336396237366135656663616330306239343461643337
|
35353965633230663166353161643033383666373530623739396139366137316438396333666231
|
||||||
38383736633364666463356131326233366565663535346531393135616138303734386335643063
|
34613136363939633565393336336633636665363838323230346262386335386365376262326462
|
||||||
31643763306361306131366163663161623439623034383462643036303765313631663966326164
|
34393539393365346364393432313665356465653866666538323134636630613137333261383364
|
||||||
37303133353736636265356635646436643334383932613332643632643230346339353132633434
|
39313362333832623837313235353331346434303166633137303234303062646337373664373861
|
||||||
65633566663237633639666331323338383364306266386433306461383838316132383939323765
|
32343037613362346134636531356463303739396364646339333138363064376632356534323834
|
||||||
61356435633965303765363261623531363935303835376535616339666537333964363665363431
|
64313864323065303531366435393864303035303331313737316137376361656438353739333830
|
||||||
31626238643238366466323531313861393234356266336637336561363266636135623739626330
|
64333234353837383938393861643236373338323436323863393933643332366363653935646264
|
||||||
61653566613139656537663237336132633863306638393233333930336363656237636438323538
|
37376336616162346161623136393662306137616638383134363964313835333332366430353364
|
||||||
64323239373431323366383034333438656539333765346266623261636338343938306632626132
|
64363730626564393134383534313130313633623137336630386364326365336262373963396239
|
||||||
39626330643163613437396463326532356262616233643034333261646266363932303839616665
|
32393061663964643036323233633232326232656363613339376663633761316639323737383365
|
||||||
62323563663561653164306538626631666565623737613932366636653639376339623065623831
|
33356562643530313434383639393766633733383263366162316332306532366362653737356539
|
||||||
65323837643164663531396230366634373830303236373834643336666338333833313062306431
|
63656366356333396165383330626535626232336137646464323665316464626139373964623163
|
||||||
38383238393437633338303335613266383564303131616663346439343031303438653434633461
|
31626230393661333164303834396331623934356538326166313635656437316236313630313463
|
||||||
30366532346464343038313033336637653561616333356631343433363536303661643064383933
|
65303633616637383436383737366361313736383262663130343932323830383763643235353264
|
||||||
66626131333065343734396339646462336533346338316662303230666662616135623834333036
|
36643966303937336636653037633739303364626638636438396332373862306665623037306336
|
||||||
37373965356632316236633136316435326633303063353538666130333036613561646163623839
|
61626330313364333639353366363131343434663139643361323836353065656137333162333130
|
||||||
62653631386432396130383465396266633966336663383239623735346363386461343234653830
|
65326364396665613763373565323165383638386135366235646437383130333434346635393566
|
||||||
36623130663963653832393932333962373566623862663137316337636633356362316139343732
|
61303263343132663531663237666337326365653737653731626364383665663334643139346338
|
||||||
31643137653835303766353734646637663735613063353265316533363963356235653363613736
|
66613266633263613037646334346661393063373330616431346161376137656139366166616264
|
||||||
33633334633065656665313462336266366561363933356465613161353839343234666562656462
|
64343737643662663134363265653063636665656366656135633932653165343361633835336665
|
||||||
36316366636235363738383634663365343438643933366334313765366265646438316336373134
|
35336139653939656162323366386435623134623062313461613261343264323731613732313435
|
||||||
31333165663463643763363335316430376335303261343734393238383933636630366133353239
|
65313436396464366662366533313162343233323836323336393665646361343438383063623964
|
||||||
63383933363762643033393165386638373239336465636431303261396561313938316562363539
|
63303761316666643237323364336139323536643664363331643565336166316163663731393065
|
||||||
64393066316534376632623362353563626165653330663431363734656339323032643331386661
|
30643638356231303563343433616335306435316161333937363937633131373536346464356539
|
||||||
32613535313831633936636236303832393039393864656561313866353734323161393336653039
|
36663865633336666539363734613131303931363732643665363866643533643763343433616561
|
||||||
63636336626330353030393935636164633137626338326232393531383864636534643635323262
|
66656238653734383131376330616535636138663933393032613166396436623436393563643336
|
||||||
37643835336534333737613838663363346266653265366433333333353362656262653861393437
|
38656164313566356566613331396539656531666462336163373034613232666439346633616166
|
||||||
39313233363332323839346562386234343135633134356238623164353931303261633932363438
|
35316636323064346531656631363265366335336265316362623438336230626332333838626265
|
||||||
36376462303761396662363234386239323030376362303763653966656237366461343134366662
|
61313834393664353133623132303332353633636464343764643334323866303664346563353839
|
||||||
63333836353465306331633836356632643934303637323764653033663366616639373164306237
|
34366534383963383366633765366337363835326133366264323239323266313433636538303537
|
||||||
64373830633166663531373861303534356662386563323339643961653361613265323933333634
|
65306230666335386332613638333738363965623934366338653133623434373831656361386437
|
||||||
38393065383764376237663038396437376138643933383033376135643463643732306137386634
|
37323232346236616236346539613739313237326433363961666535343634643937343331653366
|
||||||
32653938663862303435373436616461656133376263653236333038333433396234636465396361
|
32313864633562346132343538633035303432383033363939306663613939376261653662666161
|
||||||
30326561353330616436326662353436656432363738313765363666646133316638623331373530
|
39383639646338656233376130633966343637353238346435383637376636363631343037336236
|
||||||
38393962666133613334663463363665323366343630343832343066383566396330346665393861
|
36393361646161613736363135343964383364316265343939393333323937376661356331376465
|
||||||
36383733313032316363626631333763396262653164326236633962346132326431326563633064
|
62616333306137643366386561343234663836653833666239383835393031303163393365356661
|
||||||
33626230313766303966623261346664333438303434316365313932393732663330336637353530
|
31356537313530333934653564353039623766326236663635396539616533303831613135653738
|
||||||
66383165353766626235643939613535373336373232363935333838363038363762636366393264
|
31373234346439373230613139636661656636393238363132383732376436646638643131376435
|
||||||
37633534613166336639393136666636373261623239613931366435663432346535363834623765
|
36376435336232353333353563616164643632363565633639623161386436643663656132373135
|
||||||
61636230333861313433633539336463316464306339356331313865396539303965306334633939
|
35646365336365333931653665343461663263333432306131633335333766396165363631663930
|
||||||
35633135613034643136353437303537343139653165613131393133353934393062616334386532
|
66633039383564613739653436666330363661666631353461613333313632333032373939626263
|
||||||
61666264393561333130306632353432663231663839656239316566336566636430666533626464
|
38326164303131386461613962326166666434393031633365306332383663303638666330363632
|
||||||
37336362623931373161623330613339353739356632346635623533313961373133623864643366
|
31343135613065623464646661623865643765613838376434393765663366343961646432306135
|
||||||
66316161346130663531626436383664386437306432613731303632346163653730663762366537
|
62356234323436653166613462373931616236333265616465346564653563323233383962306162
|
||||||
35393838396435623839313537333132643737626134353333626535313861666535646330383038
|
33393030663330336332316332343731666561346539633531653431303934316663363964616236
|
||||||
62626563333538613736663831303433366266643331646366356161343936363538313066373733
|
37336236346563346533643338366433343035653766383663306333633031343462383931343465
|
||||||
36336331626334393661623163636435633430323132343732646363356565636232373736376563
|
38663432383865616432326236376633353935323434333431313739353232343762626439366263
|
||||||
38303363323263363463626361306164393839363339303831353730353632633035306531353064
|
39333762343761613861396431643561653665303831613964363733396663356333373437383766
|
||||||
36353163303830353965333765336233313033393233326165363939386564353661656465643932
|
66343831373463623233646438393537313966613238366334356331356234356232663066316635
|
||||||
32353461613134333663346633613034656132313434353438393236363036613463613734363138
|
66636666333465643132383536643234343135396632393265663465393930346138383761363139
|
||||||
30313661616264353465363935353639326265333639663739386433313834316130656231383433
|
62623966613964373963623362343164623837626638623330383932396638363766383166653462
|
||||||
34616631646161663331363336323366343535646166663432636166396562333632663162393235
|
65346634646264313132623332633536383236376336313339356561663339656430623866306336
|
||||||
66323931653434346138653464653531656261366662346261366336323965353636393539656130
|
66393263656461316433663735353733646638633430663635643064386633666334326437613839
|
||||||
66353235306233373833643436343735323935313834373638396335396432363532396430303533
|
36316333326663663664363436613933636532393630346430313931633533623035346366343934
|
||||||
35633735326337636539333061626439623833646362393963323032363330306463613662393065
|
61303437666334323231343336366330656261646566653938653733633933653562373938633962
|
||||||
61636466646264636535626332653264356430313536313263633030333435613539666236363636
|
30386438343166316366646565333766393930303435663362303432646337323465316261623565
|
||||||
37656362303135363339613034383961363830616237366265643131306162316461313432333462
|
363632346536336638383065656231373538
|
||||||
63646434326139313664396162386137623662343337643938613662613434653832666537316136
|
|
||||||
64306664353362636134343061363664316264383838663461653066383366313231653533643662
|
|
||||||
38653135316263633437643434356436343739613034656363306636643366363361396239306266
|
|
||||||
65626439636331346561393638316433323630376537646639623035336235663266333730393465
|
|
||||||
64663435303463346363383065336662656630393534366237366539656230303665623063316164
|
|
||||||
65643365393937613861313061633366613962393738633065663438623332663862303531316536
|
|
||||||
64363237613330643061666534383638343839663165346161383130343433663465386230656632
|
|
||||||
37633231333162623165313536613836316664636632343231393961346637363364303435396434
|
|
||||||
34623465633930363437343162633865393831393863393632396335383330633565333837346634
|
|
||||||
37323663643566373262626663323361343036643533376331653033336165383631313164626662
|
|
||||||
37333239356436613461303332666463383865343531666332383563663234646234316333613036
|
|
||||||
65316337383233326363326363633232396461356335383536613036313461613037323235616238
|
|
||||||
39613232623635636138396366323339616430633363313530353237393338323762326366646132
|
|
||||||
37626466646530356239373834636333303564646535616339346231376364636331346335333663
|
|
||||||
66646364376235373732616461653866666132646563656438636232346562306662353437386661
|
|
||||||
32396535353765353138343336623833646365633731376233326161373563366562353239343530
|
|
||||||
34623962643737356661613562393361396230363130616138326431333961343263663032346139
|
|
||||||
62373736623064623338313634623761666265336236353564646633353064633931396461303762
|
|
||||||
37633762396663653232396432653839653863326361313135303933376163316332366431663063
|
|
||||||
353131333632363166616666646661383437
|
|
||||||
|
11
hosts
11
hosts
@ -1,12 +1,9 @@
|
|||||||
[proxmox]
|
|
||||||
pve2.comprofix.xyz ansible_user=root
|
|
||||||
|
|
||||||
[cloud]
|
[cloud]
|
||||||
vps02.comprofix.com
|
vps02.comprofix.com
|
||||||
|
|
||||||
[docker]
|
# [docker]
|
||||||
docker.comprofix.xyz
|
# docker.comprofix.xyz
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[omada]
|
|
||||||
omada-lxc.comprofix.xyz ansible_user=root
|
|
||||||
|
|
||||||
|
173
main.yml
173
main.yml
@ -1,4 +1,5 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- hosts: all
|
- hosts: all
|
||||||
name: Configure all servers
|
name: Configure all servers
|
||||||
tasks:
|
tasks:
|
||||||
@ -25,6 +26,10 @@
|
|||||||
tags: traefik_install
|
tags: traefik_install
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
# - name: Deploy Homepage
|
||||||
|
# import_tasks: tasks/homepage.yml
|
||||||
|
# tags: homepage_install
|
||||||
|
|
||||||
- name: Deploy Vaultwarden
|
- name: Deploy Vaultwarden
|
||||||
import_tasks: tasks/vaultwarden.yml
|
import_tasks: tasks/vaultwarden.yml
|
||||||
tags: vaultwarden_install
|
tags: vaultwarden_install
|
||||||
@ -34,122 +39,94 @@
|
|||||||
tags: gitea_install
|
tags: gitea_install
|
||||||
tags: cloud_install
|
tags: cloud_install
|
||||||
|
|
||||||
- hosts: docker
|
# - hosts: docker
|
||||||
become: yes
|
# become: yes
|
||||||
pre_tasks:
|
# roles:
|
||||||
- name: Connect iscsi
|
# - role: docker
|
||||||
import_tasks: tasks/iscsi.yml
|
# tags: docker_install
|
||||||
tags: iscsi_connect
|
# - role: nfs
|
||||||
|
# mounts:
|
||||||
|
# - name: Docker share
|
||||||
|
# path: /mnt/nfs/docker
|
||||||
|
# src: truenas.comprofix.xyz:/mnt/datapool/docker
|
||||||
|
# - name: Data share
|
||||||
|
# path: /mnt/nfs/data
|
||||||
|
# src: truenas.comprofix.xyz:/mnt/datapool/data
|
||||||
|
# tags: nfs_install
|
||||||
|
# - role: traefik
|
||||||
|
# vars:
|
||||||
|
# traefik_host: traefik02.comprofix.xyz
|
||||||
|
# data_folder: "/mnt/nfs/docker"
|
||||||
|
# tags: traefik_install
|
||||||
|
# tasks:
|
||||||
|
# - name: Deploy iDrac Fan Controller
|
||||||
|
# import_tasks: tasks/idrac.yml
|
||||||
|
# tags: idrac_install
|
||||||
|
|
||||||
roles:
|
# - name: Deploy MariaDB
|
||||||
- role: docker
|
# import_tasks: tasks/mariadb.yml
|
||||||
tags: docker_install
|
# tags: mariadb_install
|
||||||
- role: nfs
|
|
||||||
mounts:
|
|
||||||
- name: Data share
|
|
||||||
path: /mnt/nfs/data
|
|
||||||
src: truenas.comprofix.xyz:/mnt/datapool/data
|
|
||||||
tags: nfs_install
|
|
||||||
- role: traefik
|
|
||||||
vars:
|
|
||||||
traefik_host: traefik02.comprofix.xyz
|
|
||||||
tags: traefik_install
|
|
||||||
tasks:
|
|
||||||
- name: Deploy comprofix.com website
|
|
||||||
import_tasks: tasks/comprofix.com.yml
|
|
||||||
tags: comprofix_install
|
|
||||||
|
|
||||||
- name: Deploy iDrac Fan Controller
|
# - name: Deploy InvoiceNinja
|
||||||
import_tasks: tasks/idrac.yml
|
# import_tasks: tasks/invoiceninja.yml
|
||||||
tags: idrac_install
|
# tags: invoiceninja_install
|
||||||
|
|
||||||
- name: Deploy MariaDB
|
# - name: Deploy osTicket
|
||||||
import_tasks: tasks/mariadb.yml
|
# import_tasks: tasks/osticket.yml
|
||||||
tags: mariadb_install
|
# tags: osticket_install
|
||||||
|
|
||||||
- name: Deploy InvoiceNinja
|
# - name: Deploy speedtest-tracker
|
||||||
import_tasks: tasks/invoiceninja.yml
|
# import_tasks: tasks/speedtest.yml
|
||||||
tags: invoiceninja_install
|
# tags: speedtest_install
|
||||||
|
|
||||||
- name: Deploy Homepage
|
# - name: Deploy dozzle
|
||||||
import_tasks: tasks/homepage.yml
|
# import_tasks: tasks/dozzle.yml
|
||||||
tags: homepage_install
|
# tags: dozzle_install
|
||||||
|
|
||||||
# - name: Deploy osTicket
|
# - name: Deploy jellyseerr
|
||||||
# import_tasks: tasks/osticket.yml
|
# import_tasks: tasks/jellyseerr.yml
|
||||||
# tags: osticket_install
|
# tags: jellyseerr_install
|
||||||
|
|
||||||
- name: Deploy speedtest-tracker
|
# - name: Deploy lidarr
|
||||||
import_tasks: tasks/speedtest.yml
|
# import_tasks: tasks/lidarr.yml
|
||||||
tags: speedtest_install
|
# tags: lidarr_install
|
||||||
|
|
||||||
- name: Deploy dozzle
|
# - name: Deploy prowlarr
|
||||||
import_tasks: tasks/dozzle.yml
|
# import_tasks: tasks/prowlarr.yml
|
||||||
tags: dozzle_install
|
# tags: prowlarr_install
|
||||||
|
|
||||||
- name: Deploy jellyseerr
|
# - name: Deploy radarr
|
||||||
import_tasks: tasks/jellyseerr.yml
|
# import_tasks: tasks/radarr.yml
|
||||||
tags: jellyseerr_install
|
# tags: radarr_install
|
||||||
|
|
||||||
- name: Deploy lidarr
|
# - name: Deploy readarr
|
||||||
import_tasks: tasks/lidarr.yml
|
# import_tasks: tasks/readarr.yml
|
||||||
tags: lidarr_install
|
# tags: readarr_install
|
||||||
|
|
||||||
|
# - name: Deploy sonarr
|
||||||
|
# import_tasks: tasks/sonarr.yml
|
||||||
|
# tags: sonarr_install
|
||||||
|
|
||||||
|
# - name: Deploy sabnzbd
|
||||||
|
# import_tasks: tasks/sabnzbd.yml
|
||||||
|
# tags: sabnzbd_install
|
||||||
|
|
||||||
|
# - name: Deploy mealie
|
||||||
|
# import_tasks: tasks/mealie.yml
|
||||||
|
# tags: mealie_install
|
||||||
|
|
||||||
|
# - name: Deploy pyKMS
|
||||||
|
# import_tasks: tasks/pykms.yml
|
||||||
|
# tags: pykms_install
|
||||||
|
# tags: dockerserver_install
|
||||||
|
|
||||||
- name: Deploy prowlarr
|
|
||||||
import_tasks: tasks/prowlarr.yml
|
|
||||||
tags: prowlarr_install
|
|
||||||
|
|
||||||
- name: Deploy radarr
|
|
||||||
import_tasks: tasks/radarr.yml
|
|
||||||
tags: radarr_install
|
|
||||||
|
|
||||||
- name: Deploy readarr
|
|
||||||
import_tasks: tasks/readarr.yml
|
|
||||||
tags: readarr_install
|
|
||||||
|
|
||||||
- name: Deploy sonarr
|
|
||||||
import_tasks: tasks/sonarr.yml
|
|
||||||
tags: sonarr_install
|
|
||||||
|
|
||||||
- name: Deploy sabnzbd
|
|
||||||
import_tasks: tasks/sabnzbd.yml
|
|
||||||
tags: sabnzbd_install
|
|
||||||
|
|
||||||
- name: Deploy mealie
|
|
||||||
import_tasks: tasks/mealie.yml
|
|
||||||
tags: mealie_install
|
|
||||||
|
|
||||||
- name: Deploy pyKMS
|
|
||||||
import_tasks: tasks/pykms.yml
|
|
||||||
tags: pykms_install
|
|
||||||
|
|
||||||
- name: Deploy gitea-runner-homelab
|
|
||||||
import_tasks: tasks/gitea-runner-homelab.yml
|
|
||||||
tags: gitea-runner-homelab_install
|
|
||||||
|
|
||||||
tags: dockerserver_install
|
|
||||||
|
|
||||||
- hosts: omada
|
|
||||||
become: yes
|
|
||||||
pre_tasks:
|
|
||||||
- name: Update packages
|
|
||||||
import_tasks: tasks/base.yml
|
|
||||||
tags: base_install
|
|
||||||
roles:
|
|
||||||
- role: docker
|
|
||||||
tags: docker_install
|
|
||||||
- role: nfs
|
|
||||||
mounts:
|
|
||||||
- name: Data share
|
|
||||||
path: /data
|
|
||||||
src: truenas.comprofix.xyz:/mnt/datapool/docker
|
|
||||||
tags: nfs_install
|
|
||||||
tasks:
|
|
||||||
- name: Deploy Dozzle Agent
|
|
||||||
import_tasks: tasks/dozzle-agent.yml
|
|
||||||
tags: dozzle-agent_install
|
|
||||||
|
|
||||||
- name: Deploy Omada
|
|
||||||
import_tasks: tasks/omada.yml
|
|
||||||
tags: omada_install
|
|
||||||
tags: omada_lxc_install
|
|
||||||
|
@ -1,25 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"extends": [
|
"extends": [
|
||||||
"config:recommended",
|
"config:base",
|
||||||
"renovatebot/renovate-config",
|
"renovatebot/renovate-config",
|
||||||
":semanticCommitTypeAll(chore)"
|
":semanticCommitTypeAll(chore)"
|
||||||
],
|
|
||||||
"ignoreDeps": [
|
|
||||||
"postgres"
|
|
||||||
],
|
|
||||||
"automerge": true,
|
|
||||||
"automergeType": "branch",
|
|
||||||
"automergeStrategy": "rebase",
|
|
||||||
"commitBodyTable": true,
|
|
||||||
"ignoreTests": true,
|
|
||||||
"major": {
|
|
||||||
"automerge": false,
|
|
||||||
"dependencyDashboardApproval": true,
|
|
||||||
"commitMessagePrefix": "chore(deps-major): ",
|
|
||||||
"labels": [
|
|
||||||
"dependencies",
|
|
||||||
"breaking"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -43,7 +43,6 @@
|
|||||||
- name: Setup cron job for backup
|
- name: Setup cron job for backup
|
||||||
cron:
|
cron:
|
||||||
name: Docker Prune
|
name: Docker Prune
|
||||||
weekday: 0
|
|
||||||
minute: 0
|
minute: 0
|
||||||
hour: 5
|
hour: 5
|
||||||
job: "docker system prune -af && docker image prune -af && docker system prune -af --volumes"
|
job: "docker system prune -af && docker image prune -af && docker system prune -af --volumes"
|
@ -1,51 +1,51 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
38366130306535633564303136306635643965383961636561366233653333333934326331633837
|
36326633353666613166393030633363373435666230663138303735323132663930663663383138
|
||||||
6563626566653165386636626236313761636563386564610a336165656132393339626334376238
|
3131616265626633663430353835663866356436373533390a623564333539306162613532393661
|
||||||
30653062373161653730393865663330643231653763346436336230386638616235303834646639
|
61326437363033383862343034356639316162363364356135616132396136383962333062653566
|
||||||
3734343334356130360a386365633565363538653435346363343766383938633934383638333833
|
3966323033663162640a323461656637633062373134656237323339346638663338353266386164
|
||||||
37653762393739376663353430646435306334303538613735663639623562666230353431613839
|
30653839343165663937653534313335316336356262303331643839643733663264643265633337
|
||||||
64656234396263656433643764346336656364313635313537643765633736373532376336303366
|
62633265656330353536663762643130636466353165336535393033663937396364373064363133
|
||||||
62363565613361326532653837323961323937643061643562376562306535326331633137313930
|
66323931663164313235316638393838326532643233636663333635656162343333643233646131
|
||||||
34663663306632663735643139653437316463373361393662633866613436376361353461616132
|
33336239393035613839646434643633313239393764613836343039383361613437626334643534
|
||||||
35326261353062653630666635313566623833343130356139396430616132373632666132393237
|
33373461336363636162646631323266353235326361393338366563653663343537633765653261
|
||||||
34616165376366333137396139623439346537313037306434363364393461343364363265643264
|
30393863323134376466346663376432623938376638393135356439326562656534376233646364
|
||||||
37666632343636633165643961376231386637373463663834663735316536316336396632353330
|
31353336396362323363323964383635303264646661626662333161303961383333636437393264
|
||||||
61376138333564616366616365303134393334656666393433373936623962666134653265653038
|
61623638303066343832303034633736343031333732633437356134393837663637653738303837
|
||||||
34343432373733313365376133633436343536626165366331303639303261346237623162376531
|
65643264663564643432363830373861323062393561386261323638353339663835663830653633
|
||||||
65363830366437613831636564323134343036656230353331326138626330373339343365303766
|
35373865383832656665333263323463303631343239346632336565393032333865353364386431
|
||||||
66313430363137643132383830333463623730636664386135646566653934343136383038373838
|
34633064356233626337646439623665613039666632366162346534656438393965623836366230
|
||||||
35623361646535386661633134613361376565366334386665323638626133646431636163333865
|
38323765633333663266656161376233343131646165343538653335653061363435316536313339
|
||||||
35366164316562643664643631333833316464613961303563633263333865623166613035653565
|
65366539313338623030663233633766373865653938616437323664633537306162353438373564
|
||||||
64646337393964616161623536366431613462663466313634643730636461656364353732653437
|
30383831353563663834373731356330393535613162313461303265353461643434613833376330
|
||||||
33653935373666333366383036643565653361343965653436363836623032613764336566643737
|
39653063363666353261373161636434366464306539306538623533373764666466383766646166
|
||||||
34326562353436356234383634653036366562663434626134666663393636393636613033393136
|
63313263626539316163656431393534393266666632366430323439373931636235663137393363
|
||||||
30303163386265393963613036363964643331363965393032626565353161636230383834356435
|
66323338643835356338646565653235333762343162636434653561626630333233343232633365
|
||||||
64636337613634643831326630346563356166373332303866393636356566633264313961336661
|
64353139376236363039343432636563316562383263336434376236613734396564393137366531
|
||||||
34343932356166616362636133316638393735353735383138633631323439343665353633313461
|
35613232646638313435326234366335356538393331363862353232353961373734646332646635
|
||||||
35636166313436316534623634653631366366346563636138303265343763623935323336383632
|
37323930623932326164323831393462653331373562336264613635396339653161303863623739
|
||||||
64623063623264313962356461386231663832366562383730313965663233613930373437643464
|
34303532376335623533373466366464666662653533363963326536633938333833376432616330
|
||||||
64666533633162313031376536303965303831393137383965393532366331343665663962376138
|
62326261366463323934663939316338306535323935623935323337333866353539336132326564
|
||||||
65393436353231663432656665646436306665353865633265633534636238646336666239613764
|
64623739623064333932386363353235356431656339663039643631353264376234316430356235
|
||||||
34303633343432376134636239336637316434643536613562313137663634666662353433653762
|
33326233356638646163633333613736343732626263333631336333343434353164333436653331
|
||||||
66623035313335626463623632633535323335363434396436326330393338373532613930623736
|
64376539336562393538613134633933373339363737363364623066383130653033633966316665
|
||||||
66313761656231353232643937636134643531396134383236333164666332376365653865363963
|
36323361656131623435346565323638313030343762313765646264396461616165393762366436
|
||||||
34393637646238376563356134613361363638386665633337396564393538366165643735323066
|
65363563313439376437626533386262323036346436663030303736363061396639633338386337
|
||||||
32663437623736386565646265666338376236633363316664306361646235343063633039353638
|
65623534393561643662653538633630363663326430383030393062323934326465313533303662
|
||||||
62316266366530656465653566363137663738633266623663306639653337626562313439653530
|
30323861613333353465396536653632373934363162393465373466636132383064663063383834
|
||||||
64346538646637323730386331383661366532303764643936666232303835363930313866393732
|
66653938346463663335333737386339666430643034386335353938633232323333633238643035
|
||||||
65383564376131613664373437373365643662313862643834316638306534353263306262363265
|
37643239383936393233353735333164663566663833383763306635646666666365336161316437
|
||||||
32313135656463393237633065633430353031616630643563373730396630616431613363663961
|
64343032376139373036366433376263376565656435336662656661336530323130356266353265
|
||||||
37366634373866306461343035363135343064643539336165633534313635326433643235393263
|
32316361623238386530303533343763646533653631613965386639386237303965636634353366
|
||||||
61653935383831393332656562323032336662303562313964356165353562373639396562386536
|
31363137376633376532383361376631663734653262616237373933363330323337386434623261
|
||||||
35306265343861366565636262383436633637373337383962336438636134393065376538323638
|
63656364653162323463626361633533353132666563393538383332306263316639396530323131
|
||||||
35646431316639316139393430653563363566353035343738653432306164393665303936383434
|
63646566623064393930343137623564323234383430363365313834336464333432623466646139
|
||||||
34336236646637646162306463396166383334356134653961306634363962643731373761376330
|
33343833353339633236613439623735316538373962663365623963663639663264396238363465
|
||||||
36346663643835646235326632626135396632316636636131343761396265323734613566613136
|
61313338343435313035643163316631303433383738393162633032613830663264386538343763
|
||||||
66326539333130663361336564333233333337353562376665646361663339323565343232393431
|
30363434653461396239306334333366333232373732353362666538323063313934346433666334
|
||||||
39636363643232396338386630323337383038336564633235323231376638646133336139383864
|
35363236333038333363653737656362653362376338653364636566346637376566306632326438
|
||||||
64626561366563386164366664633039666661386337386637323335656530396665623532653261
|
32663930613066343361616665396334393863643963316239313735363539333263656133356665
|
||||||
62646262626534303362656435663066646633623562636533363138613433663165633738636639
|
62663236366665373637373436656630336630393333393164343265306533666366333964333338
|
||||||
62383330633937653365353136646264653162343966613165373630613631616433653763353233
|
36376337376366333835326565323735613961323264663466356635653763343331373561666632
|
||||||
66653762313764326236316631303663613239336539363633373132623564326339343762653965
|
61343466643661636335373663386466333232393064623538666636653439363639386462373238
|
||||||
34363963353731303132623333363835646334353833383336393066333861623538356233383463
|
38613862656363373434353037613135363464313864386361323136613762306632653838616463
|
||||||
3364363533653462643633386131623535326436333130646434
|
3438636539363664613934313333336535623165306438353130
|
||||||
|
2
roles/portainer/defaults/main.yml
Normal file
2
roles/portainer/defaults/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
# defaults file for common
|
52
roles/portainer/meta/main.yml
Normal file
52
roles/portainer/meta/main.yml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
galaxy_info:
|
||||||
|
author: Matthew McKinnon
|
||||||
|
description: Portainer CE
|
||||||
|
company: support@comprofix.com
|
||||||
|
|
||||||
|
# If the issue tracker for your role is not on github, uncomment the
|
||||||
|
# next line and provide a value
|
||||||
|
# issue_tracker_url: http://example.com/issue/tracker
|
||||||
|
|
||||||
|
# Choose a valid license ID from https://spdx.org - some suggested licenses:
|
||||||
|
# - BSD-3-Clause (default)
|
||||||
|
# - MIT
|
||||||
|
# - GPL-2.0-or-later
|
||||||
|
# - GPL-3.0-only
|
||||||
|
# - Apache-2.0
|
||||||
|
# - CC-BY-4.0
|
||||||
|
license: license (GPL-2.0-or-later, MIT, etc)
|
||||||
|
|
||||||
|
min_ansible_version: 2.1
|
||||||
|
|
||||||
|
# If this a Container Enabled role, provide the minimum Ansible Container version.
|
||||||
|
# min_ansible_container_version:
|
||||||
|
|
||||||
|
#
|
||||||
|
# Provide a list of supported platforms, and for each platform a list of versions.
|
||||||
|
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
|
||||||
|
# To view available platforms and versions (or releases), visit:
|
||||||
|
# https://galaxy.ansible.com/api/v1/platforms/
|
||||||
|
#
|
||||||
|
# platforms:
|
||||||
|
# - name: Fedora
|
||||||
|
# versions:
|
||||||
|
# - all
|
||||||
|
# - 25
|
||||||
|
# - name: SomePlatform
|
||||||
|
# versions:
|
||||||
|
# - all
|
||||||
|
# - 1.0
|
||||||
|
# - 7
|
||||||
|
# - 99.99
|
||||||
|
|
||||||
|
galaxy_tags: []
|
||||||
|
# List tags for your role here, one per line. A tag is a keyword that describes
|
||||||
|
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
||||||
|
# remove the '[]' above, if you add tags to this list.
|
||||||
|
#
|
||||||
|
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
|
||||||
|
# Maximum 20 tags per role.
|
||||||
|
|
||||||
|
dependencies: []
|
||||||
|
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
|
||||||
|
# if you add dependencies to this list.
|
29
roles/portainer/tasks/main.yml
Normal file
29
roles/portainer/tasks/main.yml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
- name: Create directories
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ data_folder }}/portainer"
|
||||||
|
|
||||||
|
- name: Create Portainer Container
|
||||||
|
docker_container:
|
||||||
|
name: portainer
|
||||||
|
image: portainer/portainer-ce:2.21.0
|
||||||
|
command: --admin-password "{{PORTAINER_ADMIN_PASSWORD}}"
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- "{{ data_folder }}/portainer/data:/data"
|
||||||
|
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||||
|
networks:
|
||||||
|
- name: proxy
|
||||||
|
labels:
|
||||||
|
traefik.enable: "true"
|
||||||
|
traefik.http.routers.portainer-secure.rule: "Host(`{{portainer_host}}`)"
|
||||||
|
traefik.http.routers.portainer-secure.entrypoints: "https"
|
||||||
|
traefik.http.routers.portainer-secure.tls: "true"
|
||||||
|
traefik.http.routers.portainer-secure.service: "portainer"
|
||||||
|
traefik.http.services.portainer.loadbalancer.server.port: "9443"
|
||||||
|
traefik.http.services.portainer.loadbalancer.server.scheme: "https"
|
||||||
|
register: container_portainer
|
||||||
|
|
14
roles/portainer/vars/main.yml
Normal file
14
roles/portainer/vars/main.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
66663364383263343838636561393437373730633165306539633566356166313664656166633537
|
||||||
|
6333663336336463613565666465663430303665323766300a393063366230643139363061633636
|
||||||
|
65303631383230396461303836386335306261613664393762393266636437333634663464353137
|
||||||
|
6563366664663331380a346534323264633738663063356565643137323964663964656137633363
|
||||||
|
33333264383830666637376337633432353732353630333134353638653234333730636166356164
|
||||||
|
33363433343432623762393834336637626562613633393963323963623661643862636362313930
|
||||||
|
37346233373231663762346633323634666436323364653136656630636462333638316632626435
|
||||||
|
30336433353961333334386134383032356633643261656639623237386439653739363133633836
|
||||||
|
65333065336464386164363037363766353066396163386561323338326439376138316131306636
|
||||||
|
65376230383666393762393938313535386131313134613033393936633139363366373065623033
|
||||||
|
33353733613439383366393864623130396231323433393732653966653132313262346538646334
|
||||||
|
63303831333465613962653661656237326364396465366234383663333431366233363133623936
|
||||||
|
62663632356361323930326230326565366366663733633137633938643564373766
|
@ -16,14 +16,7 @@
|
|||||||
template:
|
template:
|
||||||
src: templates/traefik.yml.j2
|
src: templates/traefik.yml.j2
|
||||||
dest: "{{ data_folder }}/traefik/data/traefik.yml"
|
dest: "{{ data_folder }}/traefik/data/traefik.yml"
|
||||||
mode: "0600"
|
mode: '0600'
|
||||||
|
|
||||||
- name: Copy Traefik config
|
|
||||||
template:
|
|
||||||
src: templates/config.yml.j2
|
|
||||||
dest: "{{ data_folder }}/traefik/data/config.yml"
|
|
||||||
mode: "0600"
|
|
||||||
when: traefik_host == "traefik02.comprofix.xyz"
|
|
||||||
|
|
||||||
- name: Check if {{ data_folder }}/traefik/data/acme.json exists
|
- name: Check if {{ data_folder }}/traefik/data/acme.json exists
|
||||||
ansible.builtin.stat:
|
ansible.builtin.stat:
|
||||||
@ -36,7 +29,7 @@
|
|||||||
state: touch
|
state: touch
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: "0600"
|
mode: '0600'
|
||||||
when: not file_status.stat.exists
|
when: not file_status.stat.exists
|
||||||
|
|
||||||
- name: Check if {{ data_folder }}/traefik/data/traefik.json.log exists
|
- name: Check if {{ data_folder }}/traefik/data/traefik.json.log exists
|
||||||
@ -50,13 +43,13 @@
|
|||||||
state: touch
|
state: touch
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: "0600"
|
mode: '0600'
|
||||||
when: not file_status.stat.exists
|
when: not file_status.stat.exists
|
||||||
|
|
||||||
- name: Create traefik Container
|
- name: Create traefik Container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: traefik
|
name: traefik
|
||||||
image: traefik:v3.2
|
image: traefik:v3.1
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- name: "proxy"
|
- name: "proxy"
|
||||||
@ -72,7 +65,7 @@
|
|||||||
- "{{ data_folder }}/traefik/data/traefik.yml:/traefik.yml:ro"
|
- "{{ data_folder }}/traefik/data/traefik.yml:/traefik.yml:ro"
|
||||||
- "{{ data_folder }}/traefik/data/acme.json:/acme.json"
|
- "{{ data_folder }}/traefik/data/acme.json:/acme.json"
|
||||||
- "{{ data_folder }}/traefik/data/traefik.json.log:/traefik.json.log"
|
- "{{ data_folder }}/traefik/data/traefik.json.log:/traefik.json.log"
|
||||||
- "{{ data_folder }}/traefik/data/config.yml:/config.yml:ro"
|
# - ./data/config.yml:/config.yml:ro
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.traefik.entrypoints: "http"
|
traefik.http.routers.traefik.entrypoints: "http"
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
---
|
|
||||||
http:
|
|
||||||
routers:
|
|
||||||
oc-router:
|
|
||||||
entryPoints:
|
|
||||||
- "https"
|
|
||||||
service: oc-service
|
|
||||||
rule: "Host(`omada.comprofix.xyz`)" # change it to actual address
|
|
||||||
tls: {}
|
|
||||||
middlewares:
|
|
||||||
- default-headers
|
|
||||||
- https-redirect
|
|
||||||
|
|
||||||
services:
|
|
||||||
oc-service:
|
|
||||||
loadBalancer:
|
|
||||||
servers:
|
|
||||||
- url: https://omada-lxc.comprofix.xyz:8043 # change it to actual ip of the controller
|
|
||||||
|
|
||||||
middlewares:
|
|
||||||
https-redirect:
|
|
||||||
redirectScheme:
|
|
||||||
scheme: https
|
|
||||||
permanent: true
|
|
||||||
|
|
||||||
default-headers:
|
|
||||||
headers:
|
|
||||||
frameDeny: true
|
|
||||||
sslRedirect: true
|
|
||||||
browserXssFilter: true
|
|
||||||
contentTypeNosniff: true
|
|
||||||
forceSTSHeader: true
|
|
||||||
stsIncludeSubdomains: true
|
|
||||||
stsPreload: true
|
|
||||||
stsSeconds: 15552000
|
|
||||||
customFrameOptionsValue: SAMEORIGIN
|
|
||||||
customRequestHeaders:
|
|
||||||
X-Forwarded-Proto: https
|
|
||||||
|
|
||||||
default-whitelist:
|
|
||||||
IPAllowList:
|
|
||||||
sourceRange:
|
|
||||||
- "10.0.0.0/8"
|
|
||||||
- "192.168.0.0/16"
|
|
||||||
- "172.16.0.0/12"
|
|
||||||
- "100.64.0.0/10"
|
|
||||||
|
|
||||||
secured:
|
|
||||||
chain:
|
|
||||||
middlewares:
|
|
||||||
- default-headers
|
|
@ -1,14 +1,14 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
35313033393235333137316165383639623864633332613139393630653931353836643332343062
|
65353236643865303034613264613133353338613962646164333936353761336231643332303164
|
||||||
3336383464363162336333356636393865343634393439370a623130396430383266666634633730
|
3834613038663965376661373336646433353437373132300a353663633034643265653937396238
|
||||||
32613332396230333436396338396434393932353037653062613433393932613932333132346335
|
66326632323432646239663762626230326338666138653330323566633864623734396639323062
|
||||||
3564366130306466370a643062633839376636333537393130316332323830306238343861306636
|
3735326666306239370a383439646335343965316464386265613437646163636335393139316232
|
||||||
62336532316364376664313765376462653731646433613939353833353632343765616365383632
|
61396631356263333933626334313438633132663764326539393663636631303538636131303830
|
||||||
39616237663731313664633038333365333036386332613738313865396139366537623235646532
|
31633037376231326436306463376134633031666431303133383237316530646261383733313132
|
||||||
34613831666364383065343737643661653931333435393564346139663162313631336162383162
|
62343261303266613764633861393939343937343038383231353137333337383936623338313561
|
||||||
32313038663962326163303533636339306535646362303561613262613632643837333634313230
|
64633330356639643863336437653137393364653833653934633762333461393035393963313432
|
||||||
62393836303366653639303735366430373565373938656162623064356239623131626361633439
|
39633563636164363461326231306237343265626533366562626136643561636464663866303434
|
||||||
65633337303337323934356466656365373136643664313535323734666130306366313434373666
|
64363663396334623738316238316135616162393566613631396163666134663765343230656135
|
||||||
66616463663436623131613238616536313963623566313532653536356637656365363134386535
|
35646364666531303361623833643136663832363737623161386562393234393533306636363265
|
||||||
36306462396161376264643061366534363231326239646665336666333732613230383134383266
|
37343438386439303931633434303939393062363138353732373163663761366337326437316537
|
||||||
3938
|
6137
|
||||||
|
30
scripts/backupvpsdocker
Normal file
30
scripts/backupvpsdocker
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Backup vps02 docker data
|
||||||
|
|
||||||
|
|
||||||
|
#Stop all containers
|
||||||
|
docker stop $(docker ps -a -q)
|
||||||
|
|
||||||
|
date=$(date +%F)
|
||||||
|
|
||||||
|
cd /data
|
||||||
|
for dir in */; do
|
||||||
|
dir=${dir%*/}
|
||||||
|
backupfile="$dir-$date.tar.gz"
|
||||||
|
#echo "backup $dir"
|
||||||
|
tar -zcf /tmp/$backupfile $dir
|
||||||
|
|
||||||
|
if [ $dir == "vaultwarden" ]; then
|
||||||
|
#echo "rclone vaultwarden"
|
||||||
|
rclone copy /tmp/$backupfile BitwardenBackup:BitwardenBackup
|
||||||
|
else
|
||||||
|
#echo "scp $backupfile"
|
||||||
|
#scp /tmp/$backupfile mmckinnon@truenas.comprofix.xyz:/mnt/datapool/data/backup/docker/
|
||||||
|
fi
|
||||||
|
rm /tmp/$backupfile
|
||||||
|
done
|
||||||
|
|
||||||
|
#Start all containers
|
||||||
|
docker start $(docker ps -a -q)
|
@ -1,2 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
curl -H "Content-Type: application/json" -d '{"text": "Cloud-init provisioning has been completed on '"$(hostname)"'!"}' "{{ TEAMS }}"
|
|
@ -1,14 +0,0 @@
|
|||||||
- name: Create the comprofix.com container
|
|
||||||
docker_container:
|
|
||||||
name: comprofix.com
|
|
||||||
image: git.comprofix.com/mmckinnon/comprofix.com:latest
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
recreate: true
|
|
||||||
networks:
|
|
||||||
- name: proxy
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.comprofix.rule: "Host(`comprofix.com`)"
|
|
||||||
traefik.http.routers.comprofix.entrypoints: "https"
|
|
||||||
traefik.http.routers.comprofix.tls: "true"
|
|
||||||
traefik.http.services.comprofix.loadbalancer.server.port: "80"
|
|
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create the dozzle container
|
|
||||||
docker_container:
|
|
||||||
name: dozzle_agent
|
|
||||||
image: amir20/dozzle:v8.8.1
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
command: agent
|
|
||||||
recreate: true
|
|
||||||
ports:
|
|
||||||
- 7007:7007
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/dozzle"
|
- "/mnt/nfs/docker/dozzle"
|
||||||
- "{{ data_folder }}/dozzle/config"
|
- "/mnt/nfs/docker/dozzle/config"
|
||||||
|
|
||||||
- name: Create the dozzle container
|
- name: Create the dozzle container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: dozzle
|
name: dozzle
|
||||||
image: amir20/dozzle:v8.8.1
|
image: amir20/dozzle:v8.4.3
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -19,7 +19,7 @@
|
|||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
env:
|
env:
|
||||||
DOZZLE_LEVEL: "trace"
|
DOZZLE_LEVEL: "trace"
|
||||||
DOZZLE_REMOTE_AGENT: "omada-lxc.comprofix.xyz:7007"
|
DOZZLE_REMOTE_HOST: "tcp://omada.comprofix.xyz:2375,tcp://vps02.comprofix.com:2375"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.dozzle.rule: "Host(`dozzle.comprofix.xyz`)"
|
traefik.http.routers.dozzle.rule: "Host(`dozzle.comprofix.xyz`)"
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
- name: Create directories
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_folder }}/gitea-runner"
|
|
||||||
- "{{ data_folder }}/gitea-runner/config"
|
|
||||||
|
|
||||||
- name: Check that config.yaml exists
|
|
||||||
stat:
|
|
||||||
path: "{{ data_folder }}/gitea-runner/config/config.yaml"
|
|
||||||
register: configyaml
|
|
||||||
|
|
||||||
- name: Create config.yaml file
|
|
||||||
file:
|
|
||||||
path: "{{ data_folder }}/gitea-runner/config/config.yaml"
|
|
||||||
state: touch
|
|
||||||
mode: '0600'
|
|
||||||
access_time: preserve
|
|
||||||
modification_time: preserve
|
|
||||||
when: configyaml.stat.exists == False
|
|
||||||
|
|
||||||
- name: Create the gitea-runner container
|
|
||||||
docker_container:
|
|
||||||
name: gitea-runner
|
|
||||||
image: gitea/act_runner:0.2.11
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
recreate: true
|
|
||||||
# dns_servers:
|
|
||||||
# - 10.10.10.1
|
|
||||||
# - 127.0.0.11
|
|
||||||
volumes:
|
|
||||||
- "/etc/resolv.conf:/etc/resolv.conf:ro"
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- "{{ data_folder }}/gitea-runner/config/config.yaml:/config.yaml"
|
|
||||||
- "/etc/hosts:/etc/hosts:ro"
|
|
||||||
env:
|
|
||||||
CONFIG_FILE: "/config.yaml"
|
|
||||||
GITEA_INSTANCE_URL: "https://git.comprofix.com"
|
|
||||||
GITEA_RUNNER_REGISTRATION_TOKEN: "{{ GITEA_RUNNER_TOKEN }}"
|
|
||||||
GITEA_RUNNER_NAME: "homelab-runner"
|
|
||||||
GITEA_RUNNER_LABELS: "homelab:docker://alpine:latest,alpine-latest:docker://alpine:latest,ubuntu-latest:docker://node:22-bookworm"
|
|
@ -78,7 +78,7 @@
|
|||||||
- name: Create the gitea-runner container
|
- name: Create the gitea-runner container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: gitea-runner
|
name: gitea-runner
|
||||||
image: gitea/act_runner:0.2.11
|
image: gitea/act_runner:0.2.10
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
# dns_servers:
|
# dns_servers:
|
||||||
@ -92,9 +92,9 @@
|
|||||||
env:
|
env:
|
||||||
CONFIG_FILE: "/config.yaml"
|
CONFIG_FILE: "/config.yaml"
|
||||||
GITEA_INSTANCE_URL: "https://git.comprofix.com"
|
GITEA_INSTANCE_URL: "https://git.comprofix.com"
|
||||||
GITEA_RUNNER_REGISTRATION_TOKEN: "{{ GITEA_RUNNER_TOKEN }}"
|
GITEA_RUNNER_REGISTRATION_TOKEN: "A01dvleL55F0o5OMJpa4UsE0gJ38ANKrAw5vKei3" #"{{ GITEA_RUNNER_TOKEN }}"
|
||||||
GITEA_RUNNER_NAME: "gitea-runner"
|
GITEA_RUNNER_NAME: "gitea-runner"
|
||||||
GITEA_RUNNER_LABELS: "alpine-latest:docker://alpine:latest,ubuntu-latest:docker://node:22-bookworm"
|
GITEA_RUNNER_LABELS: "alpine-latest:docker://alpine:latest,ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster"
|
||||||
|
|
||||||
- name: Create directories
|
- name: Create directories
|
||||||
file:
|
file:
|
||||||
@ -106,7 +106,7 @@
|
|||||||
- name: Create the opengist container
|
- name: Create the opengist container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: opengist
|
name: opengist
|
||||||
image: ghcr.io/thomiceli/opengist:1.8
|
image: ghcr.io/thomiceli/opengist:1.7
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
- name: Create the homepage container
|
- name: Create the homepage container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: homepage
|
name: homepage
|
||||||
image: ghcr.io/gethomepage/homepage:v0.9.13
|
image: ghcr.io/gethomepage/homepage:v0.9.6
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
- name: Create the Dell_R730xd Fan Contoller container
|
- name: Create the Dell_R730xd Fan Contoller container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: Dell_R730xd
|
name: Dell_R730xd
|
||||||
image: ghcr.io/tigerblue77/dell_idrac_fan_controller:latest@sha256:1f0b525481f79d33115a5edbe866da25cb8c15f9bec2ab9af3f9a08ecc633b10
|
image: tigerblue77/dell_idrac_fan_controller:latest@sha256:5184af88c6c03204611d40d4b1c6bc36202762592d16a97236bb4254951d23b0
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
env:
|
env:
|
||||||
IDRAC_HOST: "10.10.10.138"
|
IDRAC_HOST: "10.10.10.138"
|
||||||
IDRAC_USERNAME: "root"
|
IDRAC_USERNAME: "root"
|
||||||
IDRAC_PASSWORD: "calvin"
|
IDRAC_PASSWORD: "calvin"
|
||||||
FAN_SPEED: "50"
|
FAN_SPEED: "35"
|
||||||
CPU_TEMPERATURE_THRESHOLD: "80"
|
CPU_TEMPERATURE_THRESHOLD: "80"
|
||||||
CHECK_INTERVAL: "60"
|
CHECK_INTERVAL: "60"
|
||||||
DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE: "true"
|
DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE: "true"
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/invoiceninja/"
|
- "/mnt/nfs/docker/invoiceninja/"
|
||||||
- "{{ data_folder }}/invoiceninja/config"
|
- "/mnt/nfs/docker/invoiceninja/config"
|
||||||
- "{{ data_folder }}/invoiceninja/db"
|
- "/mnt/nfs/docker/invoiceninja/db"
|
||||||
|
|
||||||
- name: "create stack.env"
|
- name: "create stack.env"
|
||||||
copy:
|
copy:
|
||||||
dest: "{{ data_folder }}/invoiceninja/stack.env"
|
dest: "/mnt/nfs/docker/invoiceninja/stack.env"
|
||||||
content: |
|
content: |
|
||||||
APP_NAME="Invoice Ninja"
|
APP_NAME="Invoice Ninja"
|
||||||
APP_ENV=production
|
APP_ENV=production
|
||||||
@ -60,29 +60,29 @@
|
|||||||
docker_container:
|
docker_container:
|
||||||
name: invoiceninja-app
|
name: invoiceninja-app
|
||||||
image: invoiceninja/invoiceninja:5
|
image: invoiceninja/invoiceninja:5
|
||||||
env_file: "{{ data_folder }}/invoiceninja/stack.env"
|
env_file: /mnt/nfs/docker/invoiceninja/stack.env
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
- name: proxy
|
- name: proxy
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/invoiceninja/config/hosts:/etc/hosts"
|
- /mnt/nfs/docker/invoiceninja/config/hosts:/etc/hosts
|
||||||
- "{{ data_folder }}/invoiceninja/docker/app/public:/var/www/app/public"
|
- /mnt/nfs/docker/invoiceninja/docker/app/public:/var/www/app/public
|
||||||
- "{{ data_folder }}/invoiceninja/docker/app/storage:/var/www/app/storage"
|
- /mnt/nfs/docker/invoiceninja/docker/app/storage:/var/www/app/storage
|
||||||
|
|
||||||
- name: Create the invoiceninja-nginx container
|
- name: Create the invoiceninja-nginx container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: invoiceninja-nginx
|
name: invoiceninja-nginx
|
||||||
image: nginx:1.27.2
|
image: nginx:1.27.1
|
||||||
env_file: "{{ data_folder }}/invoiceninja/stack.env"
|
env_file: /mnt/nfs/docker/invoiceninja/stack.env
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
- name: proxy
|
- name: proxy
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/invoiceninja/config/nginx/in-vhost.conf:/etc/nginx/conf.d/in-vhost.conf"
|
- /mnt/nfs/docker/invoiceninja/config/nginx/in-vhost.conf:/etc/nginx/conf.d/in-vhost.conf
|
||||||
- "{{ data_folder }}/invoiceninja/docker/app/public:/var/www/app/public"
|
- /mnt/nfs/docker/invoiceninja/docker/app/public:/var/www/app/public
|
||||||
- "{{ data_folder }}/invoiceninja/docker/app/storage:/var/www/app/storage"
|
- /mnt/nfs/docker/invoiceninja/docker/app/storage:/var/www/app/storage
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.invoiceninja.rule: "Host(`invoice.comprofix.com`)"
|
traefik.http.routers.invoiceninja.rule: "Host(`invoice.comprofix.com`)"
|
||||||
|
@ -1,88 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Ensure open-iscsi is installed
|
|
||||||
package:
|
|
||||||
name: open-iscsi
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Ensure parted is installed
|
|
||||||
package:
|
|
||||||
name: parted
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Discover iSCSI targets
|
|
||||||
command: sudo iscsiadm -m discovery -t sendtargets -p "10.10.10.2"
|
|
||||||
register: iscsi_discovery
|
|
||||||
|
|
||||||
- name: Set target_iqn variable based on discovery
|
|
||||||
set_fact:
|
|
||||||
target_iqn: "{{ item.split(' ')[1] }}"
|
|
||||||
loop: "{{ iscsi_discovery.stdout_lines }}"
|
|
||||||
when: item.startswith("10.10.10.2")
|
|
||||||
|
|
||||||
- name: Check if iSCSI target is already connected
|
|
||||||
command: iscsiadm -m session
|
|
||||||
register: iscsi_sessions
|
|
||||||
changed_when: false
|
|
||||||
failed_when: iscsi_sessions.rc not in [0, 21] # Allow success if the return code is 0 or 21
|
|
||||||
|
|
||||||
- name: Connect to iSCSI target
|
|
||||||
command: sudo iscsiadm -m node -T "{{ target_iqn }}" -p "10.10.10.2" --login
|
|
||||||
when: target_iqn is defined and target_iqn not in iscsi_sessions.stdout
|
|
||||||
|
|
||||||
- name: Set iSCSI target for automatic login
|
|
||||||
command: sudo iscsiadm -m node -T "{{ target_iqn }}" -p "10.10.10.2" --op update --name node.startup --value automatic
|
|
||||||
when: target_iqn is defined
|
|
||||||
|
|
||||||
- name: Fail if no target_iqn found
|
|
||||||
fail:
|
|
||||||
msg: "No target IQN found for iSCSI server IP 10.10.10.2"
|
|
||||||
when: target_iqn is not defined
|
|
||||||
|
|
||||||
- name: List all block devices
|
|
||||||
command: lsblk -o NAME,SIZE,TYPE,MODEL
|
|
||||||
register: lsblk_output
|
|
||||||
|
|
||||||
- name: Set iSCSI device variable
|
|
||||||
set_fact:
|
|
||||||
iscsi_device: "/dev/{{ item.split()[0] }}"
|
|
||||||
loop: "{{ lsblk_output.stdout_lines }}"
|
|
||||||
when: item.split()[2] == 'disk' and 'iSCSI' in item # Adjust based on the MODEL you observe
|
|
||||||
|
|
||||||
- name: Fail if no iSCSI device found
|
|
||||||
fail:
|
|
||||||
msg: "No iSCSI device found!"
|
|
||||||
when: iscsi_device is not defined
|
|
||||||
|
|
||||||
- name: Create a partition on iSCSI device using parted
|
|
||||||
parted:
|
|
||||||
device: "{{ iscsi_device }}"
|
|
||||||
number: 1
|
|
||||||
state: present
|
|
||||||
part_type: primary
|
|
||||||
fs_type: ext4
|
|
||||||
part_start: 0% # Start at the beginning of the device
|
|
||||||
part_end: 100% # Use the entire available space
|
|
||||||
|
|
||||||
- name: Create filesystem on new partition
|
|
||||||
filesystem:
|
|
||||||
fstype: ext4
|
|
||||||
dev: "{{ iscsi_device }}1" # Format the partition
|
|
||||||
|
|
||||||
- name: Create mount point
|
|
||||||
file:
|
|
||||||
path: /data
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- name: Mount iSCSI target
|
|
||||||
mount:
|
|
||||||
path: /data
|
|
||||||
src: "{{ iscsi_device }}1" # Mount the new partition
|
|
||||||
fstype: ext4
|
|
||||||
opts: defaults,_netdev
|
|
||||||
state: mounted
|
|
||||||
|
|
||||||
# - name: Ensure iSCSI target is mounted at boot
|
|
||||||
# lineinfile:
|
|
||||||
# path: /etc/fstab
|
|
||||||
# line: "{{ iscsi_device }}1 /data ext4 _netdev 0 0"
|
|
||||||
# state: present
|
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/jellyseerr"
|
- "/mnt/nfs/docker/jellyseerr"
|
||||||
- "{{ data_folder }}/jellyseerr/config"
|
- "/mnt/nfs/docker/jellyseerr/config"
|
||||||
|
|
||||||
- name: Create the jellyseerr container
|
- name: Create the jellyseerr container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: jellyseerr
|
name: jellyseerr
|
||||||
image: fallenbagel/jellyseerr:2.1.0
|
image: fallenbagel/jellyseerr:1.9.2
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -20,7 +20,7 @@
|
|||||||
PGID: "1000"
|
PGID: "1000"
|
||||||
TZ: "Australia/Brisbane"
|
TZ: "Australia/Brisbane"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/jellyseerr/config:/app/config"
|
- /mnt/nfs/docker/jellyseerr/config:/app/config
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.jellyseerr.rule: "Host(`jellyseerr.comprofix.xyz`)"
|
traefik.http.routers.jellyseerr.rule: "Host(`jellyseerr.comprofix.xyz`)"
|
||||||
|
@ -8,13 +8,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/lidarr"
|
- "/mnt/nfs/docker/lidarr"
|
||||||
- "{{ data_folder }}/lidarr/config"
|
- "/mnt/nfs/docker/lidarr/config"
|
||||||
|
|
||||||
- name: Create the lidarr container
|
- name: Create the lidarr container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: lidarr
|
name: lidarr
|
||||||
image: ghcr.io/linuxserver/lidarr:latest@sha256:5c1f7a05944a1ceea242481801bbc5f908a4cc66e95ae0153b5a59f2d6224b17
|
image: ghcr.io/linuxserver/lidarr:latest@sha256:a77af413426b8509fad2d02f5b89104a5766ee6ebb13497d73993e74f6cfa0a8
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -26,7 +26,7 @@
|
|||||||
AUTO_UPDATE: "true" #optional
|
AUTO_UPDATE: "true" #optional
|
||||||
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:lidarr"
|
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:lidarr"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/lidarr/config:/config"
|
- /mnt/nfs/docker/lidarr/config:/config
|
||||||
- /mnt/nfs/data:/data
|
- /mnt/nfs/data:/data
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
|
@ -8,13 +8,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/mariadb"
|
- "/mnt/nfs/docker/mariadb"
|
||||||
- "{{ data_folder }}/mariadb/config"
|
- "/mnt/nfs/docker/mariadb/config"
|
||||||
|
|
||||||
- name: Create the mariadb container
|
- name: Create the mariadb container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: "mariadb"
|
name: "mariadb"
|
||||||
image: ghcr.io/linuxserver/mariadb:10.11.10
|
image: ghcr.io/linuxserver/mariadb:10.11.8
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
ports:
|
ports:
|
||||||
@ -25,5 +25,5 @@
|
|||||||
MYSQL_ROOT_PASSWORD: "{{MYSQL_ROOT_PASSWORD}}"
|
MYSQL_ROOT_PASSWORD: "{{MYSQL_ROOT_PASSWORD}}"
|
||||||
TZ: "Australia/Brisbane"
|
TZ: "Australia/Brisbane"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/mariadb/config:/config"
|
- "/mnt/nfs/docker/mariadb/config:/config"
|
||||||
|
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/mealie"
|
- "/mnt/nfs/docker/mealie"
|
||||||
- "{{ data_folder }}/mealie/config"
|
- "/mnt/nfs/docker/mealie/config"
|
||||||
|
|
||||||
- name: Create the mealie container
|
- name: Create the mealie container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: mealie
|
name: mealie
|
||||||
image: ghcr.io/mealie-recipes/mealie:v2.2.0
|
image: ghcr.io/mealie-recipes/mealie:v1.12.0
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- name: proxy
|
- name: proxy
|
||||||
@ -27,7 +27,7 @@
|
|||||||
BASE_URL: "mealie.comprofix.xyz"
|
BASE_URL: "mealie.comprofix.xyz"
|
||||||
SMTP_HOST: "{{MAIL_HOST}}"
|
SMTP_HOST: "{{MAIL_HOST}}"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/mealie/data/:/app/data"
|
- /mnt/nfs/docker/mealie/data/:/app/data
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.mealie.rule: "Host(`mealie.comprofix.xyz`)"
|
traefik.http.routers.mealie.rule: "Host(`mealie.comprofix.xyz`)"
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create directories
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_folder }}/omada"
|
|
||||||
- "{{ data_folder }}/omada/data"
|
|
||||||
- "{{ data_folder }}/omada/logs"
|
|
||||||
|
|
||||||
- name: Create the omada container
|
|
||||||
docker_container:
|
|
||||||
name: omada
|
|
||||||
image: mbentley/omada-controller:5.14
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
recreate: true
|
|
||||||
network_mode: host
|
|
||||||
volumes:
|
|
||||||
- "{{ data_folder }}/omada/data:/opt/tplink/EAPController/data"
|
|
||||||
- "{{ data_folder }}/omada/logs:/opt/tplink/EAPController/logs"
|
|
||||||
env:
|
|
||||||
PUID: "1000"
|
|
||||||
PGID: "1000"
|
|
||||||
TZ: "Australia/Brisbane"
|
|
@ -4,8 +4,8 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/osticket"
|
- "/mnt/nfs/docker/osticket"
|
||||||
- "{{ data_folder }}/osticket/config"
|
- "/mnt/nfs/docker/osticket/config"
|
||||||
|
|
||||||
- name: Create the osticket container
|
- name: Create the osticket container
|
||||||
docker_container:
|
docker_container:
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/prowlarr"
|
- "/mnt/nfs/docker/prowlarr"
|
||||||
- "{{ data_folder }}/prowlarr/config"
|
- "/mnt/nfs/docker/prowlarr/config"
|
||||||
|
|
||||||
- name: Create the prowlarr container
|
- name: Create the prowlarr container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: prowlarr
|
name: prowlarr
|
||||||
image: linuxserver/prowlarr:1.26.1
|
image: linuxserver/prowlarr:1.23.1
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -22,7 +22,7 @@
|
|||||||
AUTO_UPDATE: "true" #optional
|
AUTO_UPDATE: "true" #optional
|
||||||
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:prowlarr"
|
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:prowlarr"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/prowlarr/config:/config"
|
- /mnt/nfs/docker/prowlarr/config:/config
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.prowlarr.rule: "Host(`prowlarr.comprofix.xyz`)"
|
traefik.http.routers.prowlarr.rule: "Host(`prowlarr.comprofix.xyz`)"
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/pykms"
|
- "/mnt/nfs/docker/pykms"
|
||||||
- "{{ data_folder }}/pykms/db"
|
- "/mnt/nfs/docker/pykms/config"
|
||||||
|
|
||||||
- name: Create the pykms container
|
- name: Create the pykms container
|
||||||
docker_container:
|
docker_container:
|
||||||
@ -13,6 +13,8 @@
|
|||||||
image: ghcr.io/py-kms-organization/py-kms:latest
|
image: ghcr.io/py-kms-organization/py-kms:latest
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
|
networks:
|
||||||
|
- name: proxy_network
|
||||||
ports:
|
ports:
|
||||||
- "1688:1688"
|
- "1688:1688"
|
||||||
env:
|
env:
|
||||||
@ -21,6 +23,6 @@
|
|||||||
HWID: "RANDOM"
|
HWID: "RANDOM"
|
||||||
LOGLEVEL: "INFO"
|
LOGLEVEL: "INFO"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/pykms/db:/home/py-kms/db"
|
- /mnt/nfs/docker/pykms/db:/home/py-kms/db
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/radarr"
|
- "/mnt/nfs/docker/radarr"
|
||||||
- "{{ data_folder }}/radarr/config"
|
- "/mnt/nfs/docker/radarr/config"
|
||||||
|
|
||||||
- name: Create the radarr container
|
- name: Create the radarr container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: radarr
|
name: radarr
|
||||||
image: linuxserver/radarr:5.15.1
|
image: linuxserver/radarr:5.9.1
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -21,7 +21,7 @@
|
|||||||
TZ: "Australia/Brisbane"
|
TZ: "Australia/Brisbane"
|
||||||
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:radarr"
|
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:radarr"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/radarr/config:/config"
|
- /mnt/nfs/docker/radarr/config:/config
|
||||||
- /mnt/nfs/data:/data
|
- /mnt/nfs/data:/data
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/readarr"
|
- "/mnt/nfs/docker/readarr"
|
||||||
- "{{ data_folder }}/readarr/config"
|
- "/mnt/nfs/docker/readarr/config"
|
||||||
|
|
||||||
- name: Create the readarr container
|
- name: Create the readarr container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: readarr
|
name: readarr
|
||||||
image: ghcr.io/linuxserver/readarr:develop@sha256:cce7bf45fb74b0eceff09975c4c9e39ca2df467043787c19f6ce8f6d3ecb80e8
|
image: ghcr.io/linuxserver/readarr:develop@sha256:dbca70a2dedff17b12698f55c02a49e3ec37e8ce884c5352b54264f9a3979aae
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -21,7 +21,7 @@
|
|||||||
TZ: "Australia/Brisbane"
|
TZ: "Australia/Brisbane"
|
||||||
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:readarr"
|
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:readarr"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/readarr/config/:/config"
|
- /mnt/nfs/docker/readarr/config/:/config
|
||||||
- /mnt/nfs/data/:/data
|
- /mnt/nfs/data/:/data
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/sabnzbd"
|
- "/mnt/nfs/docker/sabnzbd"
|
||||||
- "{{ data_folder }}/sabnzbd/config"
|
- "/mnt/nfs/docker/sabnzbd/config"
|
||||||
|
|
||||||
- name: Create the sabnzbd container
|
- name: Create the sabnzbd container
|
||||||
docker_container:
|
docker_container:
|
||||||
@ -22,7 +22,7 @@
|
|||||||
HOSTNAME: "sabnzbd.comprofix.xyz"
|
HOSTNAME: "sabnzbd.comprofix.xyz"
|
||||||
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:sabnzbd"
|
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:sabnzbd"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/sabnzbd/config:/config"
|
- /mnt/nfs/docker/sabnzbd/config:/config
|
||||||
- /mnt/nfs/data:/data
|
- /mnt/nfs/data:/data
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/sonarr"
|
- "/mnt/nfs/docker/sonarr"
|
||||||
- "{{ data_folder }}/sonarr/config"
|
- "/mnt/nfs/docker/sonarr/config"
|
||||||
|
|
||||||
- name: Create the sonarr container
|
- name: Create the sonarr container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: sonarr
|
name: sonarr
|
||||||
image: linuxserver/sonarr:4.0.10
|
image: linuxserver/sonarr:4.0.9
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -21,7 +21,7 @@
|
|||||||
TZ: "Australia/Brisbane"
|
TZ: "Australia/Brisbane"
|
||||||
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:sonarr"
|
DOCKER_MODS: "ghcr.io/themepark-dev/theme.park:sonarr"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/sonarr/config/:/config"
|
- /mnt/nfs/docker/sonarr/config/:/config
|
||||||
- /mnt/nfs/data:/data
|
- /mnt/nfs/data:/data
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
|
@ -4,14 +4,13 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/speedtest"
|
- "/mnt/nfs/docker/speedtest"
|
||||||
- "{{ data_folder }}/speedtest/config"
|
- "/mnt/nfs/docker/speedtest/config"
|
||||||
- "{{ data_folder }}/speedtest/web"
|
|
||||||
|
|
||||||
- name: Create the speedtest container
|
- name: Create the speedtest container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: speedtest
|
name: speedtest
|
||||||
image: lscr.io/linuxserver/speedtest-tracker:0.24.0
|
image: lscr.io/linuxserver/speedtest-tracker:0.21.2
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -29,9 +28,10 @@
|
|||||||
TZ: "Australia/Brisbane"
|
TZ: "Australia/Brisbane"
|
||||||
SPEEDTEST_SCHEDULE: "0 * * * *"
|
SPEEDTEST_SCHEDULE: "0 * * * *"
|
||||||
DISPLAY_TIMEZONE: "Australia/Brisbane"
|
DISPLAY_TIMEZONE: "Australia/Brisbane"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_folder }}/speedtest/config:/config"
|
- /mnt/nfs/docker/speedtest/config:/config
|
||||||
- "{{ data_folder }}/speedtest/web:/etc/ssl/web"
|
- /mnt/nfs/docker/speedtest/web:/etc/ssl/web
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.routers.speedtest.rule: "Host(`speedtest.comprofix.xyz`)"
|
traefik.http.routers.speedtest.rule: "Host(`speedtest.comprofix.xyz`)"
|
||||||
|
@ -6,14 +6,11 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- "{{ data_folder }}/vaultwarden"
|
- "{{ data_folder }}/vaultwarden"
|
||||||
- "{{ data_folder }}/vaultwarden/config"
|
- "{{ data_folder }}/vaultwarden/config"
|
||||||
- "{{ data_folder }}/vaultwardenbackup"
|
|
||||||
- "{{ data_folder }}/vaultwardenbackup/config"
|
|
||||||
- "{{ data_folder }}/vaultwardenbackup/config/rclone"
|
|
||||||
|
|
||||||
- name: Create the vaultwarden container
|
- name: Create the vaultwarden container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: vaultwarden
|
name: vaultwarden
|
||||||
image: vaultwarden/server:1.32.5
|
image: vaultwarden/server:1.32.0
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
recreate: true
|
recreate: true
|
||||||
networks:
|
networks:
|
||||||
@ -33,30 +30,33 @@
|
|||||||
traefik.http.services.vaultwarden.loadbalancer.server.port: "80"
|
traefik.http.services.vaultwarden.loadbalancer.server.port: "80"
|
||||||
register: container
|
register: container
|
||||||
|
|
||||||
|
- name: Create rclone config folder
|
||||||
|
file:
|
||||||
|
path: "/root/.config/rclone"
|
||||||
|
state: directory
|
||||||
|
|
||||||
- name: Copy rclone config
|
- name: Copy rclone config
|
||||||
copy:
|
copy:
|
||||||
src: scripts/rclone.conf
|
src: scripts/rclone.conf
|
||||||
dest: "{{ data_folder }}/vaultwardenbackup/config/rclone/rclone.conf"
|
dest: /root/.config/rclone/rclone.conf
|
||||||
decrypt: yes
|
decrypt: yes
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
|
|
||||||
- name: Create the vaultwarden container
|
- name: copy backup script
|
||||||
docker_container:
|
copy:
|
||||||
name: vaultwardenbackup
|
src: scripts/backupvpsdocker
|
||||||
image: ttionya/vaultwarden-backup:1.21.3
|
dest: /usr/local/sbin/backupvpsdocker
|
||||||
restart_policy: unless-stopped
|
mode: 0755
|
||||||
recreate: true
|
|
||||||
env:
|
- name: Setup cron job for backup
|
||||||
PUID: "1000"
|
cron:
|
||||||
PGID: "1000"
|
name: backup backupvpsdocker
|
||||||
TZ: "Australia/Brisbane"
|
minute: 0
|
||||||
CRON: "0 4 * * *"
|
hour: 4
|
||||||
BACKUP_KEEP_DAYS: "14"
|
job: "/usr/local/sbin/backupvpsdocker >/dev/null 2>&1"
|
||||||
ZIP_PASSWORD: "{{ VAULTWARDEN_BACKUP_ZIP_PASSWORD }}"
|
|
||||||
volumes:
|
|
||||||
- "{{ data_folder }}/vaultwarden/data:/bitwarden/data"
|
|
||||||
- "{{ data_folder }}/vaultwardenbackup/config:/config"
|
|
||||||
register: container
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user