From 8652b5fffc7c38c71f2b94a45dbc6b9d9ec814a0 Mon Sep 17 00:00:00 2001 From: Scott Wallace Date: Sat, 12 Oct 2019 15:53:12 +0100 Subject: [PATCH] Add rclone --- .ansible/home_server.yaml | 1 + .ansible/roles/rclone_mount/tasks/main.yaml | 21 ++++++ .../rclone_mount/templates/rclone.conf.j2 | 31 +++++++++ .ansible/roles/rclone_mount/vars/main.yaml | 68 +++++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 .ansible/roles/rclone_mount/tasks/main.yaml create mode 100644 .ansible/roles/rclone_mount/templates/rclone.conf.j2 create mode 100644 .ansible/roles/rclone_mount/vars/main.yaml diff --git a/.ansible/home_server.yaml b/.ansible/home_server.yaml index 1fdb792..f4002da 100644 --- a/.ansible/home_server.yaml +++ b/.ansible/home_server.yaml @@ -6,4 +6,5 @@ - matrix_server - media_server - haproxy_server + - rclone_mount # - traccar_server diff --git a/.ansible/roles/rclone_mount/tasks/main.yaml b/.ansible/roles/rclone_mount/tasks/main.yaml new file mode 100644 index 0000000..14ee38b --- /dev/null +++ b/.ansible/roles/rclone_mount/tasks/main.yaml @@ -0,0 +1,21 @@ +--- +- name: "Rclone" + tags: + - rclone + block: + - name: "Rclone: Packages" + tags: + - install + package: + name: "rclone" + state: latest + become: yes + + - name: "Rclone: Configuration" + tags: + - config + template: + src: "templates/rclone.conf.j2" + dest: "~/.rclone.conf" + mode: "0400" + force: no diff --git a/.ansible/roles/rclone_mount/templates/rclone.conf.j2 b/.ansible/roles/rclone_mount/templates/rclone.conf.j2 new file mode 100644 index 0000000..e45a490 --- /dev/null +++ b/.ansible/roles/rclone_mount/templates/rclone.conf.j2 @@ -0,0 +1,31 @@ +[GoogleDrive] +type = drive +client_id = {{ client_id }} +client_secret = {{ client_secret }} +# token = (run 'rclone authorize drive') + +[GoogleDriveCrypt] +type = crypt +remote = GoogleDriveCache:crypt +filename_encryption = standard +password = {{ password1 }} +password2 = {{ password2 }} + +[GoogleDriveCloudplowUpload] +type = crypt +remote = GoogleDrive:crypt +filename_encryption = standard +password = {{ password1 }} +password2 = {{ password2 }} + +[GoogleDriveCache] +type = cache +remote = GoogleDrive:/ +plex_url = http://localhost:32400 +plex_username = {{ plex_username }} +plex_password = {{ plex_password }} +chunk_size = 5M +chunk_total_size = 25G +chunk_no_memory = true +writes = true +plex_token = {{ plex_token }} diff --git a/.ansible/roles/rclone_mount/vars/main.yaml b/.ansible/roles/rclone_mount/vars/main.yaml new file mode 100644 index 0000000..33bf211 --- /dev/null +++ b/.ansible/roles/rclone_mount/vars/main.yaml @@ -0,0 +1,68 @@ +client_id: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 34303836313265313964623865353231643564613362363631666333306363613965643833333734 + 3463396538646533626539663364323461313065303738330a313563303738616134383762383362 + 33653766303364303030393965373934653334373465366537363233373166623033303863663338 + 6564353936313936310a653464303031393565623031346662363230373661636661366466346431 + 63346661343863386461653264393462306530353633393935333762656439346534383638663332 + 35313630326636333962643266656337373935373936663938393436313634373630343430663732 + 66306434333962623035373235333166393261313961633033613135626164306338313861343632 + 65623462393030646233 + +client_secret: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 64623261653737353638653830656164376563366365396165363362316264393138613439346464 + 6564336433363834616338363130313765666431343162640a636337626365303861616436303562 + 32653538336338656364643631303864316362646437393465613335343465306136623863333037 + 3762323661333337350a343038363635633031623038643864326436396465376138643133653938 + 32303336363539316230366338636630626433383232373933666637353431396166 + +password1: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 30323630383134393738653632626463383039333662373466623536616636306538663862326163 + 6631303836616134363836313464613163373438343435310a343163396636623264346135313465 + 34333664393464376630666165636631373666653034363664326163346430323530653162346136 + 6562663632353630660a663632323235656236613739616363343130316263336266373738613635 + 33646431636431386666393163303936333534393834366635636461396633323632333739623362 + 36633162653634616431323366643737653862336531643763633336343264666630333534343037 + 33636532376665346366363563653939633938323434613466356666326139323261366263636261 + 65363434363264613336366430666538653733653838356563663332396133336362316666396162 + 31633764616663353937623162633530316436303132343261646532666663613931 + +password2: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 33343765316232656539393964663930383633333239613831313531643434643263323064633663 + 6233623466623565373234656661626666646265313132610a633161303266323735363231396361 + 66616531633437353361663664383938646236396464623133653338663539396635303732363063 + 6532653366316333360a363661303632656532376362323062663837333563613964653231646363 + 37373038336538343436616166656463623331323335653634663730313132353063346138333738 + 62383038366632366362303765616463366539613138393937373031646430636134663565366333 + 65653763326665313966393363656434666636376232373061353461333933656630366361343530 + 65373462653733306465323530393037393062333061396139386431373130613137343536316238 + 65383330333835336235633539613265393532643636613733663365343235613663 + +plex_username: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 66373635346362373166656138343963363730343866336130376664623536616331363964306435 + 3934623439626537333164333038623337386531363936370a346262333133313262383966366633 + 61663035356230373661646562303066333362626334656461353535346437613433306637326564 + 3133643036653934310a613834383635666339366166346130366234636235373761643737393932 + 3536 + +plex_password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 37396565653564663463643964326163643633326233366264656631643162323765666161363939 + 6236386665376262383162373038656537313362663033650a383631363264336236376536386266 + 39323531386163343562323763386162363730373332376366323632303934316366353935323465 + 3734373766626533620a343162336638666636313130333432623838643964333533616538323466 + 39613961343366616666336639663662623966353665373331626134663936336332343238613963 + 66373633623533383534626536656636393131623530313239666438666166636363623637353762 + 326163633664363939633864326164323866 + +plex_token: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 39353335663961343335326331633538393831363130323138363231393830666132643739396234 + 3365636135343531616661373235316632363066303835630a366334336663626337626462333732 + 35343435373630633363633632323437383766336461613633373335653162656332666637383864 + 6464303864313366380a336166333132613731646236343433636231653132383035346563393635 + 63623336376532346165633666656435343335396639396538303037346365386238