Compare commits

...

22 commits

Author SHA1 Message Date
f614061178 Merge branch 'main' into renovate/ghcr.io-linuxserver-netbootxyz
All checks were successful
Lint on PR / Lint YAML files (pull_request) Successful in 9s
Deploy to Hosts / deploy (pull_request) Successful in 53s
2024-09-22 14:37:34 -04:00
dbb366a2c0 ⬆️ Update docker.io/gotenberg/gotenberg Docker tag to v8.10 2024-09-22 14:37:03 -04:00
bf2fd513ed ⬆️ Update vikunja/vikunja Docker digest to c400bdc 2024-09-22 14:35:13 -04:00
6dad3ae3a5 ⬆️ Update ghcr.io/linuxserver/doplarr Docker digest to 553ab1a 2024-09-22 14:33:33 -04:00
ece44bc8a4 Merge pull request '⬆️ Update ghcr.io/linuxserver/radarr Docker digest to df843d9' (#208) from renovate/ghcr.io-linuxserver-radarr into main
Reviewed-on: #208
2024-09-22 14:27:23 -04:00
e07d5cd3b9 Merge branch 'main' into renovate/ghcr.io-linuxserver-radarr
All checks were successful
Lint on PR / Lint YAML files (pull_request) Successful in 9s
Deploy to Hosts / deploy (pull_request) Successful in 53s
2024-09-22 14:27:02 -04:00
4ee729ceae add AI stack 2024-09-22 14:26:39 -04:00
91acae49f6 ⬆️ Update ghcr.io/linuxserver/radarr Docker digest to df843d9
All checks were successful
Lint on PR / Lint YAML files (pull_request) Successful in 10s
2024-09-22 18:00:38 +00:00
9e47851f3b Merge pull request '⬆️ Update ghcr.io/open-webui/open-webui Docker tag to v0.3.23' (#206) from renovate/ghcr.io-open-webui-open-webui-0.x into main
Reviewed-on: #206
2024-09-21 21:34:25 -04:00
1a7b53d6f9 Merge branch 'main' into renovate/ghcr.io-open-webui-open-webui-0.x
All checks were successful
Lint on PR / Lint YAML files (pull_request) Successful in 10s
Deploy to Hosts / deploy (pull_request) Successful in 52s
2024-09-21 21:34:16 -04:00
c583b81865 fixed zsh playbook 2024-09-21 20:44:44 -04:00
6620a53ac6 test zsh playbook 2024-09-21 20:23:41 -04:00
45d9404f22 fix clone repo 2024-09-21 20:12:46 -04:00
b2c6782e41 adjust zsh playbook 2024-09-21 20:10:38 -04:00
f311309e05 test playbook 2024-09-21 20:01:51 -04:00
41c76486f6 test zsh playbook 2024-09-21 20:00:36 -04:00
694ace85ad fiz zsh playbook 2024-09-21 19:54:47 -04:00
181cfe20fb fix zsh playbook 2024-09-21 19:53:24 -04:00
e540c5d195 fix zsh 2024-09-21 19:49:07 -04:00
3d4c493a08 add zsh ansible test 2024-09-21 19:33:47 -04:00
b0c601f4e7 add zsh to packer, add ubu 2024-09-21 18:58:16 -04:00
107e6e3bd5 ⬆️ Update ghcr.io/open-webui/open-webui Docker tag to v0.3.23
All checks were successful
Lint on PR / Lint YAML files (pull_request) Successful in 8s
2024-09-21 04:01:01 +00:00
8 changed files with 332 additions and 19 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: services:
ollama: ollama:
image: ollama/ollama:0.3.11 image: ollama/ollama:0.3.11
container_name: ollama container_name: ollama
restart: unless-stopped restart: unless-stopped
networks:
- ai-stack
volumes: volumes:
- ollama:/root/.ollama - ollama:/root/.ollama
ports: ports:
@ -18,9 +18,31 @@ services:
capabilities: [gpu] capabilities: [gpu]
open-webui: 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 container_name: open-webui
restart: unless-stopped 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: ports:
- 3000:8080 - 3000:8080
volumes: volumes:
@ -28,8 +50,156 @@ services:
extra_hosts: extra_hosts:
- host.docker.internal:host-gateway - 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: volumes:
ollama: ollama:
external: true external: true
open-webui: open-webui:
external: true

View file

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

View file

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

View file

@ -12,7 +12,7 @@ services:
restart: always restart: always
vikunja: vikunja:
image: vikunja/vikunja@sha256:c31c7d6cad49038ab8a7d1414845d4c45539b43dd6ddd082bcd148e6fcd7b01c image: vikunja/vikunja@sha256:c400bdcb2ae4a78fccb9b463d01f96d1b2cfaef3484a4dd5c2a26e55eadc2d7a
environment: environment:
VIKUNJA_SERVICE_PUBLICURL: $VIKUNJA_SERVICE_PUBLICURL VIKUNJA_SERVICE_PUBLICURL: $VIKUNJA_SERVICE_PUBLICURL
VIKUNJA_DATABASE_TYPE: sqlite 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" { provisioner "file" {
source = "files/pve.cfg" source = "files/pve.cfg"
destination = "/tmp/pve.cfg" destination = "/tmp/pve.cfg"
} }
provisioner "shell" { provisioner "shell" {
inline = [ "sudo cp /tmp/pve.cfg /etc/cloud/cloud.cfg.d/pve.cfg" ] 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" { provisioner "shell" {
inline = [ 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", "curl -fsSL https://get.docker.com | sudo sh",
"echo \"alias dcu='docker compose up -d'\" >> ~/.bashrc", "sh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\" --unattended",
"echo \"alias dcd='docker compose down'\" >> ~/.bashrc", "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.name \"Mafyuh\"",
"git config --global user.email \"matt@mafyuh.com\"", "git config --global user.email \"matt@mafyuh.com\"",
"sudo apt-get -y update" "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]
} }