Home Lab Applications and Services This book documents the services, configurations, and infrastructure deployed in my home lab. Built on Proxmox VE, this environment allows me to test, deploy, and manage enterprise-like systems, including identity platforms, monitoring tools, collaboration apps, and file services. Each section covers installation, configuration, and use case documentation to centralize my learning and provide technical transparency for future reference. Audiobookshelf Installation via Proxmox VE Helper Scripts Audiobookshelf is a self-hosted audiobook and podcast server with a web UI and apps. This guide shows how to deploy it in an  LXC container using the  Proxmox VE Helper-Scripts . 🧰 Step-by-Step Instructions To create a new Proxmox VE Audiobookshelf LXC, run the command below in the Proxmox VE Shell. bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/audiobookshelf.sh)" Location of config file: /usr/share/audiobookshelf/config This launches an interactive installation wizard for Audiobookshelf . Fill in the Prompts You'll be asked to confirm settings for: Prompt Recommendation / Example Container ID 905 (or any available ID) Hostname e.g. audiobookshelf Network Bridge vmbr0 (default for most setups) Static IP Address e.g. 172.30.0.x Gateway IP e.g. 172.30.0.x Storage Location e.g. local-lvm Enable Root SSH Access Optional (yes for remote CLI access) Media Folder Mount Point Mount your media library or keep the default Access Audiobookshelf Web UI http://:13378 Transfer File to the Audiobookshelf server: scp "File path" user@:/:3000 Paperless-ngx Installation on Debian 12 (Using Official Script) Paperless-ngx is a document management system for indexing, OCRing, and organizing scanned documents and PDFs. This guide walks you through setting it up on Debian 12 using the official installation script via Docker Compose. Paperless provides an interactive installation script to set up a Docker Compose installation. The script asks for a couple of configuration options and will then create the necessary configuration files, pull the Docker image, start Paperless-ngx, and create your superuser account.  🐳 1. Install Docker & Compose (Debian12) # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update # Install Docker $ Compose plugin sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #Enable and Start Docker sudo systemctl enable --now docker sudo service docker start 📦 2. Run the Official Paperless-ngx Installation Script Download and run the setup script: bash -c "$(curl --location --silent --show-error https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)" Follow the prompts. 🌐 4. Access the Interface Once complete, go to: http://:8000 📚 Reference 📄 Official GitHub Repository: https://github.com/paperless-ngx/paperless-ngx 📘 Docker Installation Guide: https://docs.docker.com/engine/install/debian/ 📖 Paperless-ngx Documentation: https://docs.paperless-ngx.com/ Snipe-IT Installation on Ubuntu 24.04 This guide explains how to install  Snipe-IT , a self-hosted IT asset management system, on Ubuntu 24.04 using Nginx , MariaDB , and PHP 8.3 . Ref. https://snipe-it.readme.io/docs/installation 📦 1. Update the System sudo apt update && sudo apt upgrade -y 🌐 2. Install Required Packages Install Nginx, PHP, MariaDB, and all required PHP extensions: sudo apt install nginx mariadb-server php-bcmath php-common php-ctype php-curl php-fileinfo php-fpm php-gd php-iconv php-intl php-mbstring php-mysql php-soap php-xml php-xsl php-zip git -y ⚙️ 3. Install Composer sudo apt install composer -y 🛢️ 4. Create the Snipe-IT Database sudo mysql Inside the MySQL shell: CREATE DATABASE snipeit; GRANT ALL ON snipeit.* TO 'snipeit'@'localhost' IDENTIFIED BY 'yourStrongPassword'; FLUSH PRIVILEGES; EXIT; 📁 5. Download Snipe-IT cd /var/www/html sudo git clone https://github.com/snipe/snipe-it cd snipe-it ⚙️ 6. Create and Configure  .env File sudo cp .env.example .env sudo nano .env Edit the following variables: APP_URL=http://your-server-ip DB_DATABASE=snipeit DB_USERNAME=snipeit DB_PASSWORD=yourStrongPassword 🔒 7. Set Permissions sudo chown -R www-data: /var/www/html/snipe-it sudo chmod -R 755 /var/www/html/snipe-it 🧱 8. Install Dependencies with Composer sudo composer update --no-plugins --no-scripts sudo composer install --no-dev --prefer-source --no-plugins --no-scripts 🔑 9. Generate App Key sudo php artisan key:generate Make sure you keep a copy of your APP_KEY in a safe place, for example, a secure password manager. This key is required to decrypt any encrypted fields in the database. 🧠 10. Check PHP FPM Version sudo systemctl list-units --type=service | grep php Ensure PHP 8.3 (or the current version) is installed and running. ▶️ 11. Enable PHP-FPM sudo systemctl start php8.3-fpm sudo systemctl enable php8.3-fpm 🌐 12. Create Nginx Configuration for Snipe-IT sudo nano /etc/nginx/conf.d/snipeit.conf Paste the following (adjust IP and PHP version if needed): server { listen 80; server_name 10.0.0.7; root /var/www/html/snipe-it/public; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include fastcgi.conf; include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 🔗 13. Enable the Site sudo ln -s /etc/nginx/conf.d/snipeit.conf /etc/nginx/sites-enabled/snipeit.conf ⚙️ 14. Update Nginx Config Edit main config: sudo nano /etc/nginx/nginx.conf Add the following line  inside the http block : server_names_hash_bucket_size 64; 🔄 15. Restart Nginx sudo systemctl restart nginx 🌐 16. Access Snipe-IT Web Interface Open your browser and go to: http://your-server-ip Complete the web-based setup to finish the installation.