<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Архивы Ubuntu - Boxvirt - Proxmox &amp; OPNsense Infrastructure Guides</title>
	<atom:link href="https://boxvirt.com/category/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>https://boxvirt.com/category/ubuntu/</link>
	<description>Practical self-hosted infrastructure guides for Proxmox, OPNsense, and Docker.</description>
	<lastBuildDate>Sun, 27 Jul 2025 08:56:08 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://boxvirt.com/wp-content/uploads/2025/07/cropped-ChatGPT-Image-12-июл.-2025-г.-19_41_55-32x32.png</url>
	<title>Архивы Ubuntu - Boxvirt - Proxmox &amp; OPNsense Infrastructure Guides</title>
	<link>https://boxvirt.com/category/ubuntu/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Install and Use Cloud-Init with Proxmox VE: A Modern Infrastructure Approach</title>
		<link>https://boxvirt.com/how-to-install-and-use-cloud-init-with-proxmox-ve-a-modern-infrastructure-approach/</link>
					<comments>https://boxvirt.com/how-to-install-and-use-cloud-init-with-proxmox-ve-a-modern-infrastructure-approach/#respond</comments>
		
		<dc:creator><![CDATA[eXtre]]></dc:creator>
		<pubDate>Sun, 27 Jul 2025 08:56:06 +0000</pubDate>
				<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Cloud-Init]]></category>
		<category><![CDATA[Install]]></category>
		<guid isPermaLink="false">https://boxvirt.com/?p=89</guid>

					<description><![CDATA[<p>Introduction Modern IT infrastructure thrives on automation, scalability, and repeatable configurations. Whether deploying at scale on-premises or in the cloud, administrators seek tools that streamline VM provisioning and [&#8230;]</p>
<p>Сообщение <a href="https://boxvirt.com/how-to-install-and-use-cloud-init-with-proxmox-ve-a-modern-infrastructure-approach/">How to Install and Use Cloud-Init with Proxmox VE: A Modern Infrastructure Approach</a> появились сначала на <a href="https://boxvirt.com">Boxvirt - Proxmox &amp; OPNsense Infrastructure Guides</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="introduction">Introduction</h2>



<p>Modern IT infrastructure thrives on automation, scalability, and repeatable configurations. Whether deploying at scale on-premises or in the cloud, administrators seek tools that streamline VM provisioning and post-deployment setup. This is where&nbsp;<strong>Cloud-Init</strong>&nbsp;steps in—a de-facto standard for early Linux VM configuration.</p>



<p>While Cloud-Init is popular in public cloud environments (like AWS EC2, Azure, Google Cloud), it integrates just as powerfully within private clouds and hypervisors—<strong>including Proxmox VE</strong>, a leading open-source virtualization platform. This article provides a deeply practical guide to integrating Cloud-Init into your Proxmox deployment, ensuring seamless initial configuration and lifecycle management for your virtual machines.</p>



<h2 class="wp-block-heading" id="what-is-cloud-init">What is Cloud-Init?</h2>



<p>Cloud-Init is an open-source tool that automates the initial configuration of Linux-based VMs. By processing metadata and user data supplied at launch, it can:</p>



<ul class="wp-block-list">
<li>Set up users and passwords</li>



<li>Configure SSH keys and networking</li>



<li>Install packages and run custom scripts on first boot</li>
</ul>



<p>This drastically reduces manual labor and ensures consistent environments for developers, DevOps, and sysadmins alike.</p>



<h2 class="wp-block-heading" id="why-use-cloud-init-with-proxmox-ve">Why Use Cloud-Init with Proxmox VE?</h2>



<p>Proxmox Virtual Environment (PVE) is a robust platform for virtualizing servers based on KVM and LXC. While Proxmox makes VM lifecycle management easy, initial OS configuration still presents challenges—especially at scale. Integrating Cloud-Init delivers:</p>



<ul class="wp-block-list">
<li><strong>Repeatable provisioning:</strong> VMs are configured identically every time</li>



<li><strong>Automation:</strong> No more tedious SSH setup or network hand-editing per VM</li>



<li><strong>Scalability:</strong> Effortlessly deploy dozens or hundreds of pre-configured machines</li>
</ul>



<h2 class="wp-block-heading" id="step-by-step-preparing-a-cloud-init-ready-vm-templ">Step-by-Step: Preparing a Cloud-Init Ready VM Template in Proxmox VE</h2>



<p>Here&#8217;s how to build a robust, scalable Cloud-Init workflow in Proxmox:</p>



<h2 class="wp-block-heading">1. Download a Cloud-Init Compatible OS Image</h2>



<p>Many Linux distributions publish “cloud images”—pre-built disk images with Cloud-Init pre-installed and ready.</p>



<ul class="wp-block-list">
<li><strong>Ubuntu:</strong> <a href="https://cloud-images.ubuntu.com/" target="_blank" rel="noreferrer noopener">https://cloud-images.ubuntu.com/</a></li>



<li><strong>Debian:</strong> <a href="https://cloud.debian.org/images/cloud/" target="_blank" rel="noreferrer noopener">https://cloud.debian.org/images/cloud/</a></li>
</ul>



<p><strong>Example: Download Ubuntu 22.04 Cloud Image</strong></p>



<pre class="wp-block-preformatted"><code>wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img<br></code></pre>



<h2 class="wp-block-heading">2. Upload the Image to Proxmox</h2>



<p>Upload the downloaded image to your Proxmox node, typically to&nbsp;<code>/var/lib/vz/template/qemu/</code>&nbsp;or via the web interface under your storage&#8217;s “ISO Images” or “Disk Images.”</p>



<h2 class="wp-block-heading">3. Convert the Image to QCOW2 (if necessary)</h2>



<p>Many images come in QCOW2 format, which Proxmox supports natively. If not, convert it:</p>



<pre class="wp-block-preformatted"><code>qm importdisk &lt;VM_ID> &lt;image-file> &lt;storage-name><br></code></pre>



<p>Example:</p>



<pre class="wp-block-preformatted"><code>qm importdisk 9000 jammy-server-cloudimg-amd64.img local-lvm<br></code></pre>



<h2 class="wp-block-heading">4. Create a New VM as a Template</h2>



<p>In the Proxmox web UI:</p>



<ol class="wp-block-list">
<li>Go to <strong>Create VM</strong></li>



<li>Assign a unique VM ID and a descriptive name (e.g., <code>ubuntu-cloud-template</code>)</li>



<li><strong>Skip</strong> the OS ISO step, and do not attach a CD-ROM</li>



<li>Configure CPU, RAM, and other hardware</li>



<li><strong>Do not add a disk manually</strong>; you&#8217;ll add it shortly</li>
</ol>



<h2 class="wp-block-heading">5. Attach the Imported Cloud Disk</h2>



<ul class="wp-block-list">
<li>Go to the VM’s “Hardware” tab.</li>



<li>Click “Add” → “Existing Disk,” and select the imported <code>.qcow2</code> disk.</li>
</ul>



<h2 class="wp-block-heading">6. Enable the “Cloud-Init Drive”</h2>



<ul class="wp-block-list">
<li>In the Hardware tab, click “Add” → “Cloud-Init drive”</li>



<li>Choose your storage and confirm.</li>
</ul>



<p>Proxmox automatically generates a&nbsp;<em>special</em>&nbsp;CD-ROM device for user-data. Cloud-Init reads from this device at boot.</p>



<h2 class="wp-block-heading">7. Configure Network and User Data</h2>



<ul class="wp-block-list">
<li>In VM settings, click “Cloud-Init”</li>



<li>Set SSH keys, user name, passwords, IP configuration, etc.</li>
</ul>



<h2 class="wp-block-heading">8. Convert to Template</h2>



<ul class="wp-block-list">
<li>Right-click the VM → “Convert to Template”</li>
</ul>



<p>You now have a master Cloud-Init-ready template. All future clones can be fully auto-configured at first boot!</p>



<h2 class="wp-block-heading" id="advanced-tips-and-best-practices">Advanced Tips and Best Practices</h2>



<h2 class="wp-block-heading">– Automating via CLI or Ansible</h2>



<p>For large fleets, build VM templates and launches via the&nbsp;<code>qm</code>&nbsp;CLI or automation tools like Ansible and Terraform.</p>



<h2 class="wp-block-heading">– Custom Scripts: User-Data Magic</h2>



<p>You can inject powerful custom shell scripts via Cloud-Init’s user-data—install additional tools, bootstrap applications, and more.</p>



<h2 class="wp-block-heading">– Version Control your Templates</h2>



<p>Treat your template-building process and user-data payloads as infrastructure code. Use Git to track versions and changes.</p>



<h2 class="wp-block-heading" id="troubleshooting-common-pitfalls">Troubleshooting Common Pitfalls</h2>



<ul class="wp-block-list">
<li><strong>Cloud-Init Not Running?</strong><br>Ensure the VM is based on a <em>cloud image,</em> not a generic install ISO. Check that a Cloud-Init disk is attached and properly prioritized in the boot order.</li>



<li><strong>SSH Keys Not Working?</strong><br>Double-check user-data syntax and ensure the correct public key is supplied via Proxmox.</li>



<li><strong>Static Networking Fails?</strong><br>Modern cloud images use Netplan (Ubuntu) or systemd-networkd—ensure your settings match the OS’s provisioning method.</li>
</ul>



<h2 class="wp-block-heading" id="conclusion">Conclusion</h2>



<p>By integrating Cloud-Init with Proxmox VE, you unlock enterprise-grade automation for your private cloud. Your VM lifecycle transforms—no more snowflake setups or deployment drudgery. Whether you’re orchestrating a dozen dev machines or hundreds of production servers, Cloud-Init is your force multiplier.</p>



<p>Take your infrastructure to the next level. Automate once, and let Proxmox + Cloud-Init do the heavy lifting—reliably, repeatably, at scale.</p>
<p>Сообщение <a href="https://boxvirt.com/how-to-install-and-use-cloud-init-with-proxmox-ve-a-modern-infrastructure-approach/">How to Install and Use Cloud-Init with Proxmox VE: A Modern Infrastructure Approach</a> появились сначала на <a href="https://boxvirt.com">Boxvirt - Proxmox &amp; OPNsense Infrastructure Guides</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://boxvirt.com/how-to-install-and-use-cloud-init-with-proxmox-ve-a-modern-infrastructure-approach/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hosting Audiobookshelf on Your Own Server with Docker</title>
		<link>https://boxvirt.com/hosting-audiobookshelf-on-your-own-server-with-docker/</link>
					<comments>https://boxvirt.com/hosting-audiobookshelf-on-your-own-server-with-docker/#respond</comments>
		
		<dc:creator><![CDATA[eXtre]]></dc:creator>
		<pubDate>Fri, 18 Jul 2025 19:29:07 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Audiobookshelf]]></category>
		<guid isPermaLink="false">https://boxvirt.com/?p=39</guid>

					<description><![CDATA[<p>Audiobookshelf is an open-source, self-hosted solution for organizing and streaming your audiobook collection. This guide shows how to install it on your server using Docker, configure your library, [&#8230;]</p>
<p>Сообщение <a href="https://boxvirt.com/hosting-audiobookshelf-on-your-own-server-with-docker/">Hosting Audiobookshelf on Your Own Server with Docker</a> появились сначала на <a href="https://boxvirt.com">Boxvirt - Proxmox &amp; OPNsense Infrastructure Guides</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Audiobookshelf</strong> is an open-source, self-hosted solution for organizing and streaming your audiobook collection. This guide shows how to install it on your server using Docker, configure your library, and securely access it from anywhere.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why Audiobookshelf?</h3>



<ul class="wp-block-list">
<li>Stream audiobooks in your browser or mobile app</li>



<li>Tracks progress per user</li>



<li>Supports <code>.mp3</code>, <code>.m4b</code>, <code>.flac</code> and more</li>



<li>Beautiful, modern UI</li>



<li>Ideal alternative to Plex or paid audiobook apps</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 1: Prepare the Server</h3>



<p>You need a system with Docker and Docker Compose. For example, on Ubuntu:</p>



<pre class="wp-block-preformatted">bashКопироватьРедактировать<code>sudo apt update &amp;&amp; sudo apt install docker.io docker-compose -y
</code></pre>



<p>Create a directory for Audiobookshelf:</p>



<pre class="wp-block-preformatted">bashКопироватьРедактировать<code>mkdir -p ~/audiobookshelf/config ~/audiobookshelf/metadata ~/audiobookshelf/audiobooks
cd ~/audiobookshelf
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f433.png" alt="🐳" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 2: Docker Compose File</h3>



<p>Create a <code>docker-compose.yml</code> file:</p>



<pre class="wp-block-preformatted">yamlКопироватьРедактировать<code>version: '3.8'
services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf
    container_name: audiobookshelf
    ports:
      - 13378:80
    volumes:
      - ./audiobooks:/audiobooks
      - ./metadata:/metadata
      - ./config:/config
    restart: unless-stopped
</code></pre>



<p>Then start it:</p>



<pre class="wp-block-preformatted">bashКопироватьРедактировать<code>docker-compose up -d
</code></pre>



<p>Audiobookshelf will be available at <code>http://your-ip:13378</code></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f4c1.png" alt="📁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 3: Add Audiobooks</h3>



<p>Move your <code>.mp3</code> or <code>.m4b</code> audiobooks to <code>~/audiobookshelf/audiobooks</code>. Then go to the web interface → &#171;Libraries&#187; → &#171;Add Library&#187; and select the folder.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 4: Secure Access</h3>



<p>Use a reverse proxy (e.g., Nginx or Traefik) to enable HTTPS. Example Nginx block:</p>



<pre class="wp-block-preformatted">nginxКопироватьРедактировать<code>server {
  listen 443 ssl;
  server_name audiobooks.yourdomain.com;

  location / {
    proxy_pass http://localhost:13378;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }

  ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
}
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f4f1.png" alt="📱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus: Mobile Access</h3>



<ul class="wp-block-list">
<li>Use the <strong>Audiobookshelf app</strong> on Android or iOS</li>



<li>Point it to your domain (e.g., <code>https://audiobooks.yourdomain.com</code>)</li>



<li>Enjoy bookmarks, sync, progress tracking</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Conclusion</h3>



<p>Audiobookshelf is a lightweight and elegant solution for anyone who wants full control over their audiobook collection. With just a few Docker commands, you’ll have a personal audiobook streaming service that’s fast, private, and 100% yours.</p>
<p>Сообщение <a href="https://boxvirt.com/hosting-audiobookshelf-on-your-own-server-with-docker/">Hosting Audiobookshelf on Your Own Server with Docker</a> появились сначала на <a href="https://boxvirt.com">Boxvirt - Proxmox &amp; OPNsense Infrastructure Guides</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://boxvirt.com/hosting-audiobookshelf-on-your-own-server-with-docker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
