Compare commits
3 commits
a6eb4a3ea7
...
fc164dbc60
Author | SHA1 | Date | |
---|---|---|---|
fc164dbc60 | |||
8c3eee2abe | |||
8783f350e5 |
27 changed files with 203 additions and 96 deletions
15
README.md
15
README.md
|
@ -14,12 +14,17 @@ This is my homelab, defined in code.
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| Hypervisor | OS | Tools | VPS (arm) | Firewall | Misc. Automations |
|
| Hypervisor | OS | Tools | VPS (arm) | Firewall |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| [![Proxmox](https://img.shields.io/badge/-Proxmox-%23c9d1d9?logo=Proxmox)](https://www.proxmox.com) | [![Ubuntu](https://img.shields.io/badge/Ubuntu_22.04-%23c9d1d9?&logo=ubuntu&logoColor=red)](https://releases.ubuntu.com/jammy/) [![Ubuntu](https://img.shields.io/badge/Ubuntu_24-%23c9d1d9?&logo=ubuntu&logoColor=red)](https://releases.ubuntu.com/noble/) | [![Forgejo](https://img.shields.io/badge/-Forgejo-%23c9d1d9?logo=forgejo&logoColor=orange)](https://forgejo.org/) [![Docker](https://img.shields.io/badge/-Docker-%23c9d1d9?logo=docker)](https://www.docker.com/) [![Renovate](https://img.shields.io/badge/-Renovate-%23c9d1d9?logo=renovate&logoColor=blue)](https://github.com/renovatebot/renovate) [![OpenTofu](https://img.shields.io/badge/-OpenTofu-%23c9d1d9?logo=opentofu&logoColor=black)](https://opentofu.org/) [![Packer](https://img.shields.io/badge/-Packer-%23c9d1d9?logo=packer)](https://www.packer.io/) [![Ansible](https://img.shields.io/badge/-Ansible-%23c9d1d9?logo=ansible&logoColor=red)](https://www.ansible.com/) | [![Oracle](https://img.shields.io/badge/-Oracle_Cloud-%23c9d1d9?logo=oracle&logoColor=red)](https://www.oracle.com/cloud/) | [![pfSense](https://img.shields.io/badge/-pfSense-%23c9d1d9?logo=pfsense&logoColor=blue)](https://www.pfsense.org/) | [![n8n](https://img.shields.io/badge/-n8n-%23c9d1d9?logo=n8n)](https://n8n.io/)
|
| [![Proxmox](https://img.shields.io/badge/-Proxmox-%23c9d1d9?logo=Proxmox)](https://www.proxmox.com) | [![Ubuntu](https://img.shields.io/badge/Ubuntu_22.04-%23c9d1d9?&logo=ubuntu&logoColor=red)](https://releases.ubuntu.com/jammy/) [![Ubuntu](https://img.shields.io/badge/Ubuntu_24-%23c9d1d9?&logo=ubuntu&logoColor=red)](https://releases.ubuntu.com/noble/) | [![Forgejo](https://img.shields.io/badge/-Forgejo-%23c9d1d9?logo=forgejo&logoColor=orange)](https://forgejo.org/) [![Docker](https://img.shields.io/badge/-Docker-%23c9d1d9?logo=docker)](https://www.docker.com/) [![Renovate](https://img.shields.io/badge/-Renovate-%23c9d1d9?logo=renovate&logoColor=blue)](https://github.com/renovatebot/renovate) [![OpenTofu](https://img.shields.io/badge/-OpenTofu-%23c9d1d9?logo=opentofu)](https://opentofu.org/) [![Packer](https://img.shields.io/badge/-Packer-%23c9d1d9?logo=packer)](https://www.packer.io/) [![Ansible](https://img.shields.io/badge/-Ansible-%23c9d1d9?logo=ansible&logoColor=red)](https://www.ansible.com/) | [![Oracle](https://img.shields.io/badge/-Oracle_Cloud-%23c9d1d9?logo=oracle&logoColor=red)](https://www.oracle.com/cloud/) | [![pfSense](https://img.shields.io/badge/-pfSense-%23c9d1d9?logo=pfsense&logoColor=blue)](https://www.pfsense.org/) |
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## To-Do
|
ToDo
|
||||||
See [Project Board](https://git.mafyuh.dev/mafyuh/iac/projects/2)
|
- [ ] Update Readme
|
||||||
|
- [ ] Update Issue Templates
|
||||||
|
- [x] Migrate all containers to use this repo
|
||||||
|
- [x] Get OpenTofu migrated to this repo
|
||||||
|
- [ ] Get Kubernetes repo migrated over
|
||||||
|
- [ ] Re-bootstrap Flux
|
||||||
|
|
||||||
|
|
33
ansible/playbooks/deploy.yml
Normal file
33
ansible/playbooks/deploy.yml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
---
|
||||||
|
- name: Deploy application
|
||||||
|
hosts: "{{ target_host }}"
|
||||||
|
vars:
|
||||||
|
repo_path: "/home/{{ ansible_user }}/Auto-Homelab/{{ folder }}"
|
||||||
|
tasks:
|
||||||
|
- name: Ensure the repository is up-to-date
|
||||||
|
shell: git pull
|
||||||
|
args:
|
||||||
|
chdir: "{{ repo_path }}"
|
||||||
|
register: git_pull_output
|
||||||
|
|
||||||
|
- name: Display git pull output
|
||||||
|
debug:
|
||||||
|
var: git_pull_output.stdout_lines
|
||||||
|
|
||||||
|
- name: Restart services
|
||||||
|
command: docker compose up -d
|
||||||
|
args:
|
||||||
|
chdir: "{{ repo_path }}"
|
||||||
|
register: docker_compose_output
|
||||||
|
|
||||||
|
- name: Display docker output
|
||||||
|
debug:
|
||||||
|
var: docker_compose_output.stdout_lines
|
||||||
|
|
||||||
|
- name: Run Docker Command
|
||||||
|
command: docker ps
|
||||||
|
register: docker_output
|
||||||
|
|
||||||
|
- name: Display Docker Output
|
||||||
|
debug:
|
||||||
|
var: docker_output.stdout_lines
|
|
@ -2,8 +2,8 @@
|
||||||
- name: Reset and Pull Git Repository
|
- name: Reset and Pull Git Repository
|
||||||
hosts: all
|
hosts: all
|
||||||
tasks:
|
tasks:
|
||||||
- name: Change to iac directory
|
- name: Change to Auto-Homelab directory
|
||||||
shell: cd ~/iac
|
shell: cd ~/Auto-Homelab
|
||||||
args:
|
args:
|
||||||
chdir: "/home/{{ ansible_user }}"
|
chdir: "/home/{{ ansible_user }}"
|
||||||
environment:
|
environment:
|
||||||
|
@ -12,13 +12,13 @@
|
||||||
- name: Git Pull
|
- name: Git Pull
|
||||||
shell: git pull
|
shell: git pull
|
||||||
args:
|
args:
|
||||||
chdir: "/home/{{ ansible_user }}/iac"
|
chdir: "/home/{{ ansible_user }}/Auto-Homelab"
|
||||||
environment:
|
environment:
|
||||||
HOME: "/home/{{ ansible_user }}"
|
HOME: "/home/{{ ansible_user }}"
|
||||||
|
|
||||||
- name: Git Reset
|
- name: Git Reset
|
||||||
shell: git reset --hard origin/main
|
shell: git reset --hard origin/main
|
||||||
args:
|
args:
|
||||||
chdir: "/home/{{ ansible_user }}/iac"
|
chdir: "/home/{{ ansible_user }}/Auto-Homelab"
|
||||||
environment:
|
environment:
|
||||||
HOME: "/home/{{ ansible_user }}"
|
HOME: "/home/{{ ansible_user }}"
|
|
@ -2,7 +2,7 @@ version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
ollama:
|
ollama:
|
||||||
image: ollama/ollama:0.3.6
|
image: ollama/ollama:0.3.4
|
||||||
container_name: ollama
|
container_name: ollama
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
@ -18,7 +18,7 @@ services:
|
||||||
capabilities: [gpu]
|
capabilities: [gpu]
|
||||||
|
|
||||||
open-webui:
|
open-webui:
|
||||||
image: ghcr.io/open-webui/open-webui:v0.3.13
|
image: ghcr.io/open-webui/open-webui:v0.3.12
|
||||||
container_name: open-webui
|
container_name: open-webui
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
|
@ -28,6 +28,16 @@ services:
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- host.docker.internal:host-gateway
|
- host.docker.internal:host-gateway
|
||||||
|
|
||||||
|
mindsdb:
|
||||||
|
image: mindsdb/mindsdb:v24.8.1.1
|
||||||
|
container_name: mindsdb
|
||||||
|
ports:
|
||||||
|
- 47334:47334
|
||||||
|
- 47335:47335
|
||||||
|
volumes:
|
||||||
|
- /home/mafyuh/mindsdb:/root/mindsdb
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
ollama:
|
ollama:
|
||||||
external: true
|
external: true
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
adguardhome:
|
adguardhome:
|
||||||
image: adguard/adguardhome:v0.107.52
|
image: docker.mafyuh.xyz/adguard/adguardhome:v0.107.52
|
||||||
container_name: adguardhome
|
container_name: adguardhome
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
adguardhome:
|
adguardhome:
|
||||||
image: adguard/adguardhome:v0.107.52
|
image: docker.mafyuh.xyz/adguard/adguardhome:v0.107.52
|
||||||
container_name: adguardhome
|
container_name: adguardhome
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
@ -22,7 +22,7 @@ services:
|
||||||
- 5443:5443/udp
|
- 5443:5443/udp
|
||||||
|
|
||||||
adguardhome-sync:
|
adguardhome-sync:
|
||||||
image: ghcr.io/linuxserver/adguardhome-sync@sha256:1987f271621a53f0fbece4d8445f5725190539607648de67265e15aab6c4ecd2
|
image: ghcr.io/linuxserver/adguardhome-sync@sha256:c6bad810acfc292b9220936751194f6ae9800b1228385ae8f2130fba280b79ee
|
||||||
container_name: adguardhome-sync
|
container_name: adguardhome-sync
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
|
|
|
@ -38,7 +38,7 @@ services:
|
||||||
- /home/ubuntu/forgejo/mysql:/var/lib/mysql
|
- /home/ubuntu/forgejo/mysql:/var/lib/mysql
|
||||||
|
|
||||||
gotify:
|
gotify:
|
||||||
image: gotify/server-arm7:2.5.0
|
image: docker.mafyuh.xyz/gotify/server-arm7:2.5.0
|
||||||
container_name: gotify
|
container_name: gotify
|
||||||
ports:
|
ports:
|
||||||
- 9008:80
|
- 9008:80
|
||||||
|
@ -53,7 +53,7 @@ services:
|
||||||
- gitea_main
|
- gitea_main
|
||||||
|
|
||||||
nginx-proxy-manager:
|
nginx-proxy-manager:
|
||||||
image: jc21/nginx-proxy-manager:2.11.3
|
image: docker.mafyuh.xyz/jc21/nginx-proxy-manager:2.11.3
|
||||||
container_name: nginx-proxy-manager
|
container_name: nginx-proxy-manager
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
|
@ -67,7 +67,7 @@ services:
|
||||||
- gitea_main
|
- gitea_main
|
||||||
|
|
||||||
uptime-kuma:
|
uptime-kuma:
|
||||||
image: louislam/uptime-kuma:1.23.13
|
image: docker.mafyuh.xyz/louislam/uptime-kuma:1.23.13
|
||||||
container_name: uptime-kuma
|
container_name: uptime-kuma
|
||||||
ports:
|
ports:
|
||||||
- 3001:3001
|
- 3001:3001
|
||||||
|
@ -78,7 +78,7 @@ services:
|
||||||
- gitea_main
|
- gitea_main
|
||||||
|
|
||||||
jellyseerr:
|
jellyseerr:
|
||||||
image: fallenbagel/jellyseerr:1.9.2
|
image: docker.mafyuh.xyz/fallenbagel/jellyseerr:1.9.2
|
||||||
container_name: jellyseerr
|
container_name: jellyseerr
|
||||||
ports:
|
ports:
|
||||||
- 5055:5055
|
- 5055:5055
|
||||||
|
@ -92,7 +92,7 @@ services:
|
||||||
- gitea_main
|
- gitea_main
|
||||||
|
|
||||||
linkstack:
|
linkstack:
|
||||||
image: linkstackorg/linkstack@sha256:ad2ec7ffa69f4b04367313d1b95566bb00955b9670eb5467fd4fab39dd1f53c1
|
image: docker.mafyuh.xyz/linkstackorg/linkstack@sha256:ad2ec7ffa69f4b04367313d1b95566bb00955b9670eb5467fd4fab39dd1f53c1
|
||||||
container_name: linkstack
|
container_name: linkstack
|
||||||
ports:
|
ports:
|
||||||
- 8005:80
|
- 8005:80
|
||||||
|
@ -107,7 +107,7 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- gitea_main
|
- gitea_main
|
||||||
n8n:
|
n8n:
|
||||||
image: ghcr.io/n8n-io/n8n:1.55.3
|
image: ghcr.io/n8n-io/n8n:1.54.0
|
||||||
container_name: n8n
|
container_name: n8n
|
||||||
ports:
|
ports:
|
||||||
- 5678:5678
|
- 5678:5678
|
||||||
|
@ -122,7 +122,7 @@ services:
|
||||||
- gitea_main
|
- gitea_main
|
||||||
|
|
||||||
vaultwarden:
|
vaultwarden:
|
||||||
image: vaultwarden/server:1.32.0
|
image: docker.mafyuh.xyz/vaultwarden/server:1.31.0
|
||||||
container_name: vaultwarden
|
container_name: vaultwarden
|
||||||
ports:
|
ports:
|
||||||
- 8989:80
|
- 8989:80
|
||||||
|
@ -137,7 +137,7 @@ services:
|
||||||
ipv4_address: 172.25.0.25
|
ipv4_address: 172.25.0.25
|
||||||
|
|
||||||
syncthing:
|
syncthing:
|
||||||
image: ghcr.io/linuxserver/syncthing@sha256:d6502d919f49f16a80689ce92c211f945f1d64a34c0d3f23ecc27a2a4d1dd0ac
|
image: ghcr.io/linuxserver/syncthing@sha256:2c1ecba88add0cf239914553cc911193a78c668012bf8e55044c1bbff6b2db18
|
||||||
container_name: syncthing
|
container_name: syncthing
|
||||||
hostname: ARM #optional
|
hostname: ARM #optional
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
bazarr:
|
bazarr:
|
||||||
image: ghcr.io/linuxserver/bazarr@sha256:8573a7d8558d7407ec53c205599d99d9876486621681355d147e9091cd99c58b
|
image: ghcr.io/linuxserver/bazarr@sha256:4222fa316c51c2d0257384e5562541059698c220abbb00170eb93c3ddfa52d18
|
||||||
container_name: bazarr
|
container_name: bazarr
|
||||||
ports:
|
ports:
|
||||||
- "6767:6767"
|
- "6767:6767"
|
||||||
|
@ -15,7 +15,7 @@ services:
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
|
|
||||||
lidarr:
|
lidarr:
|
||||||
image: ghcr.io/linuxserver/lidarr@sha256:d30f42dc071f77ae833d094083263d38be2dd0ddfff3c234ede29a36673a8603
|
image: ghcr.io/linuxserver/lidarr@sha256:e504ab630ab456a4a39a6801f760975ff84fe53a0e542439d80aa8da27773a6e
|
||||||
container_name: lidarr
|
container_name: lidarr
|
||||||
ports:
|
ports:
|
||||||
- "8686:8686"
|
- "8686:8686"
|
||||||
|
@ -43,7 +43,7 @@ services:
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
|
|
||||||
radarr:
|
radarr:
|
||||||
image: ghcr.io/linuxserver/radarr@sha256:b034531ff81d3e5e1f9fd70c969746040b40e6484c88981ea5d0dee732c10bc3
|
image: ghcr.io/linuxserver/radarr@sha256:9d6f0548fd805edb30108fdd06d0fc5a4436c9bd708b57bd4119d7aefa815fe4
|
||||||
container_name: radarr
|
container_name: radarr
|
||||||
ports:
|
ports:
|
||||||
- "7878:7878"
|
- "7878:7878"
|
||||||
|
@ -57,7 +57,7 @@ services:
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
|
|
||||||
sonarr:
|
sonarr:
|
||||||
image: ghcr.io/linuxserver/sonarr@sha256:bffa87787eacff9023df4400f521c159566d14b5a280caec8b54196071e6038e
|
image: ghcr.io/linuxserver/sonarr@sha256:f0c1fe322671a5c4a302e27ee7aac622fb3c7ba6da231f6c378fe07ab900d6eb
|
||||||
container_name: sonarr
|
container_name: sonarr
|
||||||
ports:
|
ports:
|
||||||
- "8989:8989"
|
- "8989:8989"
|
||||||
|
@ -91,7 +91,7 @@ services:
|
||||||
- AUTH_OIDC_ADMIN_GROUP=${AUTH_OIDC_ADMIN_GROUP}
|
- AUTH_OIDC_ADMIN_GROUP=${AUTH_OIDC_ADMIN_GROUP}
|
||||||
|
|
||||||
doplarr:
|
doplarr:
|
||||||
image: ghcr.io/linuxserver/doplarr@sha256:6959cd770bc89c2eaa61e07b13673051d66e6edae09f4a7e7c7846fdfa4dafc6
|
image: ghcr.io/linuxserver/doplarr@sha256:9e1cfedf824d00bb0f269bcb3836b13cdbb74747bef062f9021be6f0f63dde7a
|
||||||
container_name: doplarr
|
container_name: doplarr
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
|
@ -116,7 +116,7 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
jfa-go:
|
jfa-go:
|
||||||
image: hrfee/jfa-go
|
image: docker.mafyuh.xyz/hrfee/jfa-go
|
||||||
container_name: jfa-go
|
container_name: jfa-go
|
||||||
ports:
|
ports:
|
||||||
- 8056:8056
|
- 8056:8056
|
||||||
|
@ -140,7 +140,7 @@ services:
|
||||||
image: gcr.io/cadvisor/cadvisor:v0.50.0
|
image: gcr.io/cadvisor/cadvisor:v0.50.0
|
||||||
|
|
||||||
syncthing:
|
syncthing:
|
||||||
image: ghcr.io/linuxserver/syncthing@sha256:d6502d919f49f16a80689ce92c211f945f1d64a34c0d3f23ecc27a2a4d1dd0ac
|
image: ghcr.io/linuxserver/syncthing@sha256:2c1ecba88add0cf239914553cc911193a78c668012bf8e55044c1bbff6b2db18
|
||||||
container_name: syncthing
|
container_name: syncthing
|
||||||
hostname: ARRS
|
hostname: ARRS
|
||||||
environment:
|
environment:
|
||||||
|
@ -158,7 +158,7 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
code-server:
|
code-server:
|
||||||
image: ghcr.io/linuxserver/code-server@sha256:4914ed4bc7e7342ef9d9cc30abda9cbcd486d79eac37db4bbe70df91135a1ef3
|
image: ghcr.io/linuxserver/code-server@sha256:ce5fc2b0c5956e3fac4bda7647707b2f979757f1baed62ad27af9782d4acc8ce
|
||||||
container_name: code-server
|
container_name: code-server
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
## Get from https://docs.goauthentik.io/docs/installation/docker-compose#preparation
|
|
|
@ -32,7 +32,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- redis:/data
|
- redis:/data
|
||||||
server:
|
server:
|
||||||
image: ghcr.io/goauthentik/server@sha256:ec5683345b6283214e01112dd4ba4ac7af1fc638a6e2301e6c18b7f3036f27bc
|
image: ghcr.io/goauthentik/server@sha256:a98f95518269d01bb812eb0e12c6647f3d08a36e37b9fdbdccf9345d4431b9f0
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: server
|
command: server
|
||||||
environment:
|
environment:
|
||||||
|
@ -53,7 +53,7 @@ services:
|
||||||
- postgresql
|
- postgresql
|
||||||
- redis
|
- redis
|
||||||
worker:
|
worker:
|
||||||
image: ghcr.io/goauthentik/server@sha256:ec5683345b6283214e01112dd4ba4ac7af1fc638a6e2301e6c18b7f3036f27bc
|
image: ghcr.io/goauthentik/server@sha256:a98f95518269d01bb812eb0e12c6647f3d08a36e37b9fdbdccf9345d4431b9f0
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: worker
|
command: worker
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
services:
|
services:
|
||||||
cf-tunnel:
|
cf-tunnel:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: cloudflare/cloudflared@sha256:31fc2956d49179f7fd230b030e702e40ade7ccc361d0f1079e4a56bc888678f9
|
image: docker.mafyuh.xyz/cloudflare/cloudflared@sha256:31fc2956d49179f7fd230b030e702e40ade7ccc361d0f1079e4a56bc888678f9
|
||||||
command: tunnel --no-autoupdate run --token $CF_TOKEN
|
command: tunnel --no-autoupdate run --token $CF_TOKEN
|
||||||
|
|
||||||
wallos:
|
wallos:
|
||||||
container_name: wallos
|
container_name: wallos
|
||||||
image: bellamy/wallos:2.22.1
|
image: bellamy/wallos:2.22.0
|
||||||
ports:
|
ports:
|
||||||
- "8282:80/tcp"
|
- "8282:80/tcp"
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
LAN_NETWORK=10.10.10.0/24
|
|
|
@ -1,7 +1,7 @@
|
||||||
version: '3.9'
|
version: '3.9'
|
||||||
services:
|
services:
|
||||||
sabnzbd:
|
sabnzbd:
|
||||||
image: ghcr.io/linuxserver/sabnzbd@sha256:95179d6de1c660d7dcd4bd3991b33871c88df1120ab84bc553c4a67e8cc412d2
|
image: ghcr.io/linuxserver/sabnzbd@sha256:aad79c7a696a8743b87f9a0429bf5fa0be1edc8bbf00b962008dfa9893efd28e
|
||||||
container_name: sabnzbd
|
container_name: sabnzbd
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
|
@ -16,7 +16,7 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
arch-qbittorrentvpn:
|
arch-qbittorrentvpn:
|
||||||
image: binhex/arch-qbittorrentvpn:4.6.5-1-03
|
image: docker.mafyuh.xyz/binhex/arch-qbittorrentvpn:4.6.5-1-03
|
||||||
container_name: qbittorrentvpn
|
container_name: qbittorrentvpn
|
||||||
volumes:
|
volumes:
|
||||||
- '/docker/appdata/qbitty:/config'
|
- '/docker/appdata/qbitty:/config'
|
||||||
|
@ -55,3 +55,25 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- LOG_LEVEL=info
|
- LOG_LEVEL=info
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
cadvisor:
|
||||||
|
volumes:
|
||||||
|
- /:/rootfs:ro
|
||||||
|
- /var/run:/var/run:ro
|
||||||
|
- /sys:/sys:ro
|
||||||
|
- /var/lib/docker/:/var/lib/docker:ro
|
||||||
|
- /dev/disk/:/dev/disk:ro
|
||||||
|
ports:
|
||||||
|
- 9999:8080
|
||||||
|
container_name: cadvisor
|
||||||
|
privileged: true
|
||||||
|
devices:
|
||||||
|
- /dev/kmsg
|
||||||
|
image: gcr.io/cadvisor/cadvisor:v0.50.0
|
||||||
|
|
||||||
|
node-exporter:
|
||||||
|
image: docker.mafyuh.xyz/prom/node-exporter:v1.8.2
|
||||||
|
container_name: monitoring_node_exporter
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 9100:9100
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
jellyfin:
|
jellyfin:
|
||||||
image: ghcr.io/linuxserver/jellyfin@sha256:a90c9b22a2634c3c24049b35d9bc0295eddfa46615697c92f67794f523a27a3a
|
image: ghcr.io/linuxserver/jellyfin@sha256:88db4425a59157eba4b0fba8feb7df22a747a8134bb4d898070ef662f2c09b66
|
||||||
container_name: jellyfin
|
container_name: jellyfin
|
||||||
devices:
|
devices:
|
||||||
- /dev/dri/renderD129:/dev/dri/renderD129
|
- /dev/dri/renderD129:/dev/dri/renderD129
|
||||||
|
@ -22,7 +22,7 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
makemkv:
|
makemkv:
|
||||||
image: jlesage/makemkv@sha256:39dccc4f82dc76668a78543ac7392a43b6bc6c069e1a3e47e8c058c6cb5f09b0
|
image: docker.mafyuh.xyz/jlesage/makemkv@sha256:39dccc4f82dc76668a78543ac7392a43b6bc6c069e1a3e47e8c058c6cb5f09b0
|
||||||
container_name: makemkv
|
container_name: makemkv
|
||||||
ports:
|
ports:
|
||||||
- 5800:5800
|
- 5800:5800
|
||||||
|
@ -35,7 +35,7 @@ services:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
|
||||||
syncthing:
|
syncthing:
|
||||||
image: ghcr.io/linuxserver/syncthing@sha256:d6502d919f49f16a80689ce92c211f945f1d64a34c0d3f23ecc27a2a4d1dd0ac
|
image: ghcr.io/linuxserver/syncthing@sha256:2c1ecba88add0cf239914553cc911193a78c668012bf8e55044c1bbff6b2db18
|
||||||
container_name: syncthing
|
container_name: syncthing
|
||||||
hostname: JF
|
hostname: JF
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
kasm:
|
kasm:
|
||||||
image: ghcr.io/linuxserver/kasm@sha256:0236fb40d19863d11ab472dc8351db690f1190fac20ea643512318709f22f037
|
image: ghcr.io/linuxserver/kasm@sha256:c68b21aab787c3a35e170438d6be2dcfaded038c09b7d96d06815d294ecd4241
|
||||||
container_name: kasm
|
container_name: kasm
|
||||||
privileged: true
|
privileged: true
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
netbootxyz:
|
netbootxyz:
|
||||||
image: ghcr.io/linuxserver/netbootxyz@sha256:cb886a67f45f14e2e864ce713977dd8d3253d997b1fb6cfc627b240a3e0659ea
|
image: ghcr.io/linuxserver/netbootxyz@sha256:5693c2fe816c92f45f364faa3d05b7bdddef86b58a7cf19fe642eeccf26444b8
|
||||||
container_name: netboot
|
container_name: netboot
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
|
|
11
docker/nexus/docker-compose.yml
Normal file
11
docker/nexus/docker-compose.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
services:
|
||||||
|
nexus:
|
||||||
|
image: docker.mafyuh.xyz/sonatype/nexus3:3.71.0
|
||||||
|
container_name: nexus
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 8081:8081
|
||||||
|
- 8082:8082
|
||||||
|
volumes:
|
||||||
|
- /docker/appdata/nexus:/nexus-data ## To get to work run: sudo chown -R 200 /docker/appdata/nexus/ | cat /docker/appdata/nexus/admin.password
|
|
@ -1,6 +1,6 @@
|
||||||
services:
|
services:
|
||||||
portainer:
|
portainer:
|
||||||
image: portainer/portainer-ee@sha256:0aa305da72738d9f90a209bf74bdc74172004690fa298f52d5f92dd065f26aea
|
image: docker.mafyuh.xyz/portainer/portainer-ee@sha256:0aa305da72738d9f90a209bf74bdc74172004690fa298f52d5f92dd065f26aea
|
||||||
container_name: portainer
|
container_name: portainer
|
||||||
command: -H unix:///var/run/docker.sock
|
command: -H unix:///var/run/docker.sock
|
||||||
ports:
|
ports:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
services:
|
services:
|
||||||
twingate-famous-alligator:
|
twingate-famous-alligator:
|
||||||
image: twingate/connector@sha256:30864d606a6a252ac919220ad32b7d9ea6335497e8ce774216b13bf05aabd4bf
|
image: docker.mafyuh.xyz/twingate/connector@sha256:30864d606a6a252ac919220ad32b7d9ea6335497e8ce774216b13bf05aabd4bf
|
||||||
container_name: twingate-famous-alligator
|
container_name: twingate-famous-alligator
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -5,8 +5,8 @@ resource "proxmox_virtual_environment_vm" "AI" {
|
||||||
vm_id = 322
|
vm_id = 322
|
||||||
name = "AI"
|
name = "AI"
|
||||||
machine = "q35"
|
machine = "q35"
|
||||||
description = "Stable-Diffusion"
|
description = "Ollama, Open Webui, mindsdb"
|
||||||
tags = ["tofu", "ubuntu-22", "iac-repo"]
|
tags = ["tofu", "ubuntu-22", "auto-homelab-repo"]
|
||||||
started = true
|
started = true
|
||||||
|
|
||||||
agent {
|
agent {
|
||||||
|
@ -14,7 +14,7 @@ resource "proxmox_virtual_environment_vm" "AI" {
|
||||||
}
|
}
|
||||||
|
|
||||||
clone {
|
clone {
|
||||||
vm_id = 9999
|
vm_id = 8101
|
||||||
}
|
}
|
||||||
|
|
||||||
# VM CPU Settings
|
# VM CPU Settings
|
||||||
|
|
65
terraform/nexus.tf
Normal file
65
terraform/nexus.tf
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
resource "proxmox_virtual_environment_vm" "Nexus" {
|
||||||
|
|
||||||
|
# VM General Settings
|
||||||
|
node_name = "prox"
|
||||||
|
vm_id = 205
|
||||||
|
name = "Nexus"
|
||||||
|
description = "Docker Registry to limit DockerHub pulls"
|
||||||
|
tags = ["tofu", "ubuntu24", "auto-homelab-repo", "infrastructure"]
|
||||||
|
|
||||||
|
agent {
|
||||||
|
enabled = true # read 'Qemu guest agent' section, change to true only when ready
|
||||||
|
}
|
||||||
|
|
||||||
|
clone {
|
||||||
|
vm_id = 8002
|
||||||
|
}
|
||||||
|
|
||||||
|
# VM CPU Settings
|
||||||
|
cpu {
|
||||||
|
cores = 4
|
||||||
|
type = "host"
|
||||||
|
architecture = "x86_64"
|
||||||
|
}
|
||||||
|
|
||||||
|
# VM Memory Settings
|
||||||
|
memory {
|
||||||
|
dedicated = 4096
|
||||||
|
}
|
||||||
|
|
||||||
|
# VM Network Settings
|
||||||
|
network_device {
|
||||||
|
bridge = "vmbr0"
|
||||||
|
}
|
||||||
|
|
||||||
|
# VM Disk Settings
|
||||||
|
disk {
|
||||||
|
datastore_id = "Fast2Tb"
|
||||||
|
size = 120
|
||||||
|
interface = "scsi0"
|
||||||
|
}
|
||||||
|
|
||||||
|
vga {
|
||||||
|
type = "serial0"
|
||||||
|
}
|
||||||
|
|
||||||
|
initialization {
|
||||||
|
ip_config {
|
||||||
|
ipv4 {
|
||||||
|
address = "dhcp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
user_account {}
|
||||||
|
}
|
||||||
|
|
||||||
|
lifecycle {
|
||||||
|
ignore_changes = [
|
||||||
|
initialization[0].user_account[0].keys,
|
||||||
|
initialization[0].user_account[0].password,
|
||||||
|
initialization[0].user_account[0].username,
|
||||||
|
initialization[0].user_data_file_id
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,45 +0,0 @@
|
||||||
resource "proxmox_virtual_environment_vm" "PBS" {
|
|
||||||
# VM General Settings
|
|
||||||
node_name = "prox"
|
|
||||||
vm_id = 10000
|
|
||||||
name = "PBS"
|
|
||||||
description = "Proxmox Backup Server"
|
|
||||||
tags = ["tofu", "iac-repo"]
|
|
||||||
started = true
|
|
||||||
|
|
||||||
agent {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
|
|
||||||
# VM CPU Settings
|
|
||||||
cpu {
|
|
||||||
cores = 2
|
|
||||||
type = "host"
|
|
||||||
architecture = "x86_64"
|
|
||||||
}
|
|
||||||
|
|
||||||
# VM Memory Settings
|
|
||||||
memory {
|
|
||||||
dedicated = 2048
|
|
||||||
}
|
|
||||||
|
|
||||||
# VM Network Settings
|
|
||||||
network_device {
|
|
||||||
bridge = "vmbr0"
|
|
||||||
}
|
|
||||||
|
|
||||||
# VM Disk Settings
|
|
||||||
disk {
|
|
||||||
datastore_id = "Fast2Tb"
|
|
||||||
interface = "scsi0"
|
|
||||||
size = 32
|
|
||||||
file_format = "raw"
|
|
||||||
}
|
|
||||||
|
|
||||||
disk {
|
|
||||||
datastore_id = "Slow4tb"
|
|
||||||
interface = "scsi1"
|
|
||||||
size = 2048
|
|
||||||
file_format = "raw"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -8,7 +8,7 @@ resource "proxmox_virtual_environment_vm" "Ubuntu-22-Template" {
|
||||||
|
|
||||||
disk {
|
disk {
|
||||||
datastore_id = "Fast2Tb"
|
datastore_id = "Fast2Tb"
|
||||||
file_id = "local:iso/jammy-server-cloudimg-amd64.img"
|
file_id = proxmox_virtual_environment_download_file.ubuntu_cloud_image_22.id
|
||||||
interface = "scsi0"
|
interface = "scsi0"
|
||||||
size = 4
|
size = 4
|
||||||
}
|
}
|
||||||
|
@ -38,3 +38,11 @@ vga {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
resource "proxmox_virtual_environment_download_file" "ubuntu_cloud_image_22" {
|
||||||
|
content_type = "iso"
|
||||||
|
datastore_id = "local"
|
||||||
|
node_name = "prox"
|
||||||
|
url = "https://cloud-images.ubuntu.com/jammy/20240720/jammy-server-cloudimg-amd64.img"
|
||||||
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ resource "proxmox_virtual_environment_vm" "Windows11" {
|
||||||
node_name = "pve2"
|
node_name = "pve2"
|
||||||
vm_id = 250
|
vm_id = 250
|
||||||
tags = ["tofu"]
|
tags = ["tofu"]
|
||||||
started = false
|
started = true
|
||||||
bios = "ovmf"
|
bios = "ovmf"
|
||||||
machine = "q35"
|
machine = "q35"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue