<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lug.mtu.edu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Allennova</id>
	<title>MTU LUG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://lug.mtu.edu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Allennova"/>
	<link rel="alternate" type="text/html" href="https://lug.mtu.edu/wiki/Special:Contributions/Allennova"/>
	<updated>2026-05-14T20:04:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8090</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8090"/>
		<updated>2026-03-28T22:08:33Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Added images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
[[File:*arr-library-import.png|thumb|Library import on Sonarr]]&lt;br /&gt;
New media should be added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; and separated into each subfolder depending on media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/(media type)&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the subfolder, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
[[File:*arr-filters.png|thumb|Filters on the sidebar in Sonarr]]&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
Updating the stack should be done as the podman user as our containers are running rootless. Do not run the update commands as another user as said user will try to spin up the containers under its sub ID&#039;s.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models (SCRAPPED)====&lt;br /&gt;
Language and other models are to be hosted on the two GPU&#039;s and are than reverse proxied. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
Koboldcpp is currently used to run .GGUF models on mixed CPU and GPU allowing for language models (LLM), embedding models (used for data vectorization), text-to-speech (TTS), speech to text, and image generation under one application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jellyfin - &amp;lt;nowiki&amp;gt;https://huskywatch.party/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jellyseer - &amp;lt;nowiki&amp;gt;http://10.10.1.150:5055/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sonarr - &amp;lt;nowiki&amp;gt;http://10.10.1.150:8989/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Radarr - &amp;lt;nowiki&amp;gt;http://10.10.1.150:7878/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bazarr - &amp;lt;nowiki&amp;gt;http://10.10.1.150:6767/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lidarr - &amp;lt;nowiki&amp;gt;http://10.10.1.150:8686/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lazy librarian - &amp;lt;nowiki&amp;gt;http://10.10.1.150:5299/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mylar3 - &amp;lt;nowiki&amp;gt;http://10.10.1.150:8090/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=File:*arr-filters.png&amp;diff=8089</id>
		<title>File:*arr-filters.png</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=File:*arr-filters.png&amp;diff=8089"/>
		<updated>2026-03-28T22:07:40Z</updated>

		<summary type="html">&lt;p&gt;Allennova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example Filters for *arr&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=File:*arr-library-import.png&amp;diff=8088</id>
		<title>File:*arr-library-import.png</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=File:*arr-library-import.png&amp;diff=8088"/>
		<updated>2026-03-28T22:05:37Z</updated>

		<summary type="html">&lt;p&gt;Allennova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows library-import&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Nanocon&amp;diff=8080</id>
		<title>Nanocon</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Nanocon&amp;diff=8080"/>
		<updated>2026-02-13T02:22:52Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Page creation. No structure was decided as I have no context of how it was ran and by whom.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nanocon is/was a student ran convention first ran in the 70&#039;s, common clubs included HARO, LUG, (keep filling in...)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs&amp;diff=8076</id>
		<title>Docs</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs&amp;diff=8076"/>
		<updated>2026-02-10T02:43:43Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Updated services to include separate IRC headings for IRC server and IRC bouncer. Linked associated pages/stubs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is the hub for LUG&#039;s documentation.&lt;br /&gt;
