Merge branch 'main' into renovate/ghcr.io-linuxserver-syncthing
All checks were successful
Lint on PR / Lint YAML files (pull_request) Successful in 9s
Deploy to Hosts / deploy (pull_request) Successful in 55s

This commit is contained in:
Matt Reeves 2024-09-22 14:39:16 -04:00
commit 1bcd8e46cb
10 changed files with 334 additions and 21 deletions

115
ansible/playbooks/zsh.yml Normal file
View file

@ -0,0 +1,115 @@
---
- name: Configure Zsh, Neofetch, FZF, and custom .zshrc
hosts: all
become: true
vars:
zsh_custom: "{{ ansible_env.HOME }}/.oh-my-zsh/custom"
user: "{{ ansible_user }}"
tasks:
- name: Install necessary packages
apt:
name:
- zsh
- neofetch
- fzf
state: present
update_cache: yes
- name: Pre-create basic .zshrc
copy:
dest: "/home/{{ user }}/.zshrc"
content: |
# Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"
export PATH=$PATH:$HOME/.local/bin
# Set theme
ZSH_THEME="robbyrussell"
# Plugins
plugins=(git ubuntu copypath copyfile dirhistory zsh-interactive-cd docker docker-compose opentofu zsh-history-substring-search zsh-autosuggestions zsh-syntax-highlighting you-should-use)
source $ZSH/oh-my-zsh.sh
# Set up Oh My Posh
eval "$(oh-my-posh init zsh --config https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/sonicboom_dark.omp.json)"
# Custom aliases
alias dcd="docker compose down"
alias dcu="docker compose up -d"
# Display system information
neofetch
owner: "{{ user }}"
mode: '0644'
- name: Download Oh My Zsh installation script
get_url:
url: https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
dest: /tmp/install_ohmyzsh.sh
- name: Run Oh My Zsh installation script
command: sh /tmp/install_ohmyzsh.sh --unattended
register: ohmyzsh_result
failed_when: "'FAILED' in ohmyzsh_result.stderr"
args:
chdir: "/home/{{ user }}"
environment:
HOME: "/home/{{ user }}"
RUNZSH: "no"
- name: Ensure custom plugins directory exists
file:
path: "{{ zsh_custom }}/plugins"
state: directory
owner: "{{ user }}"
group: "{{ user }}"
- name: Clone zsh-syntax-highlighting plugin
git:
repo: https://github.com/zsh-users/zsh-syntax-highlighting.git
dest: "/home/{{ ansible_user }}/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting"
update: yes
- name: Clone zsh-autosuggestions plugin
git:
repo: https://github.com/zsh-users/zsh-autosuggestions.git
dest: "/home/{{ ansible_user }}/.oh-my-zsh/custom/plugins/zsh-autosuggestions"
update: yes
- name: Clone zsh-history-substring-search plugin
git:
repo: https://github.com/zsh-users/zsh-history-substring-search.git
dest: "/home/{{ ansible_user }}/.oh-my-zsh/custom/plugins/zsh-history-substring-search"
update: yes
- name: Clone you-should-use plugin
git:
repo: https://github.com/MichaelAquilina/zsh-you-should-use.git
dest: "/home/{{ ansible_user }}/.oh-my-zsh/custom/plugins/you-should-use"
update: yes
- name: Ensure .local/bin directory exists
file:
path: "/home/{{ user }}/.local/bin"
state: directory
owner: "{{ user }}"
mode: '0755'
- name: Download Oh My Posh binary
get_url:
url: https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64
dest: "/home/{{ user }}/.local/bin/oh-my-posh"
mode: '0755'
- name: Ensure ownership of .local/bin/oh-my-posh
file:
path: "/home/{{ user }}/.local/bin/oh-my-posh"
owner: "{{ user }}"
mode: '0755'
- name: Change default shell to Zsh (after setting up .zshrc)
user:
name: "{{ user }}"
shell: /bin/zsh

View file

