From 4c58bc45d01f442f2a8c99258e868821873485aa Mon Sep 17 00:00:00 2001 From: gibbyb Date: Sun, 21 Jul 2024 22:04:13 -0500 Subject: [PATCH] Fix a bunch of stuff. Add docker compose files to make server config repo obsolete --- GPU/install.sh | 19 -- .../compose_files/caddy/docker-compose.yml | 26 ++ .../compose_files/custom_php/Dockerfile | 2 + .../custom_php/docker-compose.yml | 20 ++ .../excalidraw/docker-compose.yml | 20 ++ .../compose_files/gitea/docker-compose.yml | 58 ++++ .../homeassistant/docker-compose.yml | 22 ++ .../compose_files/it_tools/docker-compose.yml | 20 ++ .../mediaserver/docker-compose.yml | 273 ++++++++++++++++++ .../minecraft/docker-compose.yml | 22 ++ .../compose_files/mysql/docker-compose.yml | 42 +++ .../nextcloud_aio/docker-compose.yml | 39 +++ configs/docker/compose_files/node/Dockerfile | 2 + .../node/image_hoster_node/docker-compose.yml | 22 ++ .../node/techtracker/docker-compose.yml | 22 ++ .../compose_files/node_indexjs/Dockerfile | 2 + .../docker/compose_files/node_t3/Dockerfile | 4 + .../openwebui/docker-compose.yml | 28 ++ .../compose_files/pihole/docker-compose.yml | 30 ++ .../portainer/docker-compose.yml | 23 ++ .../satisfactory/docker-compose.yml | 27 ++ .../compose_files/searxng/docker-compose.yml | 34 +++ .../vaultwarden/docker-compose.yml | 30 ++ .../whisperasr/docker-compose.yml | 27 ++ .../wireguard/docker-compose.yml | 36 +++ .../dotfiles/nvim/lua/gib_nvim/toggleterm.lua | 29 -- defaults/bash/rc | 2 +- install/optional/app_LACT.sh | 3 + packages/hanabi | 2 +- sources/env.sh | 1 + sources/install/nvidia_driver.sh | 10 + sources/install/tools | 24 ++ sources/tools.sh | 2 +- 33 files changed, 872 insertions(+), 51 deletions(-) delete mode 100644 GPU/install.sh create mode 100644 configs/docker/compose_files/caddy/docker-compose.yml create mode 100644 configs/docker/compose_files/custom_php/Dockerfile create mode 100644 configs/docker/compose_files/custom_php/docker-compose.yml create mode 100644 configs/docker/compose_files/excalidraw/docker-compose.yml create mode 100644 configs/docker/compose_files/gitea/docker-compose.yml create mode 100644 configs/docker/compose_files/homeassistant/docker-compose.yml create mode 100644 configs/docker/compose_files/it_tools/docker-compose.yml create mode 100644 configs/docker/compose_files/mediaserver/docker-compose.yml create mode 100644 configs/docker/compose_files/minecraft/docker-compose.yml create mode 100644 configs/docker/compose_files/mysql/docker-compose.yml create mode 100644 configs/docker/compose_files/nextcloud_aio/docker-compose.yml create mode 100644 configs/docker/compose_files/node/Dockerfile create mode 100644 configs/docker/compose_files/node/image_hoster_node/docker-compose.yml create mode 100644 configs/docker/compose_files/node/techtracker/docker-compose.yml create mode 100644 configs/docker/compose_files/node_indexjs/Dockerfile create mode 100644 configs/docker/compose_files/node_t3/Dockerfile create mode 100644 configs/docker/compose_files/openwebui/docker-compose.yml create mode 100644 configs/docker/compose_files/pihole/docker-compose.yml create mode 100644 configs/docker/compose_files/portainer/docker-compose.yml create mode 100644 configs/docker/compose_files/satisfactory/docker-compose.yml create mode 100644 configs/docker/compose_files/searxng/docker-compose.yml create mode 100644 configs/docker/compose_files/vaultwarden/docker-compose.yml create mode 100644 configs/docker/compose_files/whisperasr/docker-compose.yml create mode 100644 configs/docker/compose_files/wireguard/docker-compose.yml delete mode 100644 configs/dotfiles/nvim/lua/gib_nvim/toggleterm.lua create mode 100644 install/optional/app_LACT.sh create mode 100644 sources/install/nvidia_driver.sh diff --git a/GPU/install.sh b/GPU/install.sh deleted file mode 100644 index 831a2b7..0000000 --- a/GPU/install.sh +++ /dev/null @@ -1,19 +0,0 @@ -# Install Utility for AMD GPUs if needed -read -p "Would you like to install LACT, an AMD GPU Utility? (y/N) " amd_gpu -if [ "$amd_gpu" == "y" ]; then - sudo dnf install -y $LACT_LINK - sudo systemctl enable --now lactd -fi -read -p "Would you like to install the proprietary NVIDIA Drivers? (y/N) " nvidia_gpu -if [ "$nvidia_gpu" == "y" ]; then - sudo dnf install -y akmod-nvidia xorg-x11-drv-nvidia-cuda - echo -e "\nRemove the duplicate lines below from grub:" - echo -e "\t\"rd.driver.blacklist=nouveau," - echo -e "\tmodprobe.blacklist=nouveau," - echo -e "\tnvidia-drm.modeset=1\"\n" - echo -e "\n Save the file & close nvim to continue.\n" - kitty -1 -e bash -c "sudo nvim /etc/default/grub" - sudo grub2-mkconfig -o /etc/grub2-efi.cfg - sudo systemctl enable nvidia-hibernate.service nvidia-suspend.service \ - nvidia-resume.service nvidia-powerd.service -fi diff --git a/configs/docker/compose_files/caddy/docker-compose.yml b/configs/docker/compose_files/caddy/docker-compose.yml new file mode 100644 index 0000000..c32943f --- /dev/null +++ b/configs/docker/compose_files/caddy/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.7" +services: + caddy: + image: caddy:latest + container_name: caddy + hostname: caddy + domainname: caddy.gib + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.4 + ports: + - "80:80" + - "443:443" + - "443:443/udp" + env_file: + - ../user_variables.env + volumes: + - ${VOLUME_DIR}/Caddy/Caddyfile:/etc/caddy/Caddyfile + - ${VOLUME_DIR}/Web:/srv + - ${VOLUME_DIR}/Caddy/Data:/data + - ${VOLUME_DIR}/Caddy/Config:/config + tty: true + restart: unless-stopped +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/custom_php/Dockerfile b/configs/docker/compose_files/custom_php/Dockerfile new file mode 100644 index 0000000..e0e3eea --- /dev/null +++ b/configs/docker/compose_files/custom_php/Dockerfile @@ -0,0 +1,2 @@ +FROM php:7.4-fpm +RUN docker-php-ext-install pdo pdo_mysql mysqli diff --git a/configs/docker/compose_files/custom_php/docker-compose.yml b/configs/docker/compose_files/custom_php/docker-compose.yml new file mode 100644 index 0000000..5dc567b --- /dev/null +++ b/configs/docker/compose_files/custom_php/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3' +services: + php: + image: php:7.4-fpm + container_name: php_mysql + hostname: php_mysql.gib + domainname: php_mysql.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.26 + env_file: + - ../user_variables.env + volumes: + - ${DAS_DIR}/Web:/var/www/html + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/excalidraw/docker-compose.yml b/configs/docker/compose_files/excalidraw/docker-compose.yml new file mode 100644 index 0000000..f8529f4 --- /dev/null +++ b/configs/docker/compose_files/excalidraw/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3' +services: + excalidraw: + image: excalidraw/excalidraw:latest + container_name: excalidraw + hostname: excalidraw.gib + domainname: draw.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.30 + ports: + - 80:80 + env_file: + - ../user_variables.env + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/gitea/docker-compose.yml b/configs/docker/compose_files/gitea/docker-compose.yml new file mode 100644 index 0000000..03349b9 --- /dev/null +++ b/configs/docker/compose_files/gitea/docker-compose.yml @@ -0,0 +1,58 @@ +version: "2" +services: + gitea: + image: gitea/gitea:latest + container_name: gitea + hostname: gitea.gib + domainname: git.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.10 + ports: + - "2222:2222" + - "3000:3000" + env_file: + - ../user_variables.env + environment: + - USER_UID=${PUID} + - USER_GID=${PGID} + - GITEA__database__DB_TYPE=${GITEA_DB_TYPE} + - GITEA__database__HOST=${GITEA_DB_HOST} + - GITEA__database__NAME=${GITEA_DB_NAME} + - GITEA__database__USER=${GITEA_DB_USER} + - GITEA__database__PASSWD=${GITEA_DB_PW} + links: + - postgres + depends_on: + - postgres + volumes: + - ${VOLUME_DIR}/Gitea/Data:/data + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + tty: true + restart: unless-stopped + + postgres: + image: postgres:latest + container_name: postgres + hostname: postgres.gib + domainname: pg.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.24 + ports: + - "5432:5432" + env_file: + - ../user_variables.env + environment: + - POSTGRES_USER=${GITEA_DB_USER} + - POSTGRES_PASSWORD=${GITEA_DB_PW} + - POSTGRES_DB=${GITEA_DB_NAME} + volumes: + - ${VOLUME_DIR}/Postgres/Data:/var/lib/postgresql/data + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/homeassistant/docker-compose.yml b/configs/docker/compose_files/homeassistant/docker-compose.yml new file mode 100644 index 0000000..708da06 --- /dev/null +++ b/configs/docker/compose_files/homeassistant/docker-compose.yml @@ -0,0 +1,22 @@ +version: "3" +services: + homeassistant: + image: homeassistant/home-assistant:latest + container_name: homeassistant + hostname: homeassistant + domainname: home.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.7 + ports: + - "8123:8123" + env_file: + - ../user_variables.env + volumes: + - ${VOLUME_DIR}/HomeAssistant/Config:/config + - /etc/localtime:/etc/localtime:ro + tty: true + restart: unless-stopped +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/it_tools/docker-compose.yml b/configs/docker/compose_files/it_tools/docker-compose.yml new file mode 100644 index 0000000..bfa50b0 --- /dev/null +++ b/configs/docker/compose_files/it_tools/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3' +services: + it_tools: + image: corentinth/it-tools:latest + container_name: it_tools + hostname: it_tools.gib + domainname: tools.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.31 + ports: + - 80:80 + env_file: + - ../user_variables.env + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/mediaserver/docker-compose.yml b/configs/docker/compose_files/mediaserver/docker-compose.yml new file mode 100644 index 0000000..9ed1e5d --- /dev/null +++ b/configs/docker/compose_files/mediaserver/docker-compose.yml @@ -0,0 +1,273 @@ +version: '3.8' +services: + plex: + image: plexinc/pms-docker:latest + container_name: plex + hostname: plex.gib + domainname: plex.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.13 + ports: + - 32400:32400/tcp + - 3005:3005/tcp + - 8324:8324/tcp + - 32469:32469/tcp + - 1900:1900/udp + - 32410:32410/udp + - 32412:32412/udp + - 32413:32413/udp + - 32414:32414/udp + env_file: + - ../user_variables.env + environment: + - TZ=${TZ} + - PLEX_CLAIM=${PLEX_CLAIM} + - PLEX_UID=${PUID} + - PLEX_GID=${PGID} + - ADVERTISE_IP=${IP_PREFIX}.13 + - NVIDIA_VISIBLE_DEVICES=all + - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility + volumes: + - ${VOLUME_DIR}/Plex/Config:/config + - ${VOLUME_DIR}/Plex/Transcode:/transcode + #- /run:/run # You might need this with Fedora + - ${DAS_DIR}/Media/Movies:/data/movies + - ${DAS_DIR}/Media/TVShows:/data/tv + - ${DAS_DIR}/Media/Music:/data/music + devices: + - /dev/dri:/dev/dri + tty: true + restart: unless-stopped + runtime: nvidia + + audiobookshelf: + image: ghcr.io/advplyr/audiobookshelf:latest + container_name: audiobookshelf + hostname: audiobookshelf.gib + domainname: audiobookshelf.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.14 + ports: + - 80:80 + env_file: + - ../user_variables.env + environment: + - TZ=${TZ} + volumes: + - ${VOLUME_DIR}/Audiobookshelf/Config:/config + - ${VOLUME_DIR}/Audiobookshelf/Metadata:/metadata + - ${DAS_DIR}/Media/Audiobooks:/audiobooks + - ${DAS_DIR}/Media/Podcasts:/podcasts + tty: true + restart: unless-stopped + + sabnzbd: + image: binhex/arch-sabnzbdvpn:latest + container_name: sabnzbd + hostname: sabnzbd.gib + domainname: sabnzbd.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.15 + ports: + - 8080:8080 + - 8090:8090 + - 8118:8118 + env_file: + - ../user_variables.env + environment: + - VPN_ENABLED=yes + - VPN_USER=${VPN_USER} + - VPN_PASS=${VPN_PASS} + - VPN_PROV=${VPN_PROV} + - VPN_CLIENT=${VPN_CLIENT} + - STRICT_PORT_FORWARD=yes + - LAN_NETWORK=${SUBNET} + - PUID=${PUID} + - PGID=${PGID} + cap_add: + - NET_ADMIN + volumes: + - ${VOLUME_DIR}/Sabnzbd/Config:/config + - /etc/localtime:/etc/localtime:ro + tty: true + restart: unless-stopped + + qbittorrentvpn: + image: binhex/arch-qbittorrentvpn:latest + container_name: qbittorrentvpn + hostname: qbittorrentvpn.gib + domainname: qbittorrent.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.16 + ports: + - 6881:6881 + - 6881:6881/udp + - ${QB_WEBUI_PORT}:${QB_WEBUI_PORT} + - 8118:8118 + env_file: + - ../user_variables.env + environment: + - VPN_ENABLED=yes + - VPN_USER=${VPN_USER} + - VPN_PASS=${VPN_PASS} + - VPN_PROV=${VPN_PROV} + - VPN_CLIENT=${VPN_CLIENT} + - STRICT_PORT_FORWARD=yes + - WEBUI_PORT=${QB_WEBUI_PORT} + - PUID=${PUID} + - PGID=${PGID} + - LAN_NETWORK=${SUBNET} + - ENABLE_PRIVOXY=yes + - ENABLE_STARTUP_SCRIPTS=no + cap_add: + - NET_ADMIN + volumes: + - ${VOLUME_DIR}/Qbittorrent/Config:/config + - /etc/localtime:/etc/localtime:ro + tty: true + restart: unless-stopped + + overseer: + image: lscr.io/linuxserver/overseerr:latest + container_name: overseer + hostname: overseer.gib + domainname: overseer.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.17 + ports: + 5055:5055 + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - ${VOLUME_DIR}/Overseerr/Config:/config + tty: true + restart: unless-stopped + + prowlarr: + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr + hostname: prowlarr.gib + domainname: prowlarr.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.18 + ports: + 9696:9696 + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - ${VOLUME_DIR}/Prowlarr/Config:/config + tty: true + restart: unless-stopped + + lidarr: + image: ghcr.io/linuxserver/lidarr:latest + container_name: lidarr + hostname: lidarr.gib + domainname: lidarr.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.19 + ports: + - 8686:8686 + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - ${VOLUME_DIR}/Lidarr/Config:/config + - ${DAS_DIR}/Media/Music:/music + - ${VOLUME_DIR}/Sabnzbd/Config/Downloads:/downloads + - ${VOLUME_DIR}/Qbittorrent/Config/qBittorrent/downloads:/qb_downloads + tty: true + restart: unless-stopped + + radarr: + image: ghcr.io/linuxserver/radarr:latest + container_name: radarr + hostname: radarr.gib + domainname: radarr.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.20 + ports: + - 7878:7878 + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - ${VOLUME_DIR}/Radarr/Config:/config + - ${DAS_DIR}/Media/Movies:/movies + - ${VOLUME_DIR}/Sabnzbd/Config/Downloads:/downloads + - ${VOLUME_DIR}/Qbittorrent/Config/qBittorrent/downloads:/qb_downloads + tty: true + restart: unless-stopped + + sonarr: + image: ghcr.io/linuxserver/sonarr:latest + container_name: sonarr + hostname: sonarr.gib + domainname: sonarr.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.21 + ports: + - 8989:8989 + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - ${VOLUME_DIR}/Sonarr/Config:/config + - ${DAS_DIR}/Media/TVShows:/tv + - ${VOLUME_DIR}/Sabnzbd/Config/Downloads:/downloads + - ${VOLUME_DIR}/Qbittorrent/Config/qBittorrent/downloads:/qb_downloads + tty: true + restart: unless-stopped + + bazarr: + image: lscr.io/linuxserver/bazarr:latest + container_name: bazarr + hostname: bazarr.gib + domainname: bazarr.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.22 + ports: + - 6767:6767 + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - ${VOLUME_DIR}/Bazarr/Config:/config + - ${DAS_DIR}/Media/Movies:/movies + - ${DAS_DIR}/Media/TVShows:/tv + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/minecraft/docker-compose.yml b/configs/docker/compose_files/minecraft/docker-compose.yml new file mode 100644 index 0000000..0045b79 --- /dev/null +++ b/configs/docker/compose_files/minecraft/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' +services: + minecraft_server: + image: itzg/minecraft-server:latest + container_name: minecraft_server + hostname: minecraft_server.gib + domainname: mc.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.33 + ports: + - 25565:25565 + env_file: + - ../user_variables.env + volumes: + - ${VOLUME_DIR}/Minecraft_Server/Data:/data + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/mysql/docker-compose.yml b/configs/docker/compose_files/mysql/docker-compose.yml new file mode 100644 index 0000000..70bd192 --- /dev/null +++ b/configs/docker/compose_files/mysql/docker-compose.yml @@ -0,0 +1,42 @@ +version: '3' +services: + mysql: + image: mysql:latest + container_name: mysql + hostname: mysql.gib + domainname: mysql.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.25 + ports: + - 3306:2206 + env_file: + - ../user_variables.env + environment: + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${MYSQL_DATABASE} + volumes: + - ${VOLUME_DIR}/MySQL/Data:/var/lib/mysql + tty: true + restart: unless-stopped + + adminer: + image: adminer:latest + container_name: adminer + hostname: adminer.gib + domainname: adminer.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.26 + ports: + - 8080:8080 + env_file: + - ../user_variables.env + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/nextcloud_aio/docker-compose.yml b/configs/docker/compose_files/nextcloud_aio/docker-compose.yml new file mode 100644 index 0000000..688d735 --- /dev/null +++ b/configs/docker/compose_files/nextcloud_aio/docker-compose.yml @@ -0,0 +1,39 @@ +services: + nextcloud-aio-mastercontainer: + image: nextcloud/all-in-one:latest + init: true + restart: unless-stopped + tty: true + container_name: nextcloud-aio-mastercontainer + hostname: nextcloud-aio-mastercontainer + domainname: ncmaster.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.9 + volumes: + - ${VOLUME_DIR}/NC_AIO/Master_Container:/mnt/docker-aio-config + - /var/run/docker.sock:/var/run/docker.sock:ro + ports: + - 8080:8080 + env_file: + - ../user_variables.env + environment: + - APACHE_PORT=11000 + - SKIP_DOMAIN_VALIDATION=true + - BORG_RETENTION_POLICY=--keep-within=7d --keep-weekly=4 --keep-monthly=2 + - NEXTCLOUD_UPLOAD_LIMIT=${NC_UPLOAD_LIMIT} + - NEXTCLOUD_MAX_TIME=${NC_MAX_TIME} + - NEXTCLOUD_MEMORY_LIMIT=${NC_MEMORY_LIMIT} + # - COLLABORA_SECCOMP_DISABLED=true + - NEXTCLOUD_STARTUP_APPS=deck twofactor_totp tasks calendar contacts notes + - NEXTCLOUD_ENABLE_DRI_DEVICE=true + - NEXTCLOUD_ADDITIONAL_APKS=imagemagick + - NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick + - TALK_PORT=3478 + # - NEXTCLOUD_MOUNT=/mnt/ + - NEXTCLOUD_DATADIR=${NC_DATADIR} + # - APACHE_IP_BINDING=127.0.0.1 + security_opt: ["label:disable"] # Need this line when using SELinux +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/node/Dockerfile b/configs/docker/compose_files/node/Dockerfile new file mode 100644 index 0000000..9384108 --- /dev/null +++ b/configs/docker/compose_files/node/Dockerfile @@ -0,0 +1,2 @@ +FROM node:latest +CMD ["node", "index.js"] diff --git a/configs/docker/compose_files/node/image_hoster_node/docker-compose.yml b/configs/docker/compose_files/node/image_hoster_node/docker-compose.yml new file mode 100644 index 0000000..7abdb61 --- /dev/null +++ b/configs/docker/compose_files/node/image_hoster_node/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' +services: + image_hoster: + image: node_indexjs:latest + container_name: image_hoster + hostname: image_hoster.gib + domainname: img.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.28 + ports: + - 3000:3000 + env_file: + - ../../user_variables.env + volumes: + - ${DAS_DIR}/Web/image_hoster:/home/node/app + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/node/techtracker/docker-compose.yml b/configs/docker/compose_files/node/techtracker/docker-compose.yml new file mode 100644 index 0000000..4ba9e2a --- /dev/null +++ b/configs/docker/compose_files/node/techtracker/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' +services: + techtracker: + image: node_indexjs:latest + container_name: techtracker + hostname: techtracker.gib + domainname: techtracker.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.27 + ports: + - 3000:3000 + env_file: + - ../../user_variables.env + volumes: + - ${DAS_DIR}/Web/techtracker:/home/node/app + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/node_indexjs/Dockerfile b/configs/docker/compose_files/node_indexjs/Dockerfile new file mode 100644 index 0000000..9384108 --- /dev/null +++ b/configs/docker/compose_files/node_indexjs/Dockerfile @@ -0,0 +1,2 @@ +FROM node:latest +CMD ["node", "index.js"] diff --git a/configs/docker/compose_files/node_t3/Dockerfile b/configs/docker/compose_files/node_t3/Dockerfile new file mode 100644 index 0000000..5455e3c --- /dev/null +++ b/configs/docker/compose_files/node_t3/Dockerfile @@ -0,0 +1,4 @@ +FROM node:latest +WORKDIR /home/node/app +RUN npm install -g pnpm +CMD ["pnpm", "go"] diff --git a/configs/docker/compose_files/openwebui/docker-compose.yml b/configs/docker/compose_files/openwebui/docker-compose.yml new file mode 100644 index 0000000..15954bc --- /dev/null +++ b/configs/docker/compose_files/openwebui/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.7' +services: + openwebui: + image: ghcr.io/open-webui/open-webui:main + container_name: openwebui + hostname: openwebui.gib + domainname: ai.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.12 + ports: + - ${OPENWEBUI_PORT}:${OPENWEBUI_PORT} + env_file: + - ../user_variables.env + environment: + - OLLAMA_BASE_URL=${OLLAMA_BASE_URL} + - PORT=${OPENWEBUI_PORT} + - OPENAI_API_KEY=${OPENAI_API_KEY} + - AUTOMATIC1111_BASE_URL=${AUTOMATIC1111_BASE_URL} + - USE_OLLAMA_DOCKER=${USE_OLLAMA_DOCKER} + - USE_CUDA_DOCKER=${USE_CUDA_DOCKER} + volumes: + - ${VOLUME_DIR}/OpenWebUI/Data:/app/backend/data + tty: true + restart: unless-stopped +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/pihole/docker-compose.yml b/configs/docker/compose_files/pihole/docker-compose.yml new file mode 100644 index 0000000..86c38ff --- /dev/null +++ b/configs/docker/compose_files/pihole/docker-compose.yml @@ -0,0 +1,30 @@ +version: "3" +services: + pihole: + image: pihole/pihole:latest + container_name: pihole + hostname: pihole + domainname: pihole.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.3 + ports: + - "53:53/tcp" + - "53:53/udp" + - "67:67/udp" + - "80:80/tcp" + env_file: + - ../user_variables.env + environment: + TZ: ${TZ} + WEBPASSWORD: ${PIHOLE_PW} + cap_add: + - NET_ADMIN + volumes: + - ${VOLUME_DIR}/Pihole/Etc:/etc/pihole + - ${VOLUME_DIR}/Pihole/DNSMasq:/etc/dnsmasq.d + tty: true + restart: unless-stopped +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/portainer/docker-compose.yml b/configs/docker/compose_files/portainer/docker-compose.yml new file mode 100644 index 0000000..1c55a17 --- /dev/null +++ b/configs/docker/compose_files/portainer/docker-compose.yml @@ -0,0 +1,23 @@ +version: "3" +services: + portainer: + image: portainer/portainer-ee:latest + container_name: portainer + labels: + - "com.centurylinklabs.watchtower.enable=true" + hostname: port.gib + domainname: port.gibbyb.com + networks: + Gib_Home: + ipv4_address: 192.168.0.6 + ports: + - 8000:8000 + - 9443:9443 + volumes: + - /home/gib/Documents/Media_Server/config/portainer/data:/data + - /var/run/docker.sock:/var/run/docker.sock + tty: true + restart: unless-stopped +networks: + Gib_Home: + external: true diff --git a/configs/docker/compose_files/satisfactory/docker-compose.yml b/configs/docker/compose_files/satisfactory/docker-compose.yml new file mode 100644 index 0000000..f20545e --- /dev/null +++ b/configs/docker/compose_files/satisfactory/docker-compose.yml @@ -0,0 +1,27 @@ +version: '3' +services: + satisfactory_server: + image: wolveix/satisfactory-server:latest + container_name: satisfactory_server + hostname: satisfactory_server.gib + domainname: satisfactory.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.34 + ports: + - 7777:7777/udp + - 15000:15000/udp + - 15777:15777/udp + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + volumes: + - ${VOLUME_DIR}/Satisfactory_Server/Data:/config + tty: true + restart: unless-stopped + +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/searxng/docker-compose.yml b/configs/docker/compose_files/searxng/docker-compose.yml new file mode 100644 index 0000000..8dff305 --- /dev/null +++ b/configs/docker/compose_files/searxng/docker-compose.yml @@ -0,0 +1,34 @@ +services: + searxng: + image: searxng/searxng:latest + container_name: searxng + hostname: searxng.gib + domainname: search.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.11 + ports: + - "8080:8080" + env_file: + - ../user_variables.env + environment: + - SEARXNG_BASE_URL=https://search.${DOMAIN} + - AUTOCOMPLETE=google + cap_drop: + - ALL + cap_add: + - CHOWN + - SETGID + - SETUID + volumes: + - ${VOLUME_DIR}/Searxng/Data:/etc/searxng + tty: true + restart: unless-stopped + logging: + driver: "json-file" + options: + max-size: "1m" + max-file: "1" +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/vaultwarden/docker-compose.yml b/configs/docker/compose_files/vaultwarden/docker-compose.yml new file mode 100644 index 0000000..c4809ec --- /dev/null +++ b/configs/docker/compose_files/vaultwarden/docker-compose.yml @@ -0,0 +1,30 @@ +version: "3" +services: + vaultwarden: + image: vaultwarden/server:latest + container_name: vaultwarden + hostname: vaultwarden + domainname: vault.${DOMAIN} + networks: + ${NETWORK_NAME}: + ipv4_address: ${IP_PREFIX}.8 + ports: + - "80:80" + - "3012:3012" + env_file: + - ../user_variables.env + environment: + - DOMAIN=https://vault.${DOMAIN} + - LOGIN_RATELIMIT_MAX_BURST=10 + - LOGIN_RATELIMIT_SECONDS=60 + - WEB_VAULT_ENABLED=false + - SIGNUPS_ALLOWED=false + - WEBSOCKET_ENABLED=true + volumes: + - ${VOLUME_DIR}/Vaultwarden/data:/data + - /etc/localtime:/etc/localtime:ro + tty: true + restart: unless-stopped +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/docker/compose_files/whisperasr/docker-compose.yml b/configs/docker/compose_files/whisperasr/docker-compose.yml new file mode 100644 index 0000000..9590c1f --- /dev/null +++ b/configs/docker/compose_files/whisperasr/docker-compose.yml @@ -0,0 +1,27 @@ +version: "2.1" +services: + whisperasr: + image: onerahmet/openai-whisper-asr-webservice:latest-gpu + container_name: whisperasr + hostname: whisperasr.gib + domainname: whisperasr.gibbyb.com + networks: + Gib_Home: + ipv4_address: 192.168.0.36 + ports: + - 9000:9000 + environment: + - ASR_MODEL=small + - ASR_ENGINE=faster_whisper + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] + tty: true + restart: unless-stopped +networks: + Gib_Home: + external: true diff --git a/configs/docker/compose_files/wireguard/docker-compose.yml b/configs/docker/compose_files/wireguard/docker-compose.yml new file mode 100644 index 0000000..888b162 --- /dev/null +++ b/configs/docker/compose_files/wireguard/docker-compose.yml @@ -0,0 +1,36 @@ +version: "2.1" +services: + wireguard: + image: lscr.io/linuxserver/wireguard:latest + container_name: wireguard + hostname: wireguard + domainname: wg.${DOMAIN} + networks: + ${NETWORK_NAME} : + ipv4_address: ${IP_PREFIX}.5 + ports: + - 51820:51820/udp + env_file: + - ../user_variables.env + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + - SERVERPORT=51820 + - PEERS=${WG_PEERS} + - PEERDNS=${IP_PREFIX}.3 + - INTERNAL_SUBNET=${IP_PREPREFIX}.1.0 + - SERVERURL=wg.${DOMAIN} + cap_add: + - NET_ADMIN + - SYS_MODULE + sysctls: + - net.ipv4.conf.all.src_valid_mark=1 + volumes: + - ${VOLUME_DIR}/Wireguard/Config:/config + - ${VOLUME_DIR}/Wireguard/Modules:/lib/modules + tty: true + restart: always +networks: + ${NETWORK_NAME}: + external: true diff --git a/configs/dotfiles/nvim/lua/gib_nvim/toggleterm.lua b/configs/dotfiles/nvim/lua/gib_nvim/toggleterm.lua deleted file mode 100644 index 9e41acb..0000000 --- a/configs/dotfiles/nvim/lua/gib_nvim/toggleterm.lua +++ /dev/null @@ -1,29 +0,0 @@ -require("toggleterm").setup{ - size = 10, - open_mapping = [[]], - shade_filetypes = {}, - shade_terminals = true, - shading_factor = 1, -- the degree by which to darken to terminal colour, default: 1 for dark backgrounds, 3 for light - start_in_insert = true, - insert_mappings = true, - persist_size = true, - direction = 'horizontal', - close_on_exit = true, -- close the terminal window when the process exits - shell = vim.o.shell, -- change the default shell - -- this field is only relevant if direction is set to 'float' - float_opts = { - -- the border key is *almost* the same as 'nvim_win_open' - -- see :h nvim_win_open for details on borders however - -- the 'curved' border is a custom border type - -- not natively supported but implemented in this plugin. - border = 'single', - width = 200, - height = 50, - winblend = 3, - highlights = { - border = "normal", - background = "normal", - } - } -} - diff --git a/defaults/bash/rc b/defaults/bash/rc index cb1a1b4..420131a 100644 --- a/defaults/bash/rc +++ b/defaults/bash/rc @@ -1,3 +1,3 @@ source ~/.local/share/sunhat/defaults/bash/powerline -source ~/.local/share/sunhat/defaults/bash/aliases source ~/.local/share/sunhat/defaults/bash/shell +source ~/.local/share/sunhat/defaults/bash/aliases diff --git a/install/optional/app_LACT.sh b/install/optional/app_LACT.sh new file mode 100644 index 0000000..9719166 --- /dev/null +++ b/install/optional/app_LACT.sh @@ -0,0 +1,3 @@ +source ~/.local/share/sunhat/sources/env.sh +sudo dnf install -y $LACT_LINK +sudo systemctl enable --now lactd diff --git a/packages/hanabi b/packages/hanabi index 090aee1..8834eea 160000 --- a/packages/hanabi +++ b/packages/hanabi @@ -1 +1 @@ -Subproject commit 090aee17b101f9b787f7c7ccdc6ef0b025e44b98 +Subproject commit 8834eea1d9b70623d62697e6d241f276401ab51f diff --git a/sources/env.sh b/sources/env.sh index 94794b0..8f0dff1 100644 --- a/sources/env.sh +++ b/sources/env.sh @@ -1,3 +1,4 @@ +export TOOLS=$(cat ~/.local/share/sunhat/sources/install/tools | tr "\n" " " | sed 's/ //g') export GH_USERNAME="gibbyb" export GH_EMAIL="gib@gibbyb.com" export GH_EDITOR="nvim" diff --git a/sources/install/nvidia_driver.sh b/sources/install/nvidia_driver.sh new file mode 100644 index 0000000..4796a29 --- /dev/null +++ b/sources/install/nvidia_driver.sh @@ -0,0 +1,10 @@ +sudo dnf install -y akmod-nvidia xorg-x11-drv-nvidia-cuda +echo -e "\nRemove the duplicate lines below from grub:" +echo -e "\t\"rd.driver.blacklist=nouveau," +echo -e "\tmodprobe.blacklist=nouveau," +echo -e "\tnvidia-drm.modeset=1\"\n" +echo -e "\n Save the file & close nvim to continue.\n" +kitty -1 -e bash -c "sudo nvim /etc/default/grub" +sudo grub2-mkconfig -o /etc/grub2-efi.cfg +sudo systemctl enable nvidia-hibernate.service nvidia-suspend.service \ + nvidia-resume.service nvidia-powerd.service diff --git a/sources/install/tools b/sources/install/tools index a085d63..ac4c3e4 100644 --- a/sources/install/tools +++ b/sources/install/tools @@ -109,3 +109,27 @@ bison ImageMagick sqlite3 gperftools-libs +boost-devel +intel-mediasdk-devel +libappindicator-gtk3-devel +libcap-devel +libcurl-devel +libdrm-devel +libevdev-devel +libnotify-devel +libva-devel +libvdpau-devel +libX11-devel +libxcb-devel +libXcursor-devel +libXfixes-devel +libXi-devel +libXinerama-devel +libXrandr-devel +libXtst-devel +mesa-libGL-devel +miniupnpc-devel +numactl-devel +openssl-devel +opus-devel +pulseaudio-libs-devel diff --git a/sources/tools.sh b/sources/tools.sh index 8000936..902ca61 100644 --- a/sources/tools.sh +++ b/sources/tools.sh @@ -1,2 +1,2 @@ -tools=$(cat ~/.local/share/sunhat/sources/install/tools | tr "\n" " ") +source ~/.local/share/sunhat/sources/env.sh sudo dnf install -y $tools