&lt;br /&gt;
All of our documentation is intentionally public so that other orgs (or students) can replicate aspects of our infrastructure if they want. Everything sensitive (private keys, break-glass passwords, etc) should go in the LUG Bitwarden.&lt;br /&gt;
&lt;br /&gt;
Topics should generally be broken out into individual articles and linked on this page, unless there&#039;s a very small amount of content.&lt;br /&gt;
&lt;br /&gt;
== [[Docs/Infrastructure|Infrastructure]] ==&lt;br /&gt;
General infrastructure notes&lt;br /&gt;
&lt;br /&gt;
=== [[Docs/Plans|Plans]] ===&lt;br /&gt;
Pending upgrades/maintenance to our infrastructure&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Cables|Cables]] ====&lt;br /&gt;
Physical cabling and &amp;quot;layer 1&amp;quot; network config.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Switches|Switches]] ====&lt;br /&gt;
Switch and layer 2 network configs (VLANs).&lt;br /&gt;
&lt;br /&gt;
=== Servers ===&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Leskinen|Leskinen]] ====&lt;br /&gt;
&lt;br /&gt;
The primary storage server.&lt;br /&gt;
&lt;br /&gt;
Currently has Shell home directory backups and media for maho.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Maho|Maho]] ====&lt;br /&gt;
The GPU compute server.&lt;br /&gt;
&lt;br /&gt;
Currently hosts a [https://studio.blender.org/films/ Blender Open Studio Films] mirror via Jellyfin.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Mirrors|Mirrors]] ====&lt;br /&gt;
The Linux mirror server at mirrors.lug.mtu.edu&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/OPNsense|OPNsense]] (Lasanga/Ravioli) ====&lt;br /&gt;
Router/Firewall and layer 3+ network configs.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Proxmox Cluster|Proxmox Cluster]] ====&lt;br /&gt;
Our Proxmox cluster running the majority of our services&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Shell|Shell]] ====&lt;br /&gt;
The shared multi-tenant server for LUG members/alums at [https://shell.lug.mtu.edu/ shell.lug.mtu.edu]&lt;br /&gt;
&lt;br /&gt;
=== Services ===&lt;br /&gt;
&lt;br /&gt;
==== BlueSky ====&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/IRC Server|IRC Server]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[IRC Bouncer]] ====&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
== Org Management ==&lt;br /&gt;
&lt;br /&gt;
=== Wiki ===&lt;br /&gt;
&lt;br /&gt;
==== Docs ====&lt;br /&gt;
How to create/manage pages in this category (&amp;quot;Docs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==== Meeting Minutes ====&lt;br /&gt;
Notes are taken during the meetings.&lt;br /&gt;
&lt;br /&gt;
There are no specific guidelines, but usually minutes are kept to a series of bullet points, with some elaboration in sub-bullets.&lt;br /&gt;
&lt;br /&gt;
These notes can be written in whatever markup format is preferred, but must be converted to MediaWiki to be pasted onto the wiki. [https://pandoc.org/ Pandoc] can do this for the majority of formats (Markdown, Vimwiki, ODT, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Time-sensitive ===&lt;br /&gt;
&lt;br /&gt;
* Email IT for new certs (example template to use, make sure to keep SubjectAltName, etc)&lt;br /&gt;
* Install-a-thons&lt;br /&gt;
* Shirt printing / stickers&lt;br /&gt;
&lt;br /&gt;
=== Budget ===&lt;br /&gt;
&lt;br /&gt;
* USG meetings&lt;br /&gt;
* Making presentable diagrams and representations of data&lt;br /&gt;
&lt;br /&gt;
=== MTU Policies and Procedures ===&lt;br /&gt;
https://www.mtu.edu/umc/services/websites/requirements/&lt;br /&gt;
&lt;br /&gt;
All (sub)domains need to be approved by UMC (University Marketing &amp;amp; Communication)&lt;br /&gt;
&lt;br /&gt;
IT handles IP addressing and SSL certificates&lt;br /&gt;
&lt;br /&gt;
USG handles funding and reimbursements&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs&amp;diff=8073</id>
		<title>Docs</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs&amp;diff=8073"/>
		<updated>2026-01-30T02:51:18Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Maho */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is the hub for LUG&#039;s documentation.&lt;br /&gt;
&lt;br /&gt;
All of our documentation is intentionally public so that other orgs (or students) can replicate aspects of our infrastructure if they want. Everything sensitive (private keys, break-glass passwords, etc) should go in the LUG Bitwarden.&lt;br /&gt;
&lt;br /&gt;
Topics should generally be broken out into individual articles and linked on this page, unless there&#039;s a very small amount of content.&lt;br /&gt;
&lt;br /&gt;
== [[Docs/Infrastructure|Infrastructure]] ==&lt;br /&gt;
General infrastructure notes&lt;br /&gt;
&lt;br /&gt;
=== [[Docs/Plans|Plans]] ===&lt;br /&gt;
Pending upgrades/maintenance to our infrastructure&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Cables|Cables]] ====&lt;br /&gt;
Physical cabling and &amp;quot;layer 1&amp;quot; network config.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Switches|Switches]] ====&lt;br /&gt;
Switch and layer 2 network configs (VLANs).&lt;br /&gt;
&lt;br /&gt;
=== Servers ===&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Leskinen|Leskinen]] ====&lt;br /&gt;
&lt;br /&gt;
The primary storage server.&lt;br /&gt;
&lt;br /&gt;
Currently has Shell home directory backups and media for maho.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Maho|Maho]] ====&lt;br /&gt;
The GPU compute server.&lt;br /&gt;
&lt;br /&gt;
Currently hosts a [https://studio.blender.org/films/ Blender Open Studio Films] mirror via Jellyfin.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Mirrors|Mirrors]] ====&lt;br /&gt;
The Linux mirror server at mirrors.lug.mtu.edu&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/OPNsense|OPNsense]] (Lasanga/Ravioli) ====&lt;br /&gt;
Router/Firewall and layer 3+ network configs.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Proxmox Cluster|Proxmox Cluster]] ====&lt;br /&gt;
Our Proxmox cluster running the majority of our services&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Shell|Shell]] ====&lt;br /&gt;
The shared multi-tenant server for LUG members/alums at [https://shell.lug.mtu.edu/ shell.lug.mtu.edu]&lt;br /&gt;
&lt;br /&gt;
=== Services ===&lt;br /&gt;
&lt;br /&gt;
==== BlueSky ====&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/IRC|IRC]] ====&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
== Org Management ==&lt;br /&gt;
&lt;br /&gt;
=== Wiki ===&lt;br /&gt;
&lt;br /&gt;
==== Docs ====&lt;br /&gt;
How to create/manage pages in this category (&amp;quot;Docs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==== Meeting Minutes ====&lt;br /&gt;
Notes are taken during the meetings.&lt;br /&gt;
&lt;br /&gt;
There are no specific guidelines, but usually minutes are kept to a series of bullet points, with some elaboration in sub-bullets.&lt;br /&gt;
&lt;br /&gt;
These notes can be written in whatever markup format is preferred, but must be converted to MediaWiki to be pasted onto the wiki. [https://pandoc.org/ Pandoc] can do this for the majority of formats (Markdown, Vimwiki, ODT, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Time-sensitive ===&lt;br /&gt;
&lt;br /&gt;
* Email IT for new certs (example template to use, make sure to keep SubjectAltName, etc)&lt;br /&gt;
* Install-a-thons&lt;br /&gt;
* Shirt printing / stickers&lt;br /&gt;
&lt;br /&gt;
=== Budget ===&lt;br /&gt;
&lt;br /&gt;
* USG meetings&lt;br /&gt;
* Making presentable diagrams and representations of data&lt;br /&gt;
&lt;br /&gt;
=== MTU Policies and Procedures ===&lt;br /&gt;
https://www.mtu.edu/umc/services/websites/requirements/&lt;br /&gt;
&lt;br /&gt;
All (sub)domains need to be approved by UMC (University Marketing &amp;amp; Communication)&lt;br /&gt;
&lt;br /&gt;
IT handles IP addressing and SSL certificates&lt;br /&gt;
&lt;br /&gt;
USG handles funding and reimbursements&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8072</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8072"/>
		<updated>2026-01-30T02:50:34Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Language Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
New media should be added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; and separated into each subfolder depending on media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/(media type)&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the subfolder, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
Updating the stack should be done as the podman user as our containers are running rootless. Do not run the update commands as another user as said user will try to spin up the containers under its sub ID&#039;s.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models (SCRAPPED)====&lt;br /&gt;
Language and other models are to be hosted on the two GPU&#039;s and are than reverse proxied. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
Koboldcpp is currently used to run .GGUF models on mixed CPU and GPU allowing for language models (LLM), embedding models (used for data vectorization), text-to-speech (TTS), speech to text, and image generation under one application.&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8041</id>
		<title>Docs/Switches</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8041"/>
		<updated>2026-01-04T20:15:14Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Got rid of k8s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Docs|&amp;lt;small&amp;gt;~/Docs&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 1 network details, see [[Docs/Cables]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 3 network details, see [[Docs/OPNsense|Docs/OPNSense]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLANs ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Network&lt;br /&gt;
!VLAN ID&lt;br /&gt;
|-&lt;br /&gt;
|Management&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|LAN&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|WAN&lt;br /&gt;
|640&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Switch Ports ==&lt;br /&gt;
Clyde - Fiber switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Maho&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ravioli&lt;br /&gt;
|ix1 (left SFP)&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|lasagna&lt;br /&gt;
|&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Port 51&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 52&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|MTU Uplink&lt;br /&gt;
|MTU LAG 1&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|MTU Uplink&lt;br /&gt;
|MTU LAG 2&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|}&lt;br /&gt;
Bonnie - Ethernet switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 1 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 2 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WAN ===&lt;br /&gt;
Our WAN is a LAGG across two ports. The link needs &#039;&#039;&#039;LACP enabled&#039;&#039;&#039; (&amp;quot;Static mode&amp;quot; &#039;&#039;&#039;off&#039;&#039;&#039; in 1Gb Ubiquiti Switch) [https://www.reddit.com/r/Ubiquiti/comments/7xs70n/lag_dynamic_vs_static/duauolg/], and &#039;&#039;&#039;STP off&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IT configures their switches to automatically shut off ports if they detect STP advertisements.&lt;br /&gt;
&lt;br /&gt;
Reference commands to make a Cisco switch satisfy the requirements:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(config-if)# spanning-tree bpdufilter enable&lt;br /&gt;
(config-if)# spanning-tree bpduguard disable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8040</id>
		<title>Docs/Switches</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8040"/>
		<updated>2026-01-04T20:14:37Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Switch Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Docs|&amp;lt;small&amp;gt;~/Docs&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 1 network details, see [[Docs/Cables]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 3 network details, see [[Docs/OPNsense|Docs/OPNSense]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLANs ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Network&lt;br /&gt;
!VLAN ID&lt;br /&gt;
|-&lt;br /&gt;
|Management&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|LAN&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|kubernetes&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|WAN&lt;br /&gt;
|640&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Switch Ports ==&lt;br /&gt;
Clyde - Fiber switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Maho&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ravioli&lt;br /&gt;
|ix1 (left SFP)&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|lasagna&lt;br /&gt;
|&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Port 51&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 52&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|MTU Uplink&lt;br /&gt;
|MTU LAG 1&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|MTU Uplink&lt;br /&gt;
|MTU LAG 2&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|}&lt;br /&gt;
Bonnie - Ethernet switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 1 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 2 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WAN ===&lt;br /&gt;
Our WAN is a LAGG across two ports. The link needs &#039;&#039;&#039;LACP enabled&#039;&#039;&#039; (&amp;quot;Static mode&amp;quot; &#039;&#039;&#039;off&#039;&#039;&#039; in 1Gb Ubiquiti Switch) [https://www.reddit.com/r/Ubiquiti/comments/7xs70n/lag_dynamic_vs_static/duauolg/], and &#039;&#039;&#039;STP off&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IT configures their switches to automatically shut off ports if they detect STP advertisements.&lt;br /&gt;
&lt;br /&gt;
Reference commands to make a Cisco switch satisfy the requirements:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(config-if)# spanning-tree bpdufilter enable&lt;br /&gt;
(config-if)# spanning-tree bpduguard disable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8039</id>
		<title>Docs/Switches</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8039"/>
		<updated>2026-01-04T20:14:06Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Switch Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Docs|&amp;lt;small&amp;gt;~/Docs&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 1 network details, see [[Docs/Cables]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 3 network details, see [[Docs/OPNsense|Docs/OPNSense]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLANs ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Network&lt;br /&gt;
!VLAN ID&lt;br /&gt;
|-&lt;br /&gt;
|Management&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|LAN&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|kubernetes&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|WAN&lt;br /&gt;
|640&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Switch Ports ==&lt;br /&gt;
Clyde - Fiber switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Watch&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ravioli&lt;br /&gt;
|ix1 (left SFP)&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|lasagna&lt;br /&gt;
|&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Port 51&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 52&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|MTU Uplink&lt;br /&gt;
|MTU LAG 1&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|MTU Uplink&lt;br /&gt;
|MTU LAG 2&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|}&lt;br /&gt;
Bonnie - Ethernet switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 1 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 2 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WAN ===&lt;br /&gt;
Our WAN is a LAGG across two ports. The link needs &#039;&#039;&#039;LACP enabled&#039;&#039;&#039; (&amp;quot;Static mode&amp;quot; &#039;&#039;&#039;off&#039;&#039;&#039; in 1Gb Ubiquiti Switch) [https://www.reddit.com/r/Ubiquiti/comments/7xs70n/lag_dynamic_vs_static/duauolg/], and &#039;&#039;&#039;STP off&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IT configures their switches to automatically shut off ports if they detect STP advertisements.&lt;br /&gt;
&lt;br /&gt;
Reference commands to make a Cisco switch satisfy the requirements:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(config-if)# spanning-tree bpdufilter enable&lt;br /&gt;
(config-if)# spanning-tree bpduguard disable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8038</id>
		<title>Docs/Switches</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=8038"/>
		<updated>2026-01-04T20:10:39Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Updated switch ports as of 1/4/26&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Docs|&amp;lt;small&amp;gt;~/Docs&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 1 network details, see [[Docs/Cables]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 3 network details, see [[Docs/OPNsense|Docs/OPNSense]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLANs ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Network&lt;br /&gt;
!VLAN ID&lt;br /&gt;
|-&lt;br /&gt;
|Management&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|LAN&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|kubernetes&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|WAN&lt;br /&gt;
|640&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Switch Ports ==&lt;br /&gt;
Clyde - Fiber switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Watch&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ravioli&lt;br /&gt;
|ix1 (left SFP)&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|lasagna&lt;br /&gt;
|&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 45&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 46&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 47&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 48&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|}&lt;br /&gt;
Bonnie - Ethernet switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 1 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|Switch to Switch&lt;br /&gt;
|Fiber Switch 2 LAG&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WAN ===&lt;br /&gt;
Our WAN is a LAGG across two ports. The link needs &#039;&#039;&#039;LACP enabled&#039;&#039;&#039; (&amp;quot;Static mode&amp;quot; &#039;&#039;&#039;off&#039;&#039;&#039; in 1Gb Ubiquiti Switch) [https://www.reddit.com/r/Ubiquiti/comments/7xs70n/lag_dynamic_vs_static/duauolg/], and &#039;&#039;&#039;STP off&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IT configures their switches to automatically shut off ports if they detect STP advertisements.&lt;br /&gt;
&lt;br /&gt;
Reference commands to make a Cisco switch satisfy the requirements:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(config-if)# spanning-tree bpdufilter enable&lt;br /&gt;
(config-if)# spanning-tree bpduguard disable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8037</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8037"/>
		<updated>2026-01-04T19:55:51Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Language Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
New media should be added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; and separated into each subfolder depending on media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/(media type)&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the subfolder, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
Updating the stack should be done as the podman user as our containers are running rootless. Do not run the update commands as another user as said user will try to spin up the containers under its sub ID&#039;s.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Language and other models are to be hosted on the two GPU&#039;s and are than reverse proxied. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
Koboldcpp is currently used to run .GGUF models on mixed CPU and GPU allowing for language models (LLM), embedding models (used for data vectorization), text-to-speech (TTS), speech to text, and image generation under one application.&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8036</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8036"/>
		<updated>2026-01-04T19:53:26Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
New media should be added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; and separated into each subfolder depending on media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/(media type)&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the subfolder, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
Updating the stack should be done as the podman user as our containers are running rootless. Do not run the update commands as another user as said user will try to spin up the containers under its sub ID&#039;s.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
Koboldcpp is currently used to run .GGUF models on mixed CPU and GPU allowing for language models (LLM), embedding models (used for data vectorization), text-to-speech (TTS), speech to text, and image generation under one application.&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8035</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8035"/>
		<updated>2026-01-04T19:51:12Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Specified kobold as used backend&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; with sub folders for each media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the media type, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
Updating the stack should be done as the podman user as our containers are running rootless. Do not run the update commands as another user as said user will try to spin up the containers under its sub ID&#039;s.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
Koboldcpp is currently used to run .GGUF models on mixed CPU and GPU allowing for language models (LLM), embedding models (used for data vectorization), text-to-speech (TTS), speech to text, and image generation under one application.&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8034</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8034"/>
		<updated>2026-01-04T19:43:37Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* *arr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; with sub folders for each media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the media type, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
Updating the stack should be done as the podman user as our containers are running rootless. Do not run the update commands as another user as said user will try to spin up the containers under its sub ID&#039;s.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8033</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8033"/>
		<updated>2026-01-04T19:43:12Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* *arr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; with sub folders for each media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the media type, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
Updating the stack should be done as the podman user as our containers are running rootless. Do not run the update commands as another user as your user will try to spin up the containers under its sub ID&#039;s.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8032</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8032"/>
		<updated>2026-01-04T19:41:00Z</updated>

		<summary type="html">&lt;p&gt;Allennova: How to import media rough draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt; with sub folders for each media type. &lt;br /&gt;
&lt;br /&gt;
Inside the *arr suite, &amp;lt;code&amp;gt;../import/&amp;lt;/code&amp;gt; is mapped to &amp;lt;code&amp;gt;/downloads&amp;lt;/code&amp;gt; and can be found on the left hand bar under library import. &lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;code&amp;gt;/downloads/(media type)&amp;lt;/code&amp;gt; depending on what *arr application you are using and the media type, and import all new media. If there is conflicting media, there may be an error importing, to which an admin needs to manually move the clashing media by hand over ssh. &lt;br /&gt;
&lt;br /&gt;
The imported media is still living under &amp;lt;code&amp;gt;../imports&amp;lt;/code&amp;gt; in the main file system; go back to *arr&#039;s main media page and look for &amp;lt;code&amp;gt;filters&amp;lt;/code&amp;gt; on the right hand side. Some associated filters have been made (ex: &amp;lt;code&amp;gt;Downloads-Movies&amp;lt;/code&amp;gt; for Radarr), select whichever filter fits the media you imported. &lt;br /&gt;
&lt;br /&gt;
On the top function bar (same bar filters is in) select &amp;lt;code&amp;gt;Edit Movies&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Select Series&amp;lt;/code&amp;gt;, or however it is formatted for the *arr application. If filtered right, we should only see our newly imported media and not old media. If this is true click &amp;lt;code&amp;gt;Select All&amp;lt;/code&amp;gt;, then edit at the very bottom of the page.&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;code&amp;gt;Root Folder&amp;lt;/code&amp;gt;, select the base path that best fits the newly indexed media (&amp;lt;code&amp;gt;/movies&amp;lt;/code&amp;gt; for our Radarr example) and finally move the media to the base &amp;lt;code&amp;gt;/salieri/jellyfin/media/(media type)&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8031</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8031"/>
		<updated>2026-01-04T19:21:12Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Detail about ism&#039;s and how to administrate/add media)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8030</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8030"/>
		<updated>2026-01-04T19:21:00Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Added *arr updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Detail about ism&#039;s and how to administrate/add media)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
Updates to the *arr suite are simple and should be done under the podman user. First log into the podman user &amp;lt;code&amp;gt;sudo su podman&amp;lt;/code&amp;gt; and go to the podman compose directory &amp;lt;code&amp;gt;cd /opt/podman/compose/arr/&amp;lt;/code&amp;gt;, then run the following one liner to pull new images (if there are any) and force recreate the stack &amp;lt;code&amp;gt;podman-compose pull &amp;amp;&amp;amp; podman-compose up -d --force-recreate&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; daemonize&#039;s this stack (run in the background)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt; forces containers to be recreated with the updated image in case podman has issues taking down containers.&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8029</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8029"/>
		<updated>2025-12-31T17:29:07Z</updated>

		<summary type="html">&lt;p&gt;Allennova: format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Detail about ism&#039;s and how to administrate/add media)&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
====*arr====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8028</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8028"/>
		<updated>2025-12-31T17:27:18Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
2 GPU&#039;s are housed and used for compute workloads, a GTX 1060 6GB and a GTX 1070.&lt;br /&gt;
&lt;br /&gt;
There are 3 open low profile PCIe slots.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Detail about ism&#039;s and how to administrate/add media)&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
=====*arr=====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Members&amp;diff=8027</id>
		<title>Members</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Members&amp;diff=8027"/>
		<updated>2025-12-31T17:25:10Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Removed myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Officers ==&lt;br /&gt;
&#039;&#039;&#039;President&#039;&#039;&#039;: [[User:D2wn|Noah Holland]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vice President:&#039;&#039;&#039; Lucas Jones&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Treasurer&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Secretary&#039;&#039;&#039;: Dane Cucinelli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Server Administration Team&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
# August Staples&lt;br /&gt;
# Dane Cucinelli&lt;br /&gt;
# Lucas Jones&lt;br /&gt;
# Noah Holland&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Faculty Advisor&#039;&#039;&#039;: [https://www.mtu.edu/applied-computing/about/faculty/ac-faculty/arney/ Todd O. Arney (Applied Computing Department)]&lt;br /&gt;
&lt;br /&gt;
== Alumni ==&lt;br /&gt;
[[User:Dark-Fx|Brian McPherson]] CS Major (2008)&lt;br /&gt;
&lt;br /&gt;
[[User:rsmudge|Raphael Mudge]] CS Major (2004)&lt;br /&gt;
&lt;br /&gt;
[http://www.dingostick.com Adam Shirey] CS Major (2004)&lt;br /&gt;
&lt;br /&gt;
[[User:gzphreak|Dan Clark]] CS Major (2005)&lt;br /&gt;
&lt;br /&gt;
[http://khanbo.com Mary Farmer] EE Major (2005)&lt;br /&gt;
&lt;br /&gt;
[[User:spi|Steven Isaacson]] CS Major (2005)&lt;br /&gt;
&lt;br /&gt;
[[User:base16|Justin TerAvest]] CS Major (2005)&lt;br /&gt;
&lt;br /&gt;
[http://xobes.com Andy Zobro] ME Undergrad, Engineering Masters (2005)&lt;br /&gt;
&lt;br /&gt;
[[User:Jon787|Jon DeVree]] CS Major (2006)&lt;br /&gt;
&lt;br /&gt;
[[User:Sgowtham|S Gowtham]] Eng. Physics (Sometime in 2006)&lt;br /&gt;
&lt;br /&gt;
[[User:Chong|Timothy Carmean]] CSY Major (2007)&lt;br /&gt;
&lt;br /&gt;
[[User: Techieb0y|Peter Corbett]] CSY Major (2007)&lt;br /&gt;
&lt;br /&gt;
[[User:Physcofish|Jon Klimowicz]] CS Major (December 2007)&lt;br /&gt;
&lt;br /&gt;
[[User:Ox|Michael Senkow]] ME &amp;amp; STC Major (2009)&lt;br /&gt;
&lt;br /&gt;
[[User:MJS|Matthew Senkow]] SocSci Major (2008)&lt;br /&gt;
&lt;br /&gt;
[[User:Freshmen|Andrew Swartzendruber]] CpE Major (2008)&lt;br /&gt;
&lt;br /&gt;
[[User:MrVoids|Andrew Miller]] CpE/EE Major (2008)&lt;br /&gt;
&lt;br /&gt;
[[User:Adamjaskie|Adam Jaskie]] CS (2008)&lt;br /&gt;
&lt;br /&gt;
Lenore Towne CS (????)&lt;br /&gt;
&lt;br /&gt;
Jeff Tyson CS (2008)&lt;br /&gt;
&lt;br /&gt;
John Pastore Math (1901)&lt;br /&gt;
&lt;br /&gt;
[[User: Tokyo-18|A&#039;Lisa Krawciw]] CpE/EE Major (2010)&lt;br /&gt;
&lt;br /&gt;
[[User:blcrowle|Brandon Crowley]] CS Major (2011)&lt;br /&gt;
&lt;br /&gt;
[[User:agmeyer|Andrew Meyer]] CpE/EE Major (2012)&lt;br /&gt;
&lt;br /&gt;
Alex Klinkhamer&lt;br /&gt;
&lt;br /&gt;
Beth Russart&lt;br /&gt;
&lt;br /&gt;
Steven Vormwald&lt;br /&gt;
&lt;br /&gt;
Jesse Wisniewski EE Major (2011?)(fall 2000-&amp;gt;spring2002, fall2009+)&lt;br /&gt;
&lt;br /&gt;
Alicia Gervais&lt;br /&gt;
&lt;br /&gt;
Nate Scowcroft&lt;br /&gt;
&lt;br /&gt;
William Cody Laeder&lt;br /&gt;
&lt;br /&gt;
Nick Trierweiler&lt;br /&gt;
&lt;br /&gt;
Peter Marheine (CpE 2013)&lt;br /&gt;
&lt;br /&gt;
[[User:Bane|Dan Williams]]&lt;br /&gt;
&lt;br /&gt;
[[User:Dwfreed|Doug Freed]] (CpE 2015)&lt;br /&gt;
&lt;br /&gt;
[[User:Thirtysixway |Josh Knight]] (CNSA Major, EE Minor 2014) President &#039;12/&#039;13&lt;br /&gt;
&lt;br /&gt;
Kaleb Elwert (CS Major 2014) President &#039;13/&#039;14&lt;br /&gt;
&lt;br /&gt;
[[User:Jfledvin|Jared Ledvina]] CNSA Major(2015) President &#039;14/&#039;15&lt;br /&gt;
&lt;br /&gt;
Brandon Ingalls (????) President &#039;15&lt;br /&gt;
&lt;br /&gt;
Kory Wegmeyer (????) Vice President &#039;15&lt;br /&gt;
&lt;br /&gt;
Evan Hauck (????) Secretary &#039;15&lt;br /&gt;
&lt;br /&gt;
Brendan Kerrigan (????) Treasurer &#039;15&lt;br /&gt;
&lt;br /&gt;
Christopher Sengstack (????) Public Relations &#039;15&lt;br /&gt;
&lt;br /&gt;
Stephen Radachy (????) Server Admin &#039;15&lt;br /&gt;
&lt;br /&gt;
Christopher Sengstack (????) Server Admin &#039;15&lt;br /&gt;
&lt;br /&gt;
Daniel Knudsen (????) Server Admin &#039;15&lt;br /&gt;
&lt;br /&gt;
Steven Whitaker (????) President &#039;21/&#039;22&lt;br /&gt;
&lt;br /&gt;
David Hochstetler (????) Vice President &#039;22/&#039;23&lt;br /&gt;
&lt;br /&gt;
== Past Members ==&lt;br /&gt;
[[User:Rachel|Rachel Pierce]] (2004-2005) transferred to [http://www.stolaf.edu/ St. Olaf]&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs&amp;diff=8026</id>
		<title>Docs</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs&amp;diff=8026"/>
		<updated>2025-12-26T08:07:40Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is the hub for LUG&#039;s documentation.&lt;br /&gt;
&lt;br /&gt;
All of our documentation is intentionally public so that other orgs (or students) can replicate aspects of our infrastructure if they want. Everything sensitive (private keys, break-glass passwords, etc) should go in the LUG Bitwarden.&lt;br /&gt;
&lt;br /&gt;
Topics should generally be broken out into individual articles and linked on this page, unless there&#039;s a very small amount of content.&lt;br /&gt;
&lt;br /&gt;
== [[Docs/Infrastructure|Infrastructure]] ==&lt;br /&gt;
General infrastructure notes&lt;br /&gt;
&lt;br /&gt;
=== [[Docs/Plans|Plans]] ===&lt;br /&gt;
Pending upgrades/maintenance to our infrastructure&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Cables|Cables]] ====&lt;br /&gt;
Physical cabling and &amp;quot;layer 1&amp;quot; network config.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Switches|Switches]] ====&lt;br /&gt;
Switch and layer 2 network configs (VLANs).&lt;br /&gt;
&lt;br /&gt;
=== Servers ===&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Leskinen|Leskinen]] ====&lt;br /&gt;
&lt;br /&gt;
The primary storage server.&lt;br /&gt;
&lt;br /&gt;
Currently has Shell home directory backups and media for maho.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Maho|Maho]] ====&lt;br /&gt;
The GPU compute server.&lt;br /&gt;
&lt;br /&gt;
Currently hosts a [https://studio.blender.org/films/ Blender Open Studio Films] mirror via Jellyfin and Local LLM host for members to experiment with.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Mirrors|Mirrors]] ====&lt;br /&gt;
The Linux mirror server at mirrors.lug.mtu.edu&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/OPNsense|OPNsense]] (Lasanga/Ravioli) ====&lt;br /&gt;
Router/Firewall and layer 3+ network configs.&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Proxmox Cluster|Proxmox Cluster]] ====&lt;br /&gt;
Our Proxmox cluster running the majority of our services&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/Shell|Shell]] ====&lt;br /&gt;
The shared multi-tenant server for LUG members/alums at [https://shell.lug.mtu.edu/ shell.lug.mtu.edu]&lt;br /&gt;
&lt;br /&gt;
=== Services ===&lt;br /&gt;
&lt;br /&gt;
==== BlueSky ====&lt;br /&gt;
&lt;br /&gt;
==== [[Docs/IRC|IRC]] ====&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
== Org Management ==&lt;br /&gt;
&lt;br /&gt;
=== Wiki ===&lt;br /&gt;
&lt;br /&gt;
==== Docs ====&lt;br /&gt;
How to create/manage pages in this category (&amp;quot;Docs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==== Meeting Minutes ====&lt;br /&gt;
&amp;lt;insert process/methodology for making/formatting meeting minutes (e.g. wiki page guidelines)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Time-sensitive ===&lt;br /&gt;
&lt;br /&gt;
* Email IT for new certs (example template to use, make sure to keep SubjectAltName, etc)&lt;br /&gt;
* Install-a-thons&lt;br /&gt;
* Shirt printing / stickers&lt;br /&gt;
&lt;br /&gt;
=== Budget ===&lt;br /&gt;
&lt;br /&gt;
* USG meetings&lt;br /&gt;
* Making presentable diagrams and representations of data&lt;br /&gt;
&lt;br /&gt;
=== MTU Policies and Procedures ===&lt;br /&gt;
https://www.mtu.edu/umc/services/websites/requirements/&lt;br /&gt;
&lt;br /&gt;
All (sub)domains need to be approved by UMC (University Marketing &amp;amp; Communication)&lt;br /&gt;
&lt;br /&gt;
IT handles IP addressing and SSL certificates&lt;br /&gt;
&lt;br /&gt;
USG handles funding and reimbursements&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8023</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8023"/>
		<updated>2025-11-15T19:33:25Z</updated>

		<summary type="html">&lt;p&gt;Allennova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Detail about ism&#039;s and how to administrate/add media)&lt;br /&gt;
===Services===&lt;br /&gt;
&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
=====*arr=====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8022</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8022"/>
		<updated>2025-11-15T19:31:30Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &amp;lt;code&amp;gt;/salieri/jellyfin/import and is then&lt;br /&gt;
&lt;br /&gt;
(Detail about ism&#039;s and how to administrate/add media)&lt;br /&gt;
&lt;br /&gt;
===Services===&lt;br /&gt;
Services are based on this machine but may call remote machines (and therefore remote GPU&#039;s) for remote compute via rffmpeg (transcoding) or a OpenAI reverse proxy (LLM)&lt;br /&gt;
&lt;br /&gt;
====Jellyfin====&lt;br /&gt;
Jellyfin is installed to its default location (location) and is reverse proxied via nginx. Media is located in &amp;lt;code&amp;gt;/salieri/jellyfin/media&amp;lt;/code&amp;gt; with subfolders spanning into media types. Media inside this &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt; folder is managed/renamed by the *arr suite. &amp;lt;code&amp;gt;/salieri/jellyfin/imports&amp;lt;/code&amp;gt; is a holding directory for unsorted media. *arr has access to these folders as &amp;lt;code&amp;gt;/download/(subfolder)&amp;lt;/code&amp;gt; and can be sorted futher/moved into &amp;lt;code&amp;gt;../media&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
(add more jellyfin service detail)&lt;br /&gt;
&lt;br /&gt;
=====*arr=====&lt;br /&gt;
The *arr suite is running inside docker containers on maho as a single host. The compose file can be found at &amp;lt;code&amp;gt;/opt/podman/compose/arr/docker-compose.yaml&amp;lt;/code&amp;gt; and holds the *arr suite as a single service, allowing for one-liner updates/replaces.&lt;br /&gt;
&lt;br /&gt;
(Detail about *arr setup and how to change settings)&lt;br /&gt;
&lt;br /&gt;
====Language Models====&lt;br /&gt;
Small language models are to be hosted on the two separate GPU&#039;s via docker to allow different models running behind the reverse proxy. A user on LUG&#039;s Sillytavern (or any front end where an API can be called on) can then select what model to prompt.&lt;br /&gt;
&lt;br /&gt;
(Allen thing)&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8021</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8021"/>
		<updated>2025-11-15T19:14:50Z</updated>

		<summary type="html">&lt;p&gt;Allennova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
(Additional storage information)&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
Media is added to &lt;br /&gt;
&lt;br /&gt;
=== Services ===&lt;br /&gt;
&lt;br /&gt;
==== Jellyfin ====&lt;br /&gt;
&lt;br /&gt;
==== Language Models ====&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8020</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8020"/>
		<updated>2025-11-15T19:13:06Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Operating System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
Mirrors runs Debian 13.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
&lt;br /&gt;
=== Services ===&lt;br /&gt;
&lt;br /&gt;
==== Jellyfin ====&lt;br /&gt;
&lt;br /&gt;
==== Language Models ====&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8019</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8019"/>
		<updated>2025-11-15T19:11:52Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Maho is a standalone Dell R730 server (2.5&amp;quot; drive bay variant)&lt;br /&gt;
&lt;br /&gt;
Network daughter card has been swapped out for a Dell 165T0 Broadcom 57800S, a 2 port ethernet and 2 port SFP+ card.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
&lt;br /&gt;
=== Services ===&lt;br /&gt;
&lt;br /&gt;
==== Jellyfin ====&lt;br /&gt;
&lt;br /&gt;
==== Language Models ====&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8018</id>
		<title>Docs/Maho</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Maho&amp;diff=8018"/>
		<updated>2025-11-15T19:03:46Z</updated>

		<summary type="html">&lt;p&gt;Allennova: 0.1 Headers and structure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maho holds a number of Graphical Processing Units (GPUs) and services either transcoding video or running Large Language Models (LLM&#039;s).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
=== Maintenance ===&lt;br /&gt;
&lt;br /&gt;
=== Services ===&lt;br /&gt;
&lt;br /&gt;
==== Jellyfin ====&lt;br /&gt;
&lt;br /&gt;
==== Language Models ====&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=7953</id>
		<title>Docs/Switches</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=7953"/>
		<updated>2025-09-29T21:41:11Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* VLANs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Docs|&amp;lt;small&amp;gt;~/Docs&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 1 network details, see [[Docs/Cables]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 3 network details, see [[Docs/OPNsense|Docs/OPNSense]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLANs ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Network&lt;br /&gt;
!VLAN ID&lt;br /&gt;
|-&lt;br /&gt;
|Management&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|LAN&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|kubernetes&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|WAN&lt;br /&gt;
|640&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Switch Ports ==&lt;br /&gt;
Fiber switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 30 (???)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Watch&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ravioli&lt;br /&gt;
|ix1 (left SFP)&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|lasagna&lt;br /&gt;
|&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 45&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 46&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 47&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 48&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|}&lt;br /&gt;
Ethernet switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 30 (???)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Lasagna&lt;br /&gt;
|bge0&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Ravioli?&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Lasagna&lt;br /&gt;
|igb3&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 13&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 14&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 15&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 16&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|MTU UP 1&lt;br /&gt;
|MTU&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|MTU UP 2&lt;br /&gt;
|MTU&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Tagged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WAN ===&lt;br /&gt;
Our WAN is a LAGG across two ports. The link needs &#039;&#039;&#039;LACP enabled&#039;&#039;&#039; (&amp;quot;Static mode&amp;quot; &#039;&#039;&#039;off&#039;&#039;&#039; in 1Gb Ubiquiti Switch) [https://www.reddit.com/r/Ubiquiti/comments/7xs70n/lag_dynamic_vs_static/duauolg/], and &#039;&#039;&#039;STP off&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IT configures their switches to automatically shut off ports if they detect STP advertisements.&lt;br /&gt;
&lt;br /&gt;
Reference commands to make a Cisco switch satisfy the requirements:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(config-if)# spanning-tree bpdufilter enable&lt;br /&gt;
(config-if)# spanning-tree bpduguard disable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=7952</id>
		<title>Docs/Switches</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=7952"/>
		<updated>2025-09-29T21:40:46Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Switch Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Docs|&amp;lt;small&amp;gt;~/Docs&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 1 network details, see [[Docs/Cables]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 3 network details, see [[Docs/OPNsense|Docs/OPNSense]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLANs ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Network&lt;br /&gt;
!VLAN ID&lt;br /&gt;
|-&lt;br /&gt;
|Management&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|LAN&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|????&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|WAN&lt;br /&gt;
|640&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Switch Ports ==&lt;br /&gt;
Fiber switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 30 (???)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Watch&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ravioli&lt;br /&gt;
|ix1 (left SFP)&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|lasagna&lt;br /&gt;
|&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 45&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 46&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 47&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 48&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|}&lt;br /&gt;
Ethernet switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 30 (???)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Lasagna&lt;br /&gt;
|bge0&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Ravioli?&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Lasagna&lt;br /&gt;
|igb3&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 13&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 14&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 15&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|12 port&lt;br /&gt;
|Port 16&lt;br /&gt;
|Untagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|MTU UP 1&lt;br /&gt;
|MTU&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Tagged&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|MTU UP 2&lt;br /&gt;
|MTU&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|Tagged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WAN ===&lt;br /&gt;
Our WAN is a LAGG across two ports. The link needs &#039;&#039;&#039;LACP enabled&#039;&#039;&#039; (&amp;quot;Static mode&amp;quot; &#039;&#039;&#039;off&#039;&#039;&#039; in 1Gb Ubiquiti Switch) [https://www.reddit.com/r/Ubiquiti/comments/7xs70n/lag_dynamic_vs_static/duauolg/], and &#039;&#039;&#039;STP off&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IT configures their switches to automatically shut off ports if they detect STP advertisements.&lt;br /&gt;
&lt;br /&gt;
Reference commands to make a Cisco switch satisfy the requirements:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(config-if)# spanning-tree bpdufilter enable&lt;br /&gt;
(config-if)# spanning-tree bpduguard disable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=7951</id>
		<title>Docs/Switches</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docs/Switches&amp;diff=7951"/>
		<updated>2025-09-29T21:25:46Z</updated>

		<summary type="html">&lt;p&gt;Allennova: /* Switch Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Docs|&amp;lt;small&amp;gt;~/Docs&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 1 network details, see [[Docs/Cables]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Layer 3 network details, see [[Docs/OPNsense|Docs/OPNSense]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLANs ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Network&lt;br /&gt;
!VLAN ID&lt;br /&gt;
|-&lt;br /&gt;
|Management&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|LAN&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|????&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|WAN&lt;br /&gt;
|640&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Switch Ports ==&lt;br /&gt;
Fiber switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Switch port&lt;br /&gt;
!Client&lt;br /&gt;
!Client port&lt;br /&gt;
!VLAN 1 (Mgmt.)&lt;br /&gt;
!VLAN 2 (LAN)&lt;br /&gt;
!VLAN 30 (???)&lt;br /&gt;
!VLAN 640 (WAN)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shell&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Storage&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Mirrors&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Kurisu&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Okabe&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Daru&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Mayuri&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Luka&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Watch&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|Excluded&lt;br /&gt;
|Untagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ravioli&lt;br /&gt;
|ix1 (left SFP)&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|lasagna&lt;br /&gt;
|&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 45&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 46&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 47&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|48 Port&lt;br /&gt;
|Port 48&lt;br /&gt;
|Tagged&lt;br /&gt;
|Tagged&lt;br /&gt;
|Excluded&lt;br /&gt;
|Excluded&lt;br /&gt;
|}&lt;br /&gt;
Ethernet switch:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WAN ===&lt;br /&gt;
Our WAN is a LAGG across two ports. The link needs &#039;&#039;&#039;LACP enabled&#039;&#039;&#039; (&amp;quot;Static mode&amp;quot; &#039;&#039;&#039;off&#039;&#039;&#039; in 1Gb Ubiquiti Switch) [https://www.reddit.com/r/Ubiquiti/comments/7xs70n/lag_dynamic_vs_static/duauolg/], and &#039;&#039;&#039;STP off&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IT configures their switches to automatically shut off ports if they detect STP advertisements.&lt;br /&gt;
&lt;br /&gt;
Reference commands to make a Cisco switch satisfy the requirements:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(config-if)# spanning-tree bpdufilter enable&lt;br /&gt;
(config-if)# spanning-tree bpduguard disable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Large_language_models&amp;diff=7575</id>
		<title>Large language models</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Large_language_models&amp;diff=7575"/>
		<updated>2024-07-29T01:12:59Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Initial page, bad outline but im claiming the page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Large language models can be used to generate text from a simple prompt. This can be expanded to system prompts and instructions to make a model generate followup text endlessly no matter the situation.&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7574</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7574"/>
		<updated>2024-07-28T23:05:10Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Added NAS stuff, cleanup.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Docker is a container solution for any operating system. Docker containers can run as a user, allowing for rootful and rootless containers, allowing for more security. &lt;br /&gt;
&lt;br /&gt;
== Concepts: ==&lt;br /&gt;
Images - A built software on top of a slim operating system, made into a prebuilt image ready for download&lt;br /&gt;
&lt;br /&gt;
Containers - running images configured with system storage volumes, environment variables, tags and an image (with an optional version)&lt;br /&gt;
&lt;br /&gt;
Volumes - internal storage passed through from host machine files and folders.&lt;br /&gt;
&lt;br /&gt;
Environment variables - static settings for the container.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Debian 12 install:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
sudo apt-get install docker docker-compose&lt;br /&gt;
sudo systemctl enable docker&lt;br /&gt;
sudo systemctl start docker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Fully update the system, install docker and docker compose and enable related services.&lt;br /&gt;
&lt;br /&gt;
== Common Docker Commands: ==&lt;br /&gt;
Keep in mind what permission level you are running containers in. Rootful containers will need sudo level permissions.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker --help&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Lists docker&#039;s commands and syntax.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker container --help&lt;br /&gt;
docker container ls&lt;br /&gt;
docker container ls -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Specifies we are working with containers, --help lists every action. ls lists all containers the user is running. -a lists all containers for the user.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker container stop (container_name)&lt;br /&gt;
docker container restart (container_name)&lt;br /&gt;
docker container kill (container_name)&lt;br /&gt;
docker container logs (container_name)&lt;br /&gt;
docker container rm -f (container_name)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Stop, restart, and kill a container. Logs prints the logs in terminal. rm deletes the container from docker, -f force removing.  &lt;br /&gt;
&lt;br /&gt;
== Docker Compose: ==&lt;br /&gt;
Compose simplifies docker down to files instead of commands, allows for full stacks to be built in a single file. Docker can then pull all images specified and build the container accordingly with one command.&lt;br /&gt;
&lt;br /&gt;
Regular docker command:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sudo is ran as the Portainer container is privileged as it binds to docker.sock . -d runs the container in the background, -p specifies a port, --restart defines the restart policy, see above. -v defines a volume, can also define a file to be passed in. The image is defined at the end.&lt;br /&gt;
&lt;br /&gt;
Create a folder for Portainer to live in ~/Portainer and create docker-compose.yaml:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir Portainer&lt;br /&gt;
cd Portainer&lt;br /&gt;
touch docker-compose.yaml&lt;br /&gt;
nano docker-compose.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  portainer:&lt;br /&gt;
    image: portainer/portainer-ce:latest&lt;br /&gt;
    container_name: portainer&lt;br /&gt;
    volumes:&lt;br /&gt;
      - /var/run/docker.sock:/var/run/docker.sock&lt;br /&gt;
      - /Path/To/portainer_data:/data&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8000:8000&lt;br /&gt;
      - 9443:9443&lt;br /&gt;
    restart: always&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Pull the listed images from docker&#039;s repositories and run the services listed: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker-compose pull&lt;br /&gt;
sudo docker-compose up -d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sudo is used here as Portainer binds to docker.sock. -d runs the compose container(s) in the background.&lt;br /&gt;
&lt;br /&gt;
== Common NAS stack inside docker example ==&lt;br /&gt;
Docker compose will be used, all containers (that are separate services, databases and libraries excluded) will be in separate docker-compose.yaml files.&lt;br /&gt;
&lt;br /&gt;
Docker will expose host ports listed to all interfaces by default, you can bind via the following:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-p 127.0.0.1:80:80&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
ports:&lt;br /&gt;
  - 127.0.0.1:80:80&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;We will be installing the following:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/qdm12/gluetun Gluetun] - VPN client. Supports providers, openvpn, wireguard, DNS over TLS, etc.&lt;br /&gt;
&lt;br /&gt;
[https://deluge-torrent.org/ Deluge] - Torrent client, subsitiute with any.&lt;br /&gt;
&lt;br /&gt;
[https://sonarr.tv/ Sonarr] - TV/Anime organizer. Sorts, requests, renames and tells plex when media is imported.&lt;br /&gt;
&lt;br /&gt;
[https://radarr.video/ Radarr] - Movie organizer. Sorts, requests, renames and tells plex when media is imported.&lt;br /&gt;
&lt;br /&gt;
[https://prowlarr.com/ Prowlarr] - One stop shop for indexers. *arr requests torrents from this. (Alternitive: [https://github.com/Jackett/Jackett Jackett])&lt;br /&gt;
&lt;br /&gt;
[https://www.plex.tv/ Plex] - Serve the media we grab.&lt;br /&gt;
&lt;br /&gt;
Every service will be in its own docker-compose.yaml file, and in its own folder. All docker folders will be contained in /opt/.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
sudo apt-get install docker docker-compose&lt;br /&gt;
sudo systemctl start docker &amp;amp;&amp;amp; sudo systemctl enable docker&lt;br /&gt;
sudo mkdir /opt/docker&lt;br /&gt;
cd /opt/docker&lt;br /&gt;
sudo mkdir gluetun deluge sonarr radarr prowlarr plex&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Update the system, install and enable docker/docker compose, create a docker folder in opt and subfolders for every service.&lt;br /&gt;
&lt;br /&gt;
== Plex ==&lt;br /&gt;
https://github.com/plexinc/pms-docker&lt;br /&gt;
&lt;br /&gt;
Plex&#039;s official docker page does not have compose files, so ill hand convert the host networking command:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d --name plex --network=host -e TZ=&amp;quot;&amp;lt;timezone&amp;gt;&amp;quot; -e PLEX_CLAIM=&amp;quot;&amp;lt;claimToken&amp;gt;&amp;quot; -v &amp;lt;path/to/plex/database&amp;gt;:/config -v &amp;lt;path/to/transcode/temp&amp;gt;:/transcode -v &amp;lt;path/to/media&amp;gt;:/data plexinc/pms-docker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  plex:&lt;br /&gt;
    image: plexinc/pms-docker&lt;br /&gt;
    container_name: plex&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    environment:&lt;br /&gt;
      - TZ=America/Detroit&lt;br /&gt;
      - PLEX_CLAIM=&amp;quot;&amp;lt;claimToken&amp;gt;&amp;quot;&lt;br /&gt;
    volumes:&lt;br /&gt;
      ~/database:/config&lt;br /&gt;
      ~/temp:/transcode &lt;br /&gt;
      :/media:/data&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gluetun ==&lt;br /&gt;
&lt;br /&gt;
== Deluge ==&lt;br /&gt;
&lt;br /&gt;
== Prowlarr ==&lt;br /&gt;
&lt;br /&gt;
== Sonarr ==&lt;br /&gt;
&lt;br /&gt;
== Radarr ==&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7573</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7573"/>
		<updated>2024-07-28T20:43:47Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Docker is a container solution for any operating system. Docker containers can run as a user, allowing for rootful and rootless containers, allowing for more security. &lt;br /&gt;
&lt;br /&gt;
== Concepts: ==&lt;br /&gt;
Images - A built software on top of a slim operating system, made into a prebuilt image ready for download&lt;br /&gt;
&lt;br /&gt;
Containers - running images configured with system storage volumes, environment variables, tags and an image (with an optional version)&lt;br /&gt;
&lt;br /&gt;
Volumes - internal storage passed through from host machine files and folders.&lt;br /&gt;
&lt;br /&gt;
Environment variables - static settings for the container.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Debian 12 install:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
sudo apt-get install docker docker-compose&lt;br /&gt;
sudo systemctl enable docker&lt;br /&gt;
sudo systemctl start docker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Fully update the system, install docker and docker compose and enable related services.&lt;br /&gt;
&lt;br /&gt;
== Common Docker Commands: ==&lt;br /&gt;
Keep in mind what permission level you are running containers in. Rootful containers will need sudo level permissions.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker --help&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Lists docker&#039;s commands and syntax.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker container --help&lt;br /&gt;
docker container ls&lt;br /&gt;
docker container ls -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Specifies we are working with containers, --help lists every action. ls lists all containers the user is running. -a lists all containers for the user.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker container stop (container_name)&lt;br /&gt;
docker container restart (container_name)&lt;br /&gt;
docker container kill (container_name)&lt;br /&gt;
docker container logs (container_name)&lt;br /&gt;
docker container rm -f (container_name)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Stop, restart, and kill a container. Logs prints the logs in terminal. rm deletes the container from docker, -f force removing.  &lt;br /&gt;
&lt;br /&gt;
== Docker Compose: ==&lt;br /&gt;
Compose simplifies docker down to files instead of commands, allows for full stacks to be built in a single file. Docker can then pull all images specified and build the container accordingly with one command.&lt;br /&gt;
&lt;br /&gt;
Regular docker command:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sudo is ran as the Portainer container is privileged as it binds to docker.sock . -d runs the container in the background, -p specifies a port, --restart defines the restart policy, see above. -v defines a volume, can also define a file to be passed in. The image is defined at the end.&lt;br /&gt;
&lt;br /&gt;
Create a folder for Portainer to live in ~/Portainer and create docker-compose.yaml:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir Portainer&lt;br /&gt;
cd Portainer&lt;br /&gt;
touch docker-compose.yaml&lt;br /&gt;
nano docker-compose.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  portainer:&lt;br /&gt;
    image: portainer/portainer-ce:latest&lt;br /&gt;
    container_name: portainer&lt;br /&gt;
    volumes:&lt;br /&gt;
      - /var/run/docker.sock:/var/run/docker.sock&lt;br /&gt;
      - /Path/To/portainer_data:/data&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8000:8000&lt;br /&gt;
      - 9443:9443&lt;br /&gt;
    restart: always&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Pull the listed images from docker&#039;s repositories and run the services listed: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker-compose pull&lt;br /&gt;
sudo docker-compose up -d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sudo is used here as Portainer binds to docker.sock. -d runs the compose container(s) in the background.&lt;br /&gt;
&lt;br /&gt;
== Common NAS stack inside docker example ==&lt;br /&gt;
Docker compose will be used, all containers (that are separate services, databases and libraries excluded) will be in separate docker-compose.yaml files.&lt;br /&gt;
&lt;br /&gt;
Docker will expose host ports&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7572</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7572"/>
		<updated>2024-07-28T04:58:49Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Reworked page for more legible scribbles then before.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Docker is a container solution for any operating system. Docker containers can run as a user, allowing for rootful and rootless containers, allowing for more security. &lt;br /&gt;
&lt;br /&gt;
== Concepts: ==&lt;br /&gt;
Images - A built software on top of a slim operating system, made into a prebuilt image ready for download&lt;br /&gt;
&lt;br /&gt;
Containers - running images configured with system storage volumes, environment variables, tags and an image (with an optional version)&lt;br /&gt;
&lt;br /&gt;
Volumes - internal storage passed through from host machine files and folders.&lt;br /&gt;
&lt;br /&gt;
Environment variables - static settings for the container.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Debian 12 install:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
sudo apt-get install docker docker-compose&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common Docker Commands: ==&lt;br /&gt;
Keep in mind what permission level you are running containers in. Rootful containers will need sudo level permissions.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker --help&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Lists docker&#039;s commands and syntax.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker container --help&lt;br /&gt;
docker container ls&lt;br /&gt;
docker container ls -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Specifies we are working with containers, --help lists every action. ls lists all containers the user is running. -a lists all containers for the user.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker container stop (container_name)&lt;br /&gt;
docker container restart (container_name)&lt;br /&gt;
docker container kill (container_name)&lt;br /&gt;
docker container logs (container_name)&lt;br /&gt;
docker container rm -f (container_name)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Stop, restart, and kill a container. Logs prints the logs in terminal. rm deletes the container from docker, -f force removing.  &lt;br /&gt;
&lt;br /&gt;
== Docker Compose: ==&lt;br /&gt;
Compose simplifies docker down to files instead of commands, allows for full stacks to be built in a single file. Docker can then pull all images specified and build the container accordingly with one command.&lt;br /&gt;
&lt;br /&gt;
Regular docker command:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sudo is ran as the Portainer container is privileged as it binds to docker.sock . -d runs the container in the background, -p specifies a port, --restart defines the restart policy, see above. -v defines a volume, can also define a file to be passed in. The image is defined at the end.&lt;br /&gt;
&lt;br /&gt;
Create a folder for Portainer to live in ~/Portainer and create docker-compose.yaml:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir Portainer&lt;br /&gt;
cd Portainer&lt;br /&gt;
touch docker-compose.yaml&lt;br /&gt;
nano docker-compose.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  portainer:&lt;br /&gt;
    image: portainer/portainer-ce:latest&lt;br /&gt;
    container_name: portainer&lt;br /&gt;
    volumes:&lt;br /&gt;
      - /var/run/docker.sock:/var/run/docker.sock&lt;br /&gt;
      - /Path/To/portainer_data:/data&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8000:8000&lt;br /&gt;
      - 9443:9443&lt;br /&gt;
    restart: always&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Pull the listed images from docker&#039;s repositories and run the services listed: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker-compose pull&lt;br /&gt;
sudo docker-compose up -d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sudo is used here as Portainer binds to docker.sock. -d runs the compose container(s) in the background.&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7571</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7571"/>
		<updated>2024-07-28T04:19:45Z</updated>

		<summary type="html">&lt;p&gt;Allennova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Docker is a container solution for any operating system. Docker containers can run as a user, allowing for rootful and rootless containers, allowing for more security. &lt;br /&gt;
&lt;br /&gt;
Concepts:&lt;br /&gt;
Images - A built software on top of a slim operating system, made into a prebuilt image ready for download&lt;br /&gt;
&lt;br /&gt;
Containers - running images configured with system storage volumes, environment variables, tags and an image (with an optional version)&lt;br /&gt;
&lt;br /&gt;
Volumes - internal storage passed through from host machine files and folders.&lt;br /&gt;
&lt;br /&gt;
Environment variables - static settings for the container.&lt;br /&gt;
&lt;br /&gt;
Debian 12 installation:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install docker docker-compose&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Common Docker Commands:&lt;br /&gt;
&lt;br /&gt;
Keep in mind what permission level you are running containers in. Rootful containers will need sudo level permissions.&lt;br /&gt;
&lt;br /&gt;
docker container --help&lt;br /&gt;
&lt;br /&gt;
docker container ls&lt;br /&gt;
&lt;br /&gt;
docker container kill&lt;br /&gt;
&lt;br /&gt;
docker container logs &lt;br /&gt;
&lt;br /&gt;
Docker Compose:&lt;br /&gt;
&lt;br /&gt;
simplifies docker down to files instead of commands, allows for full stacks to be built in a single file. Docker can then pull all images specified and build the container accordingly with one command.&lt;br /&gt;
&lt;br /&gt;
regular docker command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
docker compose:&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
	<entry>
		<id>https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7570</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://lug.mtu.edu/w/index.php?title=Docker&amp;diff=7570"/>
		<updated>2024-07-27T23:13:32Z</updated>

		<summary type="html">&lt;p&gt;Allennova: Created page with &amp;quot;Docker is a container solution for any operating system. Docker containers can run as a user, allowing for rootful and rootless containers, allowing for more security.   Concepts: Images - A built software on top of a slim operating system, made into a prebuilt image ready for download  Containers - running images configured with system storage volumes, environment variables, tags and an image (with an optional version)  Volumes -   Environment variables -   Debian 12 in...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Docker is a container solution for any operating system. Docker containers can run as a user, allowing for rootful and rootless containers, allowing for more security. &lt;br /&gt;
&lt;br /&gt;
Concepts:&lt;br /&gt;
Images - A built software on top of a slim operating system, made into a prebuilt image ready for download&lt;br /&gt;
&lt;br /&gt;
Containers - running images configured with system storage volumes, environment variables, tags and an image (with an optional version)&lt;br /&gt;
&lt;br /&gt;
Volumes - &lt;br /&gt;
&lt;br /&gt;
Environment variables - &lt;br /&gt;
&lt;br /&gt;
Debian 12 installation:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install docker docker-compose&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Common Docker Commands:&lt;br /&gt;
&lt;br /&gt;
Keep in mind what permission level you are running containers in. Rootful containers will need sudo level permissions.&lt;br /&gt;
&lt;br /&gt;
docker container --help&lt;br /&gt;
&lt;br /&gt;
docker container ls&lt;br /&gt;
&lt;br /&gt;
docker container kill&lt;br /&gt;
&lt;br /&gt;
docker container logs &lt;br /&gt;
&lt;br /&gt;
Docker Compose:&lt;br /&gt;
&lt;br /&gt;
simplifies docker down to files instead of commands, allows for full stacks to be built in a single file. Docker can then pull all images specified and build the container accordingly with one command.&lt;/div&gt;</summary>
		<author><name>Allennova</name></author>
	</entry>
</feed>