@ -1,10 +1,10 @@
version: "3.8"
services:
ollama:
image: ollama/ollama:0.3.11
container_name: ollama
restart: unless-stopped
networks:
- ai-stack
volumes:
- ollama:/root/.ollama
ports:
@ -18,9 +18,31 @@ services:
capabilities: [gpu]
open-webui:
image: ghcr.io/open-webui/open-webui:v0.3.22
image: ghcr.io/open-webui/open-webui:v0.3.23
container_name: open-webui
restart: unless-stopped
networks:
- ai-stack
environment:
- ENABLE_RAG_WEB_SEARCH=True
- RAG_WEB_SEARCH_ENGINE=searxng
- RAG_WEB_SEARCH_RESULT_COUNT=3
- RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10
- SEARXNG_QUERY_URL=http://searxng:8080/search?q=<query>
- OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID}
- OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET}
- OPENID_PROVIDER_URL=${OPENID_PROVIDER_URL}
- OAUTH_PROVIDER_NAME=${OAUTH_PROVIDER_NAME}
- OAUTH_USERNAME_CLAIM=name
- OAUTH_EMAIL_CLAIM=email
- OAUTH_SCOPES=${OAUTH_SCOPES}
- OAUTH_MERGE_ACCOUNTS_BY_EMAIL=True
- ENABLE_OAUTH_SIGNUP=True
- ENABLE_SIGNUP=True
- WEBUI_AUTH=False
- ENABLE_LOGIN_FORM=True
- ENABLE_IMAGE_GENERATION=True
- COMFYUI_BASE_URL=http://stable-diffusion-webui:7860
ports:
- 3000:8080
volumes:
@ -28,8 +50,156 @@ services:
extra_hosts:
- host.docker.internal:host-gateway
searxng:
image: searxng/searxng@sha256:efc99f666dd360bb5f606b401cff5baad6cdbb3095fd061b3eb34e0c1a12e54a
container_name: searxng
networks:
- ai-stack
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/searxng:/etc/searxng
depends_on:
- ollama
- open-webui
restart: unless-stopped
ports:
- "8081:8080"
stable-diffusion-download:
build: /docker/appdata/stable-diffusion-webui-docker/services/download/
image: comfy-download
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/stable-diffusion-webui-docker/data:/data
stable-diffusion-webui:
build: /docker/appdata/stable-diffusion-webui-docker/services/comfy/
image: comfy-ui
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- CLI_ARGS=
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/stable-diffusion-webui-docker/data:/data
- /docker/appdata/stable-diffusion-webui-docker/output:/output
stop_signal: SIGKILL
tty: true
deploy:
resources:
reservations:
devices:
- driver: nvidia
device_ids: ['0']
capabilities: [compute, utility]
restart: unless-stopped
networks:
- ai-stack
ports:
- "7860:7860"
mongo:
image: mongo
env_file:
- .env
networks:
- ai-stack
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/whisper/db_data:/data/db
- /docker/appdata/whisper/db_data/logs/:/var/log/mongodb/
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- MONGO_INITDB_ROOT_USERNAME=${DB_USER:-whisper}
- MONGO_INITDB_ROOT_PASSWORD=${DB_PASS:-whisper}
command: ['--logpath', '/var/log/mongodb/mongod.log']
ports:
- "27017:27017"
translate:
container_name: whisper-libretranslate
image: libretranslate/libretranslate:v1.6.0-cuda
env_file:
- .env
networks:
- ai-stack
restart: "no"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/whisper/libretranslate/data:/home/libretranslate/.local/share
- /docker/appdata/whisper/libretranslate/cache:/home/libretranslate/.local/cache
user: root
tty: true
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- LT_DISABLE_WEB_UI=True
- LT_LOAD_ONLY=${LT_LOAD_ONLY:-en,fr,es}
- LT_UPDATE_MODELS=True
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
ports:
- "5000:5000"
whisper:
container_name: whisper
pull_policy: always
image: pluja/whishper:v3.1.4-gpu
env_file:
- .env
networks:
- ai-stack
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/whisper/uploads:/app/uploads
- /docker/appdata/whisper/logs:/var/log/whishper
- /docker/appdata/whisper/models:/app/models
restart: unless-stopped
depends_on:
- mongo
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- PUBLIC_INTERNAL_API_HOST=http://127.0.0.1:80
- PUBLIC_API_HOST=${WHISHPER_HOST:-}
- PUBLIC_WHISHPER_PROFILE=gpu
- WHISPER_MODELS_DIR=/app/models
- UPLOAD_DIR=/app/uploads
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
ports:
- "8090:80"
networks:
ai-stack:
external: true
volumes:
ollama:
external: true
open-webui:
external: true

View file

@ -133,7 +133,7 @@ services:
networks:
- gitea_main
n8n:
image: ghcr.io/n8n-io/n8n:1.60.0
image: ghcr.io/n8n-io/n8n:1.60.1
container_name: n8n
ports:
- 5678:5678

View file

