tinfoil-hat.net-relaunch/public/posts/proxmox-docker-workstation/index.html
2024-05-31 00:57:15 +02:00

596 lines
22 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head>
<script defer language="javascript" type="text/javascript" src="/js/bundle.min.14549c76bbc96f0af1574b0259efd70e52908cd36fb4d14ed3d290a1b6479eae.js"></script>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href=images/tiger.png>
<!-- Open Graph image and Twitter Card metadata -->
<title itemprop="name">tinfoil-hat.net - Proxmox Docker Workstation</title>
<meta property="og:title" content=tinfoil-hat.net&#32;-&#32;Proxmox&#32;Docker&#32;Workstation />
<meta name="twitter:title" content=tinfoil-hat.net&#32;-&#32;Proxmox&#32;Docker&#32;Workstation />
<meta itemprop="name" content=tinfoil-hat.net&#32;-&#32;Proxmox&#32;Docker&#32;Workstation />
<meta name="application-name" content=tinfoil-hat.net&#32;-&#32;Proxmox&#32;Docker&#32;Workstation />
<meta property="og:site_name" content="" />
<meta name="description" content="" />
<meta itemprop="description" content="" />
<meta property="og:description" content="" />
<meta name="twitter:description" content="" />
<base href="/posts/proxmox-docker-workstation/" />
<link rel="canonical" href="/posts/proxmox-docker-workstation/" itemprop="url" />
<meta name="url" content="/posts/proxmox-docker-workstation/" />
<meta name="twitter:url" content="/posts/proxmox-docker-workstation/" />
<meta property="og:url" content="/posts/proxmox-docker-workstation/" />
<meta property="og:updated_time" content="2023-10-23T05:50:36&#43;02:00" />
<link rel="sitemap" type="application/xml" title="Sitemap" href='/sitemap.xml' />
<meta name="robots" content="index,follow" />
<meta name="googlebot" content="index,follow" />
<meta name="twitter:site" content="" />
<meta name="twitter:creator" content="" />
<meta property="fb:admins" content="" />
<meta name="apple-mobile-web-app-title" content="" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="generator" content="Hugo 0.111.3">
<link type="text/css" rel="stylesheet" href="/css/bundle.min.94a339836f89f0d25f31980cb6b0631da21e20af128308747ce44e0525eb16ef.css">
<style>
body {
--sidebar-bg-color: #202020;
--sidebar-img-border-color: #515151;
--sidebar-p-color: #909090;
--sidebar-h1-color: #FFF;
--sidebar-a-color: #FFF;
--sidebar-socials-color: #FFF;
--text-color: #222;
--bkg-color: #FAF9F6;
--post-title-color: #303030;
--list-color: #5A5A5A;
--link-color: #268BD2;
--date-color: #515151;
--table-border-color: #E5E5E5;
--table-stripe-color: #F9F9F9;
--code-color: #000;
--code-background-color: #E5E5E5;
--code-block-color: #FFF;
--code-block-background-color: #272822;
--moon-sun-color: #FFF;
--moon-sun-background-color: #515151;
}
body.dark-theme {
--text-color: #EEE;
--bkg-color: #121212;
--post-title-color: #DBE2E9;
--list-color: #9D9D9D;
--link-color: #268BD2;
--date-color: #9A9A9A;
--table-border-color: #515151;
--table-stripe-color: #202020;
--code-color: #FFF;
--code-background-color: #515151;
--code-block-color: #FFF;
--code-block-background-color: #272822;
}
body {
background-color: var(--bkg-color);
}
</style>
</head>
<body class="">
<div class="wrapper">
<aside class="sidebar">
<div class="container sidebar-sticky">
<div class="light-dark" align="right">
<button class="btn-light-dark" title="Toggle light/dark mode">
<svg class="moon" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16">
<path fill="currentColor" d="M6 .278a.768.768 0 0 1 .08.858a7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277c.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316a.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71C0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z"/>
</svg>
<svg class="sun" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16">
<path fill="currentColor" d="M8 12a4 4 0 1 0 0-8a4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/>
</svg>
</button>
</div>
<div class="sidebar-about">
<h1 class="brand">
<a href="/">
<img src="/images/tiger.png" alt="brand image">
</a>
<a href="/">
<h1>tinfoil-hat.net</h1>
</a>
</h1>
<p class="lead">
A secure home for every tinfoil-hat
</p>
</div>
<nav>
<ul class="sidebar-nav">
<li class="heading">
<a href="/posts/">Posts</a>
</li>
<li class="sub-heading">
Recent
</li>
<li class="bullet">
<a href="/posts/gpu-passtrough-mint21/">Gpu Passtrough Mint21</a>
</li>
<li class="bullet">
<a href="/posts/vbox-autostart/">Vbox Autostart</a>
</li>
<li class="bullet">
<a href="/posts/bst/">BST</a>
</li>
<li class="heading">
<a href="/unixporn/">Unixporn</a>
</li>
<li class="heading">
<a href="/webring/">Webring</a>
</li>
</ul>
</nav>
<a target="_blank" class="social" title="Gitlab" href="https://git.tinfoil-hat.net">
<svg xmlns="http://www.w3.org/2000/svg" width="1.2em" height="1.2em" viewBox="-2 -2.5 24 24">
<path fill="currentColor" d='M10.006 18.443L6.326 7.118h7.36l-3.68 11.325zm0 0L1.168 7.118h5.158l3.68 11.325zM1.168 7.118l8.838 11.325-9.68-7.032a.762.762 0 0 1-.276-.852l1.118-3.441zm0 0L3.385.296a.38.38 0 0 1 .724 0l2.217 6.822H1.168zm8.838 11.325l3.68-11.325h5.157l-8.837 11.325zm8.837-11.325l1.119 3.441a.762.762 0 0 1-.277.852l-9.68 7.032 8.838-11.325zm0 0h-5.157L15.902.296a.38.38 0 0 1 .725 0l2.216 6.822z' />
</svg>
</a>
<a target="_blank" class="social" title="YouTube" href="https://tube.tinfoil-hat.net">
<svg xmlns="http://www.w3.org/2000/svg" width="1.2em" height="1.2em" viewBox="0 0 24 24">
<path fill="currentColor" d="M12.006 19.012h-.02c-.062 0-6.265-.012-7.83-.437a2.5 2.5 0 0 1-1.764-1.765A26.494 26.494 0 0 1 1.986 12a26.646 26.646 0 0 1 .417-4.817A2.564 2.564 0 0 1 4.169 5.4c1.522-.4 7.554-.4 7.81-.4H12c.063 0 6.282.012 7.831.437c.859.233 1.53.904 1.762 1.763c.29 1.594.427 3.211.407 4.831a26.568 26.568 0 0 1-.418 4.811a2.51 2.51 0 0 1-1.767 1.763c-1.52.403-7.553.407-7.809.407Zm-2-10.007l-.005 6l5.212-3l-5.207-3Z"/>
</svg>
</a>
<a target="_blank" class="social" title="RSS Feed" href="/posts/index.xml">
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1.2em" viewBox="0 0 1280.000000 1280.000000">
<g transform="translate(0.000000,1280.000000) scale(0.100000,-0.100000)" fill="currentColor">
<path d="M2295 11929 c-284 -12 -642 -45 -707 -65 -17 -5 -18 -63 -18 -1039 0 -569 4 -1036 8 -1039 5 -3 74 6 153 19 510 86 1168 95 1789 25 1348 -153 2602 -677 3670 -1531 385 -308 820 -744 1126 -1129 842 -1060 1362 -2313 1514 -3650 70 -621 61 -1279 -25 -1789 -13 -79 -22 -148 -19 -153 3 -4 471 -8 1039 -8 l1035 0 5 23 c51 225 85 942 67 1419 -23 605 -77 1044 -198 1617 -294 1400 -927 2734 -1823 3846 -1043 1295 -2364 2259 -3909 2854 -1158 447 -2451 656 -3707 600z"/>
<path d="M2255 7845 c-269 -25 -620 -81 -667 -106 -17 -9 -18 -55 -18 -899 0 -706 3 -890 13 -890 6 0 66 18 132 41 130 44 288 79 467 105 154 21 577 30 749 15 1207 -107 2267 -823 2814 -1902 166 -327 268 -637 330 -1001 38 -227 48 -384 42 -662 -8 -348 -44 -590 -126 -831 -23 -66 -41 -126 -41 -132 0 -10 184 -13 890 -13 844 0 890 1 899 18 27 50 88 452 110 725 14 162 14 624 1 782 -59 703 -233 1323 -545 1945 -481 956 -1313 1788 -2270 2268 -620 310 -1239 483 -1940 542 -165 14 -669 10 -840 -5z"/>
<path d="M2519 3815 c-391 -66 -725 -336 -868 -703 -79 -201 -96 -462 -45 -677 83 -344 338 -641 666 -774 116 -47 205 -69 330 -80 412 -39 811 153 1040 500 193 292 240 648 128 981 -135 403 -492 699 -914 757 -100 14 -241 12 -337 -4z"/>
</g>
</svg>
</a>
<a target="_blank" class="social" title="Email" href="mailto://mail@tinfoil-hat.net">
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1.2em" viewBox="0 0 485.211 485.211">
<path fill="currentColor" d="M301.393,241.631L464.866,424.56H20.332l163.474-182.928l58.801,51.443L301.393,241.631z M462.174,60.651H23.027 l219.579,192.142L462.174,60.651z M324.225,221.67l160.986,180.151V80.792L324.225,221.67z M0,80.792v321.029L160.972,221.64 L0,80.792z"/>
</svg>
</a>
<p class="footnote">
powered by <a target="_blank" href="https://gohugo.io">Hugo</a> | themed with <a target="_blank" href="https://github.com/lukeorth/poison">poison</a>
<br>
&copy; 2024 . All rights reserved.
</p>
</div>
</aside>
<main class="content container">
<div class="post">
<div class="info">
<h1 class="post-title">
<a href="/posts/proxmox-docker-workstation/">Proxmox Docker Workstation</a>
</h1>
<div class="headline">
<div>
<time datetime=" 2023-10-23T05:50:36&#43;0200" class="post-date">
October 23, 2023
</time>
<span> - </span>
<span class="reading-time">
<span>2 mins read</span>
</span>
</div>
<ul class="tags">
<li class="tag-Linux">
<a href="/tags/linux">Linux</a>
</li>
<li class="tag-Server">
<a href="/tags/server">Server</a>
</li>
<li class="tag-Technology">
<a href="/tags/technology">Technology</a>
</li>
</ul>
</div>
</div>
<h2 id="install-linux-mint-debian-edition-6">Install Linux Mint Debian Edition 6</h2>
<p>I am assuming, that you want to use a Debian based Operating System (not Ubuntu based) and you want Proxmox, Docker and GPT4All installed on your Laptop. Here I am using Linux Mint Debian Edition 6</p>
<h3 id="lets-get-started">let&rsquo;s get started:</h3>
<p>Go trough installation process</p>
<p><img src="/images/mint-install.png" alt="mintinstall"></p>
<h2 id="install-proxmox-ve">Install Proxmox VE</h2>
<p>Upgrade the system and install some basic tools</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo apt update <span style="color:#f92672">&amp;&amp;</span> sudo apt dist-upgrade -y
</span></span><span style="display:flex;"><span>sudo apt install vim git curl wget htop ssh netcat-traditional openvpn
</span></span></code></pre></div><p>Cerate a Interface used for LXC Containers:
edit <code>/etc/network/interfaces</code></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>auto lo
</span></span><span style="display:flex;"><span>iface lo inet loopback
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>auto enp2s0
</span></span><span style="display:flex;"><span>iface enp2s0 inet static
</span></span><span style="display:flex;"><span> address 10.10.20.254/24
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> post-up echo <span style="color:#ae81ff">1</span> &gt; /proc/sys/net/ipv4/ip_forward
</span></span><span style="display:flex;"><span> post-up iptables -t nat -A POSTROUTING -s <span style="color:#e6db74">&#39;10.10.20.0/24&#39;</span> -o enp0s3 -j MASQUERADE
</span></span><span style="display:flex;"><span> post-down iptables -t nat -D POSTROUTING -s <span style="color:#e6db74">&#39;10.10.20.0/24&#39;</span> -o enp0s3 -j MASQUERADE
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>source /etc/network/interfaces.d/*
</span></span></code></pre></div><p>Edit hosts file, needed to install proxmox successfully
<code>vim /etc/hosts</code></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>127.0.0.1 localhost
</span></span><span style="display:flex;"><span>10.10.20.254 devstation.proxmox.local devstation
</span></span></code></pre></div><p><code>hostname --ip-address</code><br>
127.0.0.1 10.10.20.254 # should return your IP address here</p>
<p>Add Proxmox Repos and gpg key</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>echo <span style="color:#e6db74">&#34;deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription&#34;</span> &gt; /etc/apt/sources.list.d/pve-install-repo.list
</span></span><span style="display:flex;"><span>wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
</span></span></code></pre></div><p>Upgrade Packagebase, Install Proxmox Kernel and reboot</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt update <span style="color:#f92672">&amp;&amp;</span> apt full-upgrade
</span></span><span style="display:flex;"><span>apt install pve-kernel-6.2
</span></span><span style="display:flex;"><span>systemctl reboot
</span></span></code></pre></div><p>Install Proxmox, remove Debian Kernel, update Grub bootloader and remove os-prober</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install proxmox-ve postfix open-iscsi chrony
</span></span><span style="display:flex;"><span>apt remove linux-image-amd64 <span style="color:#e6db74">&#39;linux-image-6.1*&#39;</span>
</span></span><span style="display:flex;"><span>update-grub
</span></span><span style="display:flex;"><span>apt remove os-prober
</span></span></code></pre></div><p>We log into the webinterface with root user, so it needs to have a password</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo -i
</span></span><span style="display:flex;"><span>passwd
</span></span></code></pre></div><p>Now navigate to your browser with this URL
https://127.0.0.1:8006</p>
<p>Accept the security exception and enter your root password</p>
<p><img src="/images/exception.png" alt="exception"></p>
<p>Now you should see this dashboard</p>
<p><img src="/images/dashboard.png" alt="dashboard"></p>
<h2 id="install-docker-and-portainer">install Docker and Portainer</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo apt install docker.io docker-compose
</span></span><span style="display:flex;"><span>sudo docker volume create portainer_data
</span></span><span style="display:flex;"><span>sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart<span style="color:#f92672">=</span>always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
</span></span></code></pre></div><p>Now you can navigate to the Docker Webinterface</p>
<p>https://127.0.0.1:9443</p>
<p>you should see something like this</p>
<p><img src="/images/portainer.png" alt="portainer"></p>
<h2 id="install-gpt4all">Install GPT4All</h2>
<p>comes in very hand for basic questions</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>wget https://gpt4all.io/installers/gpt4all-installer-linux.run
</span></span><span style="display:flex;"><span>sudo chmod +x gpt4all-installer-linux.run
</span></span><span style="display:flex;"><span>mkdir ~/Desktop
</span></span><span style="display:flex;"><span>./gpt4all-installer-linux.run
</span></span><span style="display:flex;"><span>mv ~/Desktop/GPT4All.desktop ~/.local/share/applications/
</span></span></code></pre></div><p>Now download a Language Model via GUI:</p>
<p><img src="/images/models.png" alt="models"></p>
<p><strong>GPT4All is now ready to answer your questions</strong></p>
<p><img src="/images/gpt4all.png" alt="gpt4all"></p>
<hr>
<div class="footer">
<a class="previous-post" href="/posts/local-apt-mirror/?ref=footer"><span style="font-weight:bold;">« Previous</span><br>Local Apt Mirror</a>
<div class="next-post">
<a href="/posts/bookmarks/?ref=footer"><span style="font-weight:bold;">Next »</span><br>Bookmarks</a>
</div>
</div>
</div>
</main>
<div class="article-toc ">
<div class="toc-wrapper">
<h4 id="contents"></h4>
<nav id="TableOfContents">
<ul>
<li><a href="#install-linux-mint-debian-edition-6">Install Linux Mint Debian Edition 6</a>
<ul>
<li><a href="#lets-get-started">let&rsquo;s get started:</a></li>
</ul>
</li>
<li><a href="#install-proxmox-ve">Install Proxmox VE</a></li>
<li><a href="#install-docker-and-portainer">install Docker and Portainer</a></li>
<li><a href="#install-gpt4all">Install GPT4All</a></li>
</ul>
</nav>
</div>
</div>
</div>
</body>
</html>