Merge pull request #25 from quinm0/feat/one-env

feat/one-env => main
This commit is contained in:
2026-03-06 17:26:20 -05:00
committed by GitHub
31 changed files with 151 additions and 163 deletions
-28
View File
@@ -1,28 +0,0 @@
---
- name: Playbook
hosts: qmoran-laptop
become: true
vars:
omz_install_zsh: true
users:
- name: "qmoran"
group: "qmoran"
settings: |
export PATH="/usr/local/sbin:$PATH"
alias desktop="ssh qmoran@100.96.19.102"
alias po1="ssh qmoran@100.70.86.70"
tasks:
- name: Run oh-my-zsh.
include_role:
name: "oh-my-zsh"
vars:
omz_user: "{{ item }}"
# Only create `.zshrc` for user 'qmoran'; item.settings will be
# appended to `.zshrc` for the user 'qmoran'.
omz_zshrc_create: "{{ (item.name == 'qmoran') | ternary(true, false) }}"
omz_plugins:
# - "autojump"
- "git"
with_items: "{{ users }}"
+1
View File
@@ -3,5 +3,6 @@
become: yes
roles:
- devtools
- oneenv
vars_files:
- secrets.yaml
@@ -85,3 +85,9 @@
name: docker-ctop
state: present
when: not ctop_installed_check.stat.exists
- name: Create marker file to indicate ctop installation
file:
path: /var/ctop_installed
state: touch
when: not ctop_installed_check.stat.exists
+38
View File
@@ -0,0 +1,38 @@
# A role that updates the root soupclown env for all hosts
# All values will be set in the secrets and then copied to an env file on each host that hosts services
- name: Update env file for soupclown services
copy:
content: |
#GLOBAL ENV VARS
TZ="America/New_York"
PIA_USERNAME: "{{ PIA_USERNAME }}"
PIA_PASSWORD: "{{ PIA_PASSWORD }}"
TMDB_API_KEY: "{{ TMDB_API_KEY }}"
# Downloadin
DOWNLOAD_ETC_PATH: "/etc/soupclown/downloadin"
DOWNLOAD_IN_PROGRESS_PATH: "/home/qmoran/Downloads/in-progress"
DOWNLOAD_DONE_PATH: "/mnt/mega/jellyfinMedia"
# Immich
IMMICH_UPLOAD_LOCATION="/mnt/mega/immich/uploads"
IMMICH_DB_DATA_LOCATION="/root/immich/postgres"
IMMICH_VERSION="v2"
IMMICH_DB_PASSWORD="{{ IMMICH_DB_PASSWORD }}"
IMMICH_DB_USERNAME="postgres"
IMMICH_DB_DATABASE_NAME="immich"
# Paperless
PAPERLESS_CONSUMPTION_DIR="/usr/src/paperless/consume"
PAPERLESS_URL="http://qmoran-desktop:8000"
PAPERLESS_SECRET_KEY="{{ PAPERLESS_SECRET_KEY }}"
PAPERLESS_TIME_ZONE="America/New_York"
PAPERLESS_OCR_LANGUAGE="eng"
# Matrix
MATRIX_ETC_PATH: "/var/lib/matrix"
CONTINUWUITY_REGISTRATION_TOKEN: "{{ CONTINUWUITY_REGISTRATION_TOKEN }}"
dest: /etc/.soupclown.env
owner: root
group: root
mode: '0600'
+55 -29
View File
@@ -1,30 +1,56 @@
$ANSIBLE_VAULT;1.1;AES256
35333866366632636535643265303930333238373736323863663930383864643861613638353135
3363643465343935306530376262376566303861346464380a356135316234363437636663636237
30363465383361656638313038326262623032613561373936363139343066636334316166373439
3834363166383931660a303833383930333839366465376563623939636664626231653930623634
65653263613263613539333866386536396431383562396561326530326434666532656337616439
34663336313836646530343665323830333233366139383034363530303530376532623963623132
35653330616666396565353263666632633636613931643861623732306363663830373936356664
30373337383739636561383964316664363466626536663636376237336635333330653738643232
64313365643763656339313863303662336466363862343839313739636130343838663337643439
39393632376539383735353236396633363664653665393834386635666437316431386633333731
63656238383736303336653938613266626231306561353035306634663938306435346437303231
35396464366130646464646261626534653933366161656534356530616637663135336664353731
34366163396361363665653031303066623234343831333334313862613665656166373063643464
63313935343166663231343736323933616463633738323032383137363666383531613563366365
31666239303665326230666264376439323032343862636165316339396638643837366562626665
63643066336332373365663030613133643061316333343062356531643835316437303465626162
33373166636163643830373639366634316364666237363832646636656634643534616432343734
30313562643832653530623462383938653963323036636365626264363130666434383535666331
30376366333564323637666136393834396138313034643464306439636134626136316464383936
61383432356534326335616433373237633338633936323836356561343933356562653934303334
64303566636335363864663166373833616363616330613362616534346532326134653430656632
35626439663662623961356235616239613237333564316662393333326162626466613737343361
32343338663065626666613735666166386438383261616535393032346236656532623462663662
61643330336430636632386662623336663363623535323861346433626666386331616363653634
62313162396431343135653336656665313536343033623635663832353037383032353861663064
31316131303563303139343763656539613034643330663030386438643938646237326137396233
32356161616639643930373763626164623531643736316363623731333935303330306632646139
63303661613537396439656134353835646232363163363664616462356337386662303062646261
64316366633133386437373339323333633433393763323531346330663839396130
38633566623737636332636631313263653436356435633338623539306262376233316264633334
3439623864653232316335343839353437306635653164350a626662363861656164346132613037
65316238333635653864363833656465333464653534626365383632623334336637343537373335
6630363833626664300a633038633931366135653832393164396564336530373235663836623830
32306336613235363334643561336138663439323030633862366565353336326632393137383562
66356166316135376636393731663165353630396666306437393263643964303966313061346638
30373830356265633636626130346436653837663065346265626538363262653366313831396261
65343466363731633731623065306664646434333562356636376363333836333636303762333334
39313862313338633466353131383532643665303032366338313363386537333233306666663737
34313834343434336462313566396239323632306434336562356434396539343039653930373434
34373330613461373464366637613163363933346334316536666163626265663166386264313738
66626530323438663761333032633231636538636335623065373831326439326663363737386130
36336436373431303431356533616130326131663666643761323963353634656362396131363534
66363832313939383239376561346138373230303130303361343234313363373635666564323030
38353933333064396462373564613430666631316238613161333663663934363937633663663332
66326235373732323862616133373731626635316633613837373934663134383438323933393832
36393334313862353835663464366638373963383031633437663863386264656265626639303365
66313831313234333564343130386237323937373962313533626634303766313235363961336230
30346431316164313439663038353966373764336235623966386433366332366131663530343562
39623735636663626163616237653939323066323039373664366136386233646533313465356362
33323862633339316138383333333231346236303466383564633237356365633534666466313061
65653531326266626436356466313464343737306239333762303632316364646539346230663236
62393735633933303732313837303136373062373131366665333335613338633835613437633230
66333138346438626565323531396133323834306335346131613863646265353366613463623737
32643566636336306564313166666464616133653337313635326364616530323939396462316535
37646139343332376263663866383663343862656530373639353433396639306438636663343536
34333431636538373463363836333964656662396465323564396461336461636564643064336339
64373235363034663162343437373231616139633235383565346464613439363561396237613739
36346561613030643463646531663132343265383136353231386330313332363235656531313338
37373333336234663937653366353464313863313234623866383332343931383963333835316563
61353066623964313965663964393730666235353038393665616661363631306633353134616434
34396139333831653936373365316339383061663166613033396665383938303731643630336138
34636138363736356639323262373833363836373435373962633737383539306565613730626234
62646132313435383735313564396361373934313663313662646665393932653561613061376237
38626233353235393039366238313434393562393336623965333137643865386638663231346561
39376432666666343662626665623835643365613333326161623738323565636637666438653563
36373362356161343762343933393731666538626132363062313539373931653566646139363365
35353535663665373265323864366131326631613033646536333766343436316139363937383536
35363762653630346638376132306136336235333765336637613232323736386230313636316234
66343364316266663261333138363637313264393066616630326632366564656434623633313462
37343564373766666130353566393730356166346431613230623266393139613132373766366663
30656162383134356466303935343238656261616331333734626638346662393032633332396463
62356566656637363036666563616137306530313764336536393762343263653438623235613563
30636433623739366232313462316163313365333030623766356539663231626561666337376333
65356135346138313039663163653664316238303234663139306631653766613933396330663536
35646537363839616463306262323430653761356334646635353133353037626133633131393239
30356136336130313263363966653035653266336334313532303861633537663333313161346435
62313533313438663639626463323232663839316238663533303539623639653261636535373462
65336565313664336631343536366537373535363665616534633964653561643133653333303838
33646265376162363730373539616531616563396533386432303033376565646137353262323431
36303736663462636261346237663264343265333530623165306565303264323261356339653031
38316664616232643630376132623337653133393564656432633661333831316366653134396635
34626537373330363832303262316135656336373061646231333261663033376337343062613463
39626133323863383963653332376534666564366361313364613666343461373765363532323861
623131326234313330306339663434316330
+9 -2
View File
@@ -1,6 +1,13 @@
#!/bin/bash
SERVICE_NAMES=("paperless" "jellyfin" "immich" "navidrome" "downloadin" "matrix")
SERVICE_NAMES=(
"paperless"
"jellyfin"
"immich"
"navidrome"
"downloadin"
"matrix"
)
for SERVICE in "${SERVICE_NAMES[@]}"; do
bash $(pwd)/${SERVICE}-down.sh
docker compose --env-file /etc/.soupclown.env -f $(pwd)/${SERVICE}-compose.yaml down
done
+10 -3
View File
@@ -1,6 +1,13 @@
#!/bin/bash
SERVICE_NAMES=("paperless" "jellyfin" "immich" "navidrome" "downloadin" "matrix")
SERVICE_NAMES=(
"paperless"
"jellyfin"
"immich"
"navidrome"
"downloadin"
"matrix"
)
for SERVICE in "${SERVICE_NAMES[@]}"; do
bash $(pwd)/${SERVICE}-pull.sh
done
docker compose --env-file /etc/.soupclown.env -f $(pwd)/${SERVICE}-compose.yaml pull
done
+9 -2
View File
@@ -1,6 +1,13 @@
#!/bin/bash
SERVICE_NAMES=("paperless" "jellyfin" "immich" "navidrome" "downloadin" "matrix")
SERVICE_NAMES=(
"paperless"
"jellyfin"
"immich"
"navidrome"
# "downloadin"
"matrix"
)
for SERVICE in "${SERVICE_NAMES[@]}"; do
bash $(pwd)/${SERVICE}-up.sh
docker compose --env-file /etc/.soupclown.env -f $(pwd)/${SERVICE}-compose.yaml up -d
done
+14 -14
View File
@@ -1,8 +1,8 @@
# PIA_USERNAME: your PIA username
# PIA_PASSWORD: your PIA password
# ETC_PATH: path to store config files, e.g. /etc/services
# DOWNLOAD_PATH: path to store in-progress downloads
# STORAGE_PATH: path to store completed downloads
# DOWNLOAD_ETC_PATH: path to store config files, e.g. /etc/services
# DOWNLOAD_IN_PROGRESS_PATH: path to store in-progress downloads
# DOWNLOAD_DONE_PATH: path to store completed downloads
# STORAGE_MINIMUM_FREE_SPACE_GB*: minimum free space in GB for storage
# DOWNLOAD_MINIMUM_FREE_SPACE_GB*: minimum free space in GB for in-progress downloads
# * = not implemented
@@ -16,7 +16,7 @@ services:
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ${ETC_PATH}/gluetun:/gluetun
- ${DOWNLOAD_ETC_PATH}/gluetun:/gluetun
environment:
- VPN_SERVICE_PROVIDER=private internet access
- SERVER_REGIONS=Netherlands
@@ -47,9 +47,9 @@ services:
- PUID=1000
- PGID=1000
volumes:
- ${ETC_PATH}/deluge:/config
- ${DOWNLOAD_PATH}:/downloads
- ${STORAGE_PATH}:/storage
- ${DOWNLOAD_ETC_PATH}/deluge:/config
- ${DOWNLOAD_IN_PROGRESS_PATH}:/downloads
- ${DOWNLOAD_DONE_PATH}:/storage
depends_on:
vpn:
condition: service_started
@@ -66,7 +66,7 @@ services:
- PUID=1000
- PGID=1000
volumes:
- ${ETC_PATH}/prowlarr:/config
- ${DOWNLOAD_ETC_PATH}/prowlarr:/config
depends_on:
vpn:
condition: service_started
@@ -83,9 +83,9 @@ services:
- PGID=1000
- TZ=America/New_York
volumes:
- ${ETC_PATH}/radarr:/config
- ${STORAGE_PATH}/Movies:/Movies #optional
- ${DOWNLOAD_PATH}:/downloads #optional
- ${DOWNLOAD_ETC_PATH}/radarr:/config
- ${DOWNLOAD_DONE_PATH}/Movies:/Movies #optional
- ${DOWNLOAD_IN_PROGRESS_PATH}:/downloads #optional
depends_on:
vpn:
condition: service_started
@@ -106,9 +106,9 @@ services:
- PGID=1000
- TZ=America/New_York
volumes:
- ${ETC_PATH}/sonarr:/config
- ${STORAGE_PATH}/Shows:/tv #optional
- ${DOWNLOAD_PATH}:/downloads #optional
- ${DOWNLOAD_ETC_PATH}/sonarr:/config
- ${DOWNLOAD_DONE_PATH}/Shows:/tv #optional
- ${DOWNLOAD_IN_PROGRESS_PATH}:/downloads #optional
depends_on:
vpn:
condition: service_started
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/downloadin.env -f downloadin-compose.yaml down
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/downloadin.env -f downloadin-compose.yaml pull
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/downloadin.env -f downloadin-compose.yaml up -d
+7 -7
View File
@@ -17,8 +17,8 @@ services:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of IMMICH_UPLOAD_LOCATION in the .env file
- ${IMMICH_UPLOAD_LOCATION}:/data
- /mnt/mega/immich/old-album:/old-album
- /etc/localtime:/etc/localtime:ro
env_file:
@@ -59,15 +59,15 @@ services:
container_name: immich-postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD}
POSTGRES_USER: ${IMMICH_DB_USERNAME}
POSTGRES_DB: ${IMMICH_DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: "--data-checksums"
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of IMMICH_DB_DATA_LOCATION in the .env file
- ${IMMICH_DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/immich.env -f immich-compose.yaml down
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/immich.env -f $(pwd)/immich-compose.yaml pull
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/immich.env -f $(pwd)/immich-compose.yaml up -d
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose -f jellyfin-compose.yaml down
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose -f jellyfin-compose.yaml pull
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose -f jellyfin-compose.yaml up -d
+1 -1
View File
@@ -6,7 +6,7 @@ services:
ports:
- 6167:6167
volumes:
- ${ETC_PATH}:/var/lib/continuwuity
- ${MATRIX_ETC_PATH}:/var/lib/continuwuity
environment:
CONTINUWUITY_SERVER_NAME: soupclown.com
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/matrix.env -f matrix-compose.yaml down
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/matrix.env -f matrix-compose.yaml pull
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/matrix.env -f matrix-compose.yaml up -d
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose -f $(pwd)/navidrome-compose.yaml down
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose -f $(pwd)/navidrome-compose.yaml pull
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose -f $(pwd)/navidrome-compose.yaml up -d
-40
View File
@@ -1,40 +0,0 @@
###############################################################################
# Paperless-ngx settings #
###############################################################################
# See http://docs.paperless-ngx.com/configuration/ for all available options.
# The UID and GID of the user used to run paperless in the container. Set this
# to your UID and GID on the host so that you have write access to the
# consumption directory.
#USERMAP_UID=1000
#USERMAP_GID=1000
PAPERLESS_CONSUMPTION_DIR=/usr/src/paperless/consume
# See the documentation linked above for all options. A few commonly adjusted settings
# are provided below.
# This is required if you will be exposing Paperless-ngx on a public domain
# (if doing so please consider security measures such as reverse proxy)
PAPERLESS_URL=http://qmoran-desktop:8000
# Adjust this key if you plan to make paperless available publicly. It should
# be a very long sequence of random characters. You don't need to remember it.
PAPERLESS_SECRET_KEY=faluw4hltilweui4thueiuraew4hro7wlrhalweifuafsuhelwu3erhaiwuwehfiufhaluhrfawle98f7aspdhf98apwh3raw9i3raw9efhawepfufaopudspifushf98eup4h89qra8wfqjw39rjfap
# Use this variable to set a timezone for the Paperless Docker containers. Defaults to UTC.
PAPERLESS_TIME_ZONE=America/New_York
# The default language to use for OCR. Set this to the language most of your
# documents are written in.
PAPERLESS_OCR_LANGUAGE=eng
# Additional languages to install for text recognition, separated by a whitespace.
# Note that this is different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines
# the language used for OCR.
# The container installs English, German, Italian, Spanish and French by default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names
# for available languages.
#PAPERLESS_OCR_LANGUAGES=tur ces
+1 -1
View File
@@ -55,7 +55,7 @@ services:
- /mnt/mega/paperless_media:/usr/src/paperless/media
- /mnt/mega/paperless/export:/usr/src/paperless/export
- /mnt/mega/paperless/consume:/usr/src/paperless/consume
env_file: paperless-compose.env
env_file: /etc/.soupclown.env
environment:
PAPERLESS_URL: https://paperless.soupclown.com
PAPERLESS_REDIS: redis://broker:6379
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/paperless-compose.env -f $(pwd)/paperless-compose.yaml down
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/paperless-compose.env -f $(pwd)/paperless-compose.yaml pull
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
docker compose --env-file $(pwd)/paperless-compose.env -f $(pwd)/paperless-compose.yaml up -d