@ -43,7 +43,7 @@ services:
- PGID=1000
radarr:
image: ghcr.io/linuxserver/radarr@sha256:dfbce5095045fc1c15058318342ee590ab50379854b13464dd2ca17b10c4beb4
image: ghcr.io/linuxserver/radarr@sha256:df843d96b812d858b94377ffed1918424ece6735038a19e8ff93730277757b65
container_name: radarr
ports:
- "7878:7878"
@ -105,7 +105,7 @@ services:
doplarr:
image: ghcr.io/linuxserver/doplarr@sha256:e7a1a285b873622a3d2491612cad93ef2e015401495be96778304b15816547f5
image: ghcr.io/linuxserver/doplarr@sha256:553ab1a599797924b7c6aec47becd05a3bbc455197349cac190eec1f2707ade2
container_name: doplarr
environment:
- PUID=1000

View file

@ -1,7 +1,7 @@
---
services:
netbootxyz:
image: ghcr.io/linuxserver/netbootxyz@sha256:16fdc41c85cd9fd3057868e539b9300aaf95f9fc29be1b13bf78334802e0b10f
image: ghcr.io/linuxserver/netbootxyz@sha256:ca89a75a79371b041da7c7b9ff75320831212c1e9dcb7957b2f82914f54d9ce9
container_name: netboot
environment:
- PUID=1000

View file

@ -27,7 +27,7 @@ services:
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg:
image: docker.io/gotenberg/gotenberg:8.7
image: docker.io/gotenberg/gotenberg:8.10
restart: unless-stopped
# The gotenberg chromium route is used to convert .eml files. We do not

View file

@ -12,7 +12,7 @@ services:
restart: always
vikunja:
image: vikunja/vikunja@sha256:c31c7d6cad49038ab8a7d1414845d4c45539b43dd6ddd082bcd148e6fcd7b01c
image: vikunja/vikunja@sha256:c400bdcb2ae4a78fccb9b463d01f96d1b2cfaef3484a4dd5c2a26e55eadc2d7a
environment:
VIKUNJA_SERVICE_PUBLICURL: $VIKUNJA_SERVICE_PUBLICURL
VIKUNJA_DATABASE_TYPE: sqlite

View file

@ -0,0 +1,21 @@
# Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"
export PATH=$PATH:$HOME/.local/bin
# Set theme
ZSH_THEME="robbyrussell"
# Plugins
plugins=(git ubuntu copypath copyfile dirhistory zsh-interactive-cd docker docker-compose opentofu zsh-history-substring-search zsh-autosuggestions zsh-syntax-highlighting you-should-use)
source $ZSH/oh-my-zsh.sh
# Set up Oh My Posh
eval "$(oh-my-posh init zsh --config https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/sonicboom_dark.omp.json)"
# Custom aliases
alias dcd="docker compose down"
alias dcu="docker compose up -d"
# Display system information
neofetch

View file

@ -94,27 +94,38 @@ build {
]
}
provisioner "file" {
source = "files/pve.cfg"
destination = "/tmp/pve.cfg"
}
provisioner "shell" {
inline = [ "sudo cp /tmp/pve.cfg /etc/cloud/cloud.cfg.d/pve.cfg" ]
}
# Install Commonly Used Things - add alias's - set git config
# Install commonly used things - add alias's - set git config
provisioner "shell" {
inline = [
"sudo apt-get install -y ca-certificates curl gnupg lsb-release nfs-common qemu-guest-agent net-tools",
"sudo apt-get install -y ca-certificates curl gnupg lsb-release nfs-common qemu-guest-agent net-tools zsh neofetch fzf",
"sudo chsh -s $(which zsh) mafyuh",
"curl -fsSL https://get.docker.com | sudo sh",
"echo \"alias dcu='docker compose up -d'\" >> ~/.bashrc",
"echo \"alias dcd='docker compose down'\" >> ~/.bashrc",
"sh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\" --unattended",
"git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting",
"git clone https://github.com/zsh-users/zsh-autosuggestions.git $${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions",
"git clone https://github.com/zsh-users/zsh-history-substring-search.git $${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-history-substring-search",
"git clone https://github.com/MichaelAquilina/zsh-you-should-use.git $${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/you-should-use",
"mkdir -p /home/mafyuh/.local/bin",
"curl -fsSL https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -o /home/mafyuh/.local/bin/oh-my-posh",
"sudo chmod +x /home/mafyuh/.local/bin/oh-my-posh",
"git config --global user.name \"Mafyuh\"",
"git config --global user.email \"matt@mafyuh.com\"",
"sudo apt-get -y update"
]
}
}
provisioner "file" {
source = "files/.zshrc"
destination = "~/.zshrc"
}
}

View file

@ -64,8 +64,4 @@ resource "proxmox_virtual_environment_vm" "Ubu" {
]
}
}
output "vm_ipv4_address" {
value = proxmox_virtual_environment_vm.Ubu.ipv4_addresses[1][0]
}