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

<channel>
	<title>Eric Cheng &#8211; Eric Cheng&#8217;s Home page</title>
	<atom:link href="https://techhkg.com/author/ericcheng201168/feed/" rel="self" type="application/rss+xml" />
	<link>https://techhkg.com</link>
	<description></description>
	<lastBuildDate>Sun, 28 Jan 2024 04:51:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Select and Configure 100G NIC (Mellanox ConnectX-4) for ESXI 8.0 Update 2 and True NAS 23.10.1</title>
		<link>https://techhkg.com/2024/01/28/select-and-configure-100g-nic-mellanox-connectx-4-for-esxi-8-0-update-2-and-true-nas-23-10-1/</link>
					<comments>https://techhkg.com/2024/01/28/select-and-configure-100g-nic-mellanox-connectx-4-for-esxi-8-0-update-2-and-true-nas-23-10-1/#respond</comments>
		
		<dc:creator><![CDATA[Eric Cheng]]></dc:creator>
		<pubDate>Sun, 28 Jan 2024 04:33:11 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[100G Network]]></category>
		<category><![CDATA[ESXI]]></category>
		<category><![CDATA[Mellanox]]></category>
		<category><![CDATA[TrueNAS]]></category>
		<guid isPermaLink="false">https://techhkg.com/?p=13389</guid>

					<description><![CDATA[I am making a huge upgrade to my home lab and faced a trouble when dealing with second-hand NIC. I am. going to share my experience on NIC for this upgrade project. 1. Choosing NIC First of all, we have to know what we need Support ESXI 8.0 Update 2 Support True NAS 23.x.x  [...]]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1216.8px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-1"><p>I am making a huge upgrade to my home lab and faced a trouble when dealing with second-hand NIC. I am. going to share my experience on NIC for this upgrade project.</p>
<h2>1. Choosing NIC</h2>
<p>First of all, we have to know what we need</p>
<ul>
<li>Support ESXI 8.0 Update 2</li>
<li>Support True NAS 23.x.x</li>
<li>100 Gigabit Ethernet (as we have 20+ 4TB SSD on the NAS and high IO performance for applications we hosted in VMs)</li>
<li>Cheap (My fault, I am not rich enough XD)</li>
</ul>
<p>Finally, I chose 4 x Mellanox ConnectX-4 MCX455A ECAT and 1 x Mellanox ConnectX-4 MCX456A ECAT, then purchase second-hand from Taobao.</p>
<p>Those second NICs in Taobao are disused from data centre.  They are all in good condition, it just reached the time to replace new hardware in data centre to ensure stability of their servers. Usually we can get hardware 2-3 generation ago. For this time, the latest Mellanox NIC is ConnectX-7, we go ConnectX-4 for my home lab.</p>
<p><img decoding="async" class="aligncenter wp-image-13415" src="https://techhkg.com/wp-content/uploads/2024/01/NIC_Mellanon_455A-scaled.jpg" alt="" width="800" height="600" srcset="https://techhkg.com/wp-content/uploads/2024/01/NIC_Mellanon_455A-300x225.jpg 300w, https://techhkg.com/wp-content/uploads/2024/01/NIC_Mellanon_455A-scaled.jpg 2560w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<h2>2. Additional Cables and Optical Transceiver</h2>
<p>Apart from NIC, we also need cables and optical transceiver to make our 100G ESXI to TrueNAS connection work as expected.</p>
<ul>
<li>Cable &#8211; MPO to MPO 12 OM4</li>
<li>Optical Transceiver &#8211; MMA1B00-C100D 100G MPO</li>
</ul>
</div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-1 hover-type-none" style="border-radius:5px;"><img fetchpriority="high" decoding="async" width="2560" height="1920" title="fibre" src="https://techhkg.com/wp-content/uploads/2024/01/fibre-scaled.jpg" alt class="img-responsive wp-image-13416" srcset="https://techhkg.com/wp-content/uploads/2024/01/fibre-300x225.jpg 300w, https://techhkg.com/wp-content/uploads/2024/01/fibre-scaled.jpg 2560w" sizes="(max-width: 2560px) 100vw, 2560px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-1 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-2 hover-type-none" style="border-radius:5px;"><img decoding="async" width="2560" height="1920" title="optical_transceiver" src="https://techhkg.com/wp-content/uploads/2024/01/optical_transceiver-scaled.jpg" alt class="img-responsive wp-image-13417" srcset="https://techhkg.com/wp-content/uploads/2024/01/optical_transceiver-300x225.jpg 300w, https://techhkg.com/wp-content/uploads/2024/01/optical_transceiver-scaled.jpg 2560w" sizes="(max-width: 2560px) 100vw, 2560px" /></span></div></div></div></div><div class="fusion-text fusion-text-2"><h2>3. Switch from InfiniBand to Ethernet in Mellanox NIC</h2>
<p>All second-hand Mellanox ConnectX-4 NICs I got are in Infiniband mode, which is not supported by both ESXI host (supported inside VM) and TrueNAS. We have to switch all of them to Ethernet mode.</p>
<p>For this action, I would suggest you to plug all of them to an ubuntu server to change the configuration of NIC and update the firmware in next section. Although we can do it in ESXI, but trust me, doing this in Ubuntu server will save you a lot of time.</p>
<p>Install MST to the Ubuntu Server first</p>
</div><script src="https://gist.github.com/ericcheng201168/c5ab4830c4e2204d6ba00b00ce45b9de.js"></script><div class="fusion-image-element " style="text-align:center;--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-3 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1024" height="350" title="mst_status" src="https://techhkg.com/wp-content/uploads/2024/01/mst_status-1024x350.png" alt class="img-responsive wp-image-13403" srcset="https://techhkg.com/wp-content/uploads/2024/01/mst_status-200x68.png 200w, https://techhkg.com/wp-content/uploads/2024/01/mst_status-400x137.png 400w, https://techhkg.com/wp-content/uploads/2024/01/mst_status-600x205.png 600w, https://techhkg.com/wp-content/uploads/2024/01/mst_status-800x273.png 800w, https://techhkg.com/wp-content/uploads/2024/01/mst_status-1200x410.png 1200w, https://techhkg.com/wp-content/uploads/2024/01/mst_status.png 1570w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-image-element " style="text-align:center;--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-4 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1024" height="418" title="mst_change_config" src="https://techhkg.com/wp-content/uploads/2024/01/mst_change_config-1024x418.png" alt class="img-responsive wp-image-13402" srcset="https://techhkg.com/wp-content/uploads/2024/01/mst_change_config-200x82.png 200w, https://techhkg.com/wp-content/uploads/2024/01/mst_change_config-400x163.png 400w, https://techhkg.com/wp-content/uploads/2024/01/mst_change_config-600x245.png 600w, https://techhkg.com/wp-content/uploads/2024/01/mst_change_config-800x327.png 800w, https://techhkg.com/wp-content/uploads/2024/01/mst_change_config.png 1058w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1024px" /></span></div><div class="fusion-text fusion-text-3"><h2>4. Upgrade Mellanox ConnectX-4 firmware</h2>
<p>Old firmware is not supported by ESXI 8.0 Update 2, we have to upgrade to the latest firmware.</p>
<p>There is a big trap when I am upgrading the firmware. Even the model is MCX455A and I found the latest firmware in Mellanox site, I cannot flash official firmware to OEM NIC. We have to check the board_id for the NIC, then find the OEM partner and download OEM version firmware from their site.</p>
<p>For my case, all NIC I purchased are came from Fujitsu server. I have to find firmware in their site.</p>
<p>https://support.ts.fujitsu.com/IndexDownload.asp?lng=PT</p>
</div><script src="https://gist.github.com/ericcheng201168/52ce1422e4b8a2ed48cf66bdc8ee13c2.js"></script><div class="fusion-image-element " style="text-align:center;--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-5 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1024" height="139" title="nic_board_id" src="https://techhkg.com/wp-content/uploads/2024/01/nic_board_id-1024x139.png" alt class="img-responsive wp-image-13406" srcset="https://techhkg.com/wp-content/uploads/2024/01/nic_board_id-200x27.png 200w, https://techhkg.com/wp-content/uploads/2024/01/nic_board_id-400x54.png 400w, https://techhkg.com/wp-content/uploads/2024/01/nic_board_id-600x81.png 600w, https://techhkg.com/wp-content/uploads/2024/01/nic_board_id-800x109.png 800w, https://techhkg.com/wp-content/uploads/2024/01/nic_board_id.png 1178w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1024px" /></span></div><script src="https://gist.github.com/ericcheng201168/723a1f4be12e09740e8277f2dbf47062.js"></script><div class="fusion-image-element " style="text-align:center;--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-6 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1024" height="138" title="flash_nic_firmware" src="https://techhkg.com/wp-content/uploads/2024/01/flash_nic_firmware-1024x138.png" alt class="img-responsive wp-image-13407" srcset="https://techhkg.com/wp-content/uploads/2024/01/flash_nic_firmware-200x27.png 200w, https://techhkg.com/wp-content/uploads/2024/01/flash_nic_firmware-400x54.png 400w, https://techhkg.com/wp-content/uploads/2024/01/flash_nic_firmware-600x81.png 600w, https://techhkg.com/wp-content/uploads/2024/01/flash_nic_firmware-800x107.png 800w, https://techhkg.com/wp-content/uploads/2024/01/flash_nic_firmware-1200x161.png 1200w, https://techhkg.com/wp-content/uploads/2024/01/flash_nic_firmware.png 1742w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-4"><p>Finally, I hope that I will have time to share more details on my home lab upgrade as it was really fun and challenging.</p>
</div></div></div></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://techhkg.com/2024/01/28/select-and-configure-100g-nic-mellanox-connectx-4-for-esxi-8-0-update-2-and-true-nas-23-10-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Auto backup your Minecraft Server</title>
		<link>https://techhkg.com/2020/11/27/auto-backup-your-minecraft-server/</link>
					<comments>https://techhkg.com/2020/11/27/auto-backup-your-minecraft-server/#respond</comments>
		
		<dc:creator><![CDATA[Eric Cheng]]></dc:creator>
		<pubDate>Thu, 26 Nov 2020 19:00:22 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">https://techhkg.com/?p=13335</guid>

					<description><![CDATA[This tutorial is going to show you how to use crontab to backup your Mincraft server data to Dropbox automatically. If you would like to see how to setup a minecraft server on Raspberry Pi 4, you can go to part 1 here.  Prepare Dropbox  Create a Dropbox account first. Then create  [...]]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1216.8px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-5"><p>This tutorial is going to show you how to use crontab to backup your Mincraft server data to Dropbox automatically.</p>
<p>If you would like to see how to setup a minecraft server on Raspberry Pi 4, you can go to part 1 <a title="Low Cost Minecraft server on Raspberry Pi 4" href="https://techhkg.com/2020/11/26/low-cost-minecraft-server-on-raspberry-pi-4/">here</a>.</p>
</div><div class="fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Prepare Dropbox</h1></div><div class="fusion-text fusion-text-6"><p class="p1">Create a Dropbox account first.</p>
<p>Then create a Dropbox app from the link below</p>
<p class="p2"><a href="https://www.dropbox.com/developers/apps/create">https://www.dropbox.com/developers/apps/create</a></p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-7 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3358" height="2072" title="Screenshot 2020-11-26 at 10.50.27 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-10.50.27-PM.png" alt class="img-responsive wp-image-13337" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-10.50.27-PM-300x185.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-10.50.27-PM.png 3358w" sizes="(max-width: 3358px) 100vw, 3358px" /></span></div><div class="fusion-text fusion-text-7"><p>You need to get the access token and update permission settings after you created the app.</p>
<p class="p1">Select “No expiration” for Access toke expiration and click &#8220;Generate&#8221; to generate the access token for you app.</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-8 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" title="Screenshot 2020-11-26 at 10.53.15 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-10.53.15-PM.png" alt class="img-responsive wp-image-13339" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-10.53.15-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-10.53.15-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-text fusion-text-8"><p class="p1">Save your access token to somewhere, we need it later</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-9 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" title="Screenshot 2020-11-26 at 11.03.04 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.03.04-PM.png" alt class="img-responsive wp-image-13340" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.03.04-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.03.04-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-text fusion-text-9"><p class="p1">Switch to permission tab</p>
<p class="p1">Then check “files.metadata.write” and “files.content.write”.</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-10 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" title="Screenshot 2020-11-26 at 11.06.53 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.06.53-PM.png" alt class="img-responsive wp-image-13341" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.06.53-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.06.53-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-text fusion-text-10"><p class="p1">Click submit to save all changes.</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-11 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" title="Screenshot 2020-11-26 at 11.09.08 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.09.08-PM.png" alt class="img-responsive wp-image-13342" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.09.08-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.09.08-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Create Cron Job to upload Minecraft server data periodically</h1></div><div class="fusion-text fusion-text-11"><p class="p1">Log on to Portainer we created in part 1.</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-12 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" title="Screenshot 2020-11-26 at 11.20.04 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.20.04-PM.png" alt class="img-responsive wp-image-13348" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.20.04-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.20.04-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-text fusion-text-12"><p>Click Volume —&gt; Console icon —&gt; Connect</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-13 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1681" height="1061" title="Screenshot 2020-11-26 at 11.22.56 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.22.56-PM.png" alt class="img-responsive wp-image-13343" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.22.56-PM-200x126.png 200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.22.56-PM-400x252.png 400w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.22.56-PM-600x379.png 600w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.22.56-PM-800x505.png 800w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.22.56-PM-1200x757.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.22.56-PM.png 1681w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-13"><p class="p1">You can access your Minecraft server’s container now.</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-14 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1683" height="1052" title="Screenshot 2020-11-26 at 11.41.02 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.41.02-PM.png" alt class="img-responsive wp-image-13344" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.41.02-PM-200x125.png 200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.41.02-PM-400x250.png 400w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.41.02-PM-600x375.png 600w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.41.02-PM-800x500.png 800w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.41.02-PM-1200x750.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.41.02-PM.png 1683w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-14"><p class="p1">Install zip tool</p>
</div><script src="https://gist.github.com/ericcheng201168/86d73795fca6b695912f0fc2a5431760.js"></script><div class="fusion-text fusion-text-15"><p class="p1">Open text editor and create file “auto_minecraft_backup.sh”.</p>
</div><script src="https://gist.github.com/ericcheng201168/926a12f115fce51005d859f0aa3b2a89.js"></script><div class="fusion-text fusion-text-16"><p class="p1">Copy these commands to the text editor and you have to replace the access token to yours.</p>
<p class="p1">Please also note that you need to keep “Bearer “ in Authorization</p>
</div><script src="https://gist.github.com/ericcheng201168/eb1af1c620608e2ee6814099dada66b1.js"></script><div class="fusion-text fusion-text-17"><p class="p1">Press Control + x, then enter “Y” to save the script file.</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-15 hover-type-none" style="border-radius:5px;"><img decoding="async" width="2802" height="1026" title="Screenshot 2020-11-26 at 11.57.32 PM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.57.32-PM.png" alt class="img-responsive wp-image-13345" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.57.32-PM-200x73.png 200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.57.32-PM-400x146.png 400w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.57.32-PM-600x220.png 600w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.57.32-PM-800x293.png 800w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.57.32-PM-1200x439.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-26-at-11.57.32-PM.png 2802w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-18"><p class="p1">You can test the script with the command below:</p>
</div><script src="https://gist.github.com/ericcheng201168/84f0d8a858cd96f1eac9575b3c16e944.js"></script><div class="fusion-text fusion-text-19"><p class="p1">If you can see the backup in your Dropbox, you can create a cron job to schedule run this script.</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-16 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1681" height="1051" title="Screenshot 2020-11-27 at 12.30.07 AM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-12.30.07-AM.png" alt class="img-responsive wp-image-13347" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-12.30.07-AM-200x125.png 200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-12.30.07-AM-400x250.png 400w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-12.30.07-AM-600x375.png 600w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-12.30.07-AM-800x500.png 800w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-12.30.07-AM-1200x750.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-12.30.07-AM.png 1681w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-20"><p class="p1">Open crontab config file</p>
</div><script src="https://gist.github.com/ericcheng201168/d64e9973673d6853bc13b0c0e53ade83.js"></script><div class="fusion-text fusion-text-21"><p class="p1">Insert this line to config file</p>
<p class="p1">It means run the script every day at 5 a.m.</p>
<p>The link below can help you to setup your own schedule for cron job.</p>
<p>https://crontab.guru/</p>
</div><script src="https://gist.github.com/ericcheng201168/851afa3aa5ac9d3b7a151441e78333f0.js"></script><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-17 hover-type-none" style="border-radius:5px;"><img decoding="async" width="2804" height="1022" title="Screenshot 2020-11-27 at 1.00.10 AM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-1.00.10-AM.png" alt class="img-responsive wp-image-13346" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-1.00.10-AM-200x73.png 200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-1.00.10-AM-400x146.png 400w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-1.00.10-AM-600x219.png 600w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-1.00.10-AM-800x292.png 800w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-1.00.10-AM-1200x437.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-27-at-1.00.10-AM.png 2804w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-22"><p class="p1">Press Control + x, then enter “Y” to save your setting.</p>
<p>Done!</p>
</div></div></div></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://techhkg.com/2020/11/27/auto-backup-your-minecraft-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Low Cost Minecraft server on Raspberry Pi 4</title>
		<link>https://techhkg.com/2020/11/26/low-cost-minecraft-server-on-raspberry-pi-4/</link>
					<comments>https://techhkg.com/2020/11/26/low-cost-minecraft-server-on-raspberry-pi-4/#respond</comments>
		
		<dc:creator><![CDATA[Eric Cheng]]></dc:creator>
		<pubDate>Wed, 25 Nov 2020 16:43:15 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">https://techhkg.com/?p=13284</guid>

					<description><![CDATA[This series of tutorials are going to show you how to build a low cost (~100USD ) Minecraft server on Raspberry pi 4 with web-based management tool and auto backup. Before we get started, we have to prepare some hardwares:  Items Recommendations Price (USD) Raspberry Pi 4B 8GB version (minecraft server is a  [...]]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1216.8px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-23"><p>This series of tutorials are going to show you how to build a low cost (~100USD ) Minecraft server on Raspberry pi 4 with web-based management tool and auto backup.</p>
<p>Before we get started, we have to prepare some hardwares:</p>
</div>
<div class="table-1">
<table width="100%">
<thead>
<tr>
<th align="left">Items</th>
<th align="left">Recommendations</th>
<th style="text-align: right;" align="left">Price (USD)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Raspberry Pi 4B</td>
<td align="left">8GB version (minecraft server is a memory cumsuming application)</td>
<td style="text-align: right;" align="left">80.00</td>
</tr>
<tr>
<td align="left">Micro SD card</td>
<td align="left">SanDisk Extreme Pro MicroSD 64GB</td>
<td style="text-align: right;" align="left">18.00</td>
</tr>
<tr>
<td align="left">Power supply</td>
<td align="left">5V/3A/Type C</td>
<td style="text-align: right;" align="left">3.50</td>
</tr>
<tr>
<td align="left">Lan cable</td>
<td align="left">N/A</td>
<td style="text-align: right;" align="left">2.00</td>
</tr>
<tr>
<td align="left">Total</td>
<td align="left">&#8211;</td>
<td style="text-align: right;" align="left">103.50</td>
</tr>
</tbody>
</table>
</div>
<div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-18 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1920" height="1439" title="Raspberry Pi 4" src="https://techhkg.com/wp-content/uploads/2020/11/IMG_5096.png" alt class="img-responsive wp-image-13288" srcset="https://techhkg.com/wp-content/uploads/2020/11/IMG_5096-200x150.png 200w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5096-400x300.png 400w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5096-600x450.png 600w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5096-800x600.png 800w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5096-1200x899.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5096.png 1920w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Install Ubuntu for Raspberry Pi 4B</h1></div><div class="fusion-text fusion-text-24"><p class="p1">Download Ubuntu for Raspberry 4</p>
<p class="p2"><a href="https://ubuntu.com/download/raspberry-pi">https://ubuntu.com/download/raspberry-pi</a></p>
<p class="p1">Download and install Etcher</p>
<p class="p2"><a href="https://www.balena.io/etcher/">https://www.balena.io/etcher/</a></p>
<p class="p1">Flash Ubuntu image to your micro SD card by Etcher</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-19 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1594" height="950" alt="Flash Ubuntu to micro SD card" title="Flash Ubuntu to micro SD card" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.30.01-AM.png" class="img-responsive wp-image-13297" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.30.01-AM-200x119.png 200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.30.01-AM-400x238.png 400w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.30.01-AM-600x358.png 600w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.30.01-AM-800x477.png 800w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.30.01-AM-1200x715.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.30.01-AM.png 1594w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-25"><p class="p1">Insert the micro SD card to your Pi, then connect your lan cable and power supply to it</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-20 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1920" height="1439" alt="Started Raspberry Pi" title="Started Raspberry Pi" src="https://techhkg.com/wp-content/uploads/2020/11/IMG_5117.jpg" class="img-responsive wp-image-13300" srcset="https://techhkg.com/wp-content/uploads/2020/11/IMG_5117-200x150.jpg 200w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5117-400x300.jpg 400w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5117-600x450.jpg 600w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5117-800x600.jpg 800w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5117-1200x899.jpg 1200w, https://techhkg.com/wp-content/uploads/2020/11/IMG_5117.jpg 1920w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Connect to your Raspberry Pi</h1></div><div class="fusion-text fusion-text-26" style="--awb-content-alignment:left;"><p class="p1">Find IP address of your Raspberry Pi</p>
<p class="p1">Method 1: Goto your router dashboard and find the device with name “ubuntu”</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-21 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" alt="Find your Pi from router dashboard" title="Find your Pi from router dashboard" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.43.15-AM.png" class="img-responsive wp-image-13303" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.43.15-AM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.43.15-AM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-text fusion-text-27" style="--awb-content-alignment:left;"><p class="p1">Method 2: Run nmap command to scan your network</p>
<p class="p1">You may need to download nmap first</p>
<p class="p2"><span class="s1">Mac: <a href="https://nmap.org/book/inst-macosx.html">https://nmap.org/book/inst-macosx.html</a></span></p>
<p class="p2"><span class="s1">Windows: <a href="https://nmap.org/book/inst-windows.html">https://nmap.org/book/inst-windows.html</a></span></p>
<p>The ip range depends on your subnet setting for your router<br />
e.g. If your router dashboard IP address is 192.168.0.1, you may need to change the IP scanning range to 192.168.0.0-255</p>
</div><script src="https://gist.github.com/ericcheng201168/0950eaaee531e4e0fa0c7ed8a3dea73a.js"></script><div class="fusion-text fusion-text-28" style="--awb-content-alignment:left;"><p class="p1">Find the circled host and that is the IP address for your Raspberry Pi</p>
</div><div class="fusion-image-element " style="--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-22 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1587" height="1020" title="Screenshot 2020-11-25 at 1.58.07 AM" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.58.07-AM.png" alt class="img-responsive wp-image-13306" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.58.07-AM-200x129.png 200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.58.07-AM-400x257.png 400w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.58.07-AM-600x386.png 600w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.58.07-AM-800x514.png 800w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.58.07-AM-1200x771.png 1200w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.58.07-AM.png 1587w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-29" style="--awb-content-alignment:left;"><p class="p1">Connect to your Raspberry Pi via ssh(Mac/Linux), Putty(Windows)</p>
<p class="p1">Connection information:<span class="Apple-converted-space"> </span></p>
</div>
<div class="table-1">
<table width="100%">
<tbody>
<tr>
<td align="left">IP address / Hostname</td>
<td align="left">From previous step</td>
</tr>
<tr>
<td align="left">User name (Default)</td>
<td align="left">ubuntu</td>
</tr>
<tr>
<td align="left">Password (Default)</td>
<td align="left">ubuntu</td>
</tr>
</tbody>
</table>
</div>
<div class="fusion-text fusion-text-30" style="--awb-content-alignment:left;"><p class="p1">For Windows users:</p>
<p class="p1">You can download Putty below:</p>
<p class="p2"><a href="https://www.putty.org/">https://www.putty.org/</a></p>
<p class="p1">For Mac and Linux users:</p>
<p class="p1">Open terminal and run the following command:</p>
</div><script src="https://gist.github.com/ericcheng201168/68e38f20b4fb2ffe4764505e207f406c.js"></script><div class="fusion-text fusion-text-31" style="--awb-content-alignment:left;"><p class="p1">You will be asked to change your password, just change and remember your new password.</p>
<p class="p1">After you changed your password, you need to logon with your new password.</p>
</div><div class="fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Install Docker, Minecraft Server and Portainer</h1></div><div class="fusion-text fusion-text-32" style="--awb-content-alignment:left;"><p class="p1">Your Raspberry is ready to use and we are going to install</p>
<ul class="ul1">
<li class="li1">Docker</li>
<li class="li1">Portainer</li>
<li class="li1">Minecraft Server</li>
</ul>
</div><div class="fusion-text fusion-text-33"><p class="p1">Update package</p>
</div><script src="https://gist.github.com/ericcheng201168/16d71c8fdb74e359e4b62681ff227b2f.js"></script><div class="fusion-text fusion-text-34"><p class="p1">Add required dependences</p>
</div><script src="https://gist.github.com/ericcheng201168/39d0279d3941e03e9587e0d053e029e5.js"></script><div class="fusion-text fusion-text-35"><p class="p1">Add the security key</p>
</div><script src="https://gist.github.com/ericcheng201168/c341d28fca311145196a7d8a0cd76421.js"></script><div class="fusion-text fusion-text-36"><p class="p1">Add the docker repository for ARM64 + Ubuntu Linux.</p>
</div><script src="https://gist.github.com/ericcheng201168/1674df71075867e82bfd3d4a6bccca08.js"></script><div class="fusion-text fusion-text-37"><p class="p1">Update the repository again.</p>
</div><script src="https://gist.github.com/ericcheng201168/a1a381d3eb8cf1674d453496879f2bc4.js"></script><div class="fusion-text fusion-text-38"><p class="p1">Set higher priority for docker official repository, instead of using default Ubuntu Repository</p>
</div><script src="https://gist.github.com/ericcheng201168/8ada8a67b55b3d44f28e1cdb242b8c9c.js"></script><div class="fusion-text fusion-text-39"><p class="p1">Install Docker</p>
</div><script src="https://gist.github.com/ericcheng201168/46b3a4d9d8274759f88412f8caf3f897.js"></script><div class="fusion-text fusion-text-40"><p class="p1">Add current user to docker group</p>
</div><script src="https://gist.github.com/ericcheng201168/294b2255beaefa973f6b212fbbccd2fa.js"></script><div class="fusion-text fusion-text-41"><p class="p1">Now we have installed docker, then we can install Minecraft Server with single command now.</p>
</div><script src="https://gist.github.com/ericcheng201168/26a0fca04a4de901a77ad189c62eea4f.js"></script><div class="fusion-text fusion-text-42"><p>You can change the parameters to fit your actual requirement, here are some common parameters you may want to change:</p>
</div>
<div class="table-1">
<table width="100%">
<thead>
<tr>
<th align="left">Parameters</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">-p 25565:25565</td>
<td align="left">port assigned to minecraft, 25565 is default port for minecraft server</td>
</tr>
<tr>
<td align="left">&#8211;restart=always</td>
<td align="left">&#8220;always&#8221; means the container will restart automatically when the mincraft server is down</td>
</tr>
<tr>
<td align="left">-v minecraft_data:/data</td>
<td align="left">Volume name (for storing data), suggest you to follow this, so that you can setup auto backup easier in part 2</td>
</tr>
<tr>
<td align="left">&#8211;name minecraft-server</td>
<td align="left">Just name the container</td>
</tr>
<tr>
<td align="left">-e EULA=TRUE</td>
<td align="left">Accept minecraft server end-user license agreement (EULA), you cannot use the software if you don&#8217;t accept it</td>
</tr>
<tr>
<td align="left">-e VERSION=1.16.3</td>
<td align="left">Minecraft server version, you can change it to &#8220;LATEST&#8221; to get the latest version</td>
</tr>
<tr>
<td align="left">-e MEMORY=7G</td>
<td align="left">Memory assigned to minecraft server, for 8GB Raspberry Pi, I would recommend you to assign 7GB for minecraft server</td>
</tr>
<tr>
<td align="left">-e TZ=Asia/Hong_Kong</td>
<td align="left">Timezone for minecraft server, just change it to your timezone</td>
</tr>
<tr>
<td align="left">-e TYPE=PAPER</td>
<td align="left">Use PaperMC server, it claim that it is high performance minecraft server</td>
</tr>
<tr>
<td align="left">itzg/minecraft-server:multiarch</td>
<td align="left">User ARM64 architecture build docker image, you cannot change this</td>
</tr>
</tbody>
</table>
</div>
<div class="fusion-text fusion-text-43"><p class="p1">After installed Minecraft server, we will install Portainer for managing the Minecraft server container with web-based UI.</p>
<p class="p1">Create volume for Portainer</p>
</div><script src="https://gist.github.com/ericcheng201168/9b9e7b6ac7d113ee23c86d2c3c26f2c7.js"></script><div class="fusion-text fusion-text-44"><p class="p1">Create Portainer container</p>
</div><script src="https://gist.github.com/ericcheng201168/23d5a2f8c351d140d54e6b65bd278b5c.js"></script><div class="fusion-text fusion-text-45"><p>You can access Portainer by entering the following URL to your broswer:</p>
<p>http://:9000</p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-23 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" alt="First Access Portainer" title="First Access Portainer" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.02-PM.png" class="img-responsive wp-image-13314" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.02-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.02-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-text fusion-text-46"><p>Choose Docker and connect to it</p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-24 hover-type-none" style="border-radius:5px;"><img decoding="async" width="3360" height="2100" alt="Portainer Choose Docker" title="Portainer Choose Docker" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.20-PM.png" class="img-responsive wp-image-13316" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.20-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.20-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></span></div><div class="fusion-text fusion-text-47"><p>Congrat! You can manage your Raspberry Pi Minecraft server by Portainer now. By using Portainer, you can:</p>
<ul>
<li>Start/Stop the Minecraft server</li>
<li>View the Minecraft server log</li>
<li>Manage your dockers in web-based UI</li>
</ul>
</div><div class="fusion-image-carousel fusion-image-carousel-auto fusion-image-carousel-1 fusion-carousel-border"><div class="awb-carousel awb-swiper awb-swiper-carousel awb-carousel--carousel awb-swiper-dots-position-bottom" data-layout="carousel" data-autoplay="yes" data-autoplayspeed="2500" data-autoplaypause="no" data-columns="1" data-columnsmedium="1" data-columnssmall="1" data-itemmargin="13" data-itemwidth="180" data-touchscroll="no" data-freemode="no" data-imagesize="auto" data-scrollitems="0" data-centeredslides="no" data-rotationangle="50" data-depth="100" data-speed="500" data-shadow="no" data-pagination="bullets" style="--awb-columns:1;--awb-border-width:1px;--awb-border-color:#e9eaee;"><div class="swiper-wrapper awb-image-carousel-wrapper fusion-flex-align-items-center"><div class="swiper-slide"><div class="fusion-carousel-item-wrapper"><div class="fusion-image-wrapper hover-type-none"><img decoding="async" width="3360" height="2100" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.54-PM.png" class="attachment-full size-full" alt="" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.54-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.06.54-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></div></div></div><div class="swiper-slide"><div class="fusion-carousel-item-wrapper"><div class="fusion-image-wrapper hover-type-none"><img decoding="async" width="3360" height="2100" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.07.09-PM.png" class="attachment-full size-full" alt="" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.07.09-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.07.09-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></div></div></div><div class="swiper-slide"><div class="fusion-carousel-item-wrapper"><div class="fusion-image-wrapper hover-type-none"><img decoding="async" width="3360" height="2100" src="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.07.32-PM.png" class="attachment-full size-full" alt="" srcset="https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.07.32-PM-300x188.png 300w, https://techhkg.com/wp-content/uploads/2020/11/Screenshot-2020-11-25-at-1.07.32-PM.png 3360w" sizes="(max-width: 3360px) 100vw, 3360px" /></div></div></div></div><div class="awb-swiper-button awb-swiper-button-prev"><i class="awb-icon-angle-left" aria-hidden="true"></i></div><div class="awb-swiper-button awb-swiper-button-next"><i class="awb-icon-angle-right" aria-hidden="true"></i></div></div></div><div class="fusion-text fusion-text-48"><p>Congrat! You can connect to your Minecraft server now.</p>
<p>I hope this tutorial can help you to setup your own Minecraft server on Raspberry Pi.</p>
<p><a title="Auto backup your Minecraft Server" href="https://techhkg.com/2020/11/27/auto-backup-your-minecraft-server/">Part 2 &#8220;Auto backup your Minecraft Server&#8221;  here.</a></p>
</div></div></div></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://techhkg.com/2020/11/26/low-cost-minecraft-server-on-raspberry-pi-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python Web Scrapping &#8211; Scrap Javascript-based websites</title>
		<link>https://techhkg.com/2020/11/15/python-web-scrapping-scrap-data-from-javascript-based-websites/</link>
					<comments>https://techhkg.com/2020/11/15/python-web-scrapping-scrap-data-from-javascript-based-websites/#respond</comments>
		
		<dc:creator><![CDATA[Eric Cheng]]></dc:creator>
		<pubDate>Sat, 14 Nov 2020 18:37:23 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Scrapping]]></category>
		<guid isPermaLink="false">https://techhkg.com/?p=13233</guid>

					<description><![CDATA[Python web scrapping is a important skill for data sciencists. Most websites are written in Javascript framework or making use of Javascript to generate their content. If we would like to scrap data from modern website, we have to know how to scrap data from Javascript-based websites. There is no difficulty for the code.  [...]]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1216.8px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-49"><p class="p1">Python web scrapping is a important skill for data sciencists. Most websites are written in Javascript framework or making use of Javascript to generate their content. If we would like to scrap data from modern website, we have to know how to scrap data from Javascript-based websites.</p>
<p class="p1">There is no difficulty for the code. We just need to aware that it is a Javascript-based website and choose appropriate tools to scrap this efficiently.</p>
<p class="p1">In this article, I would use Beautiful Soup + Selenium to scrap a simple javascript website and hope this can help you.</p>
</div><div class="fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;"><p class="p1">Prepare development environment</p></h1></div><div class="fusion-text fusion-text-50"><p>Install required libraries</p>
</div><script src="https://gist.github.com/ericcheng201168/b4ceae4e02f9771bd562b9fa765752a1.js"></script><div class="fusion-text fusion-text-51"><p class="p1">You also have to install web drive for parsing Javascript in selenium.</p>
<p class="p2"><a href="https://pypi.org/project/selenium/">https://pypi.org/project/selenium/</a></p>
<p class="p1">Download the web driver you want and place that driver to your PATH (i.e. /usr/bin, /usr/local/bin for linux and MacOS, $PATH for Windows)</p>
</div><div class="fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;"><p class="p1">Ready to code</p></h1></div><div class="fusion-text fusion-text-52"><p class="p1">Import required libraries</p>
</div><script src="https://gist.github.com/ericcheng201168/5334209b4537937b02bba1ed912bad21.js"></script><div class="fusion-text fusion-text-53"><p>If we use the &#8220;requests&#8221; library, we only get the source code from the website, but not the generated content.</p>
</div><script src="https://gist.github.com/ericcheng201168/e5f7f07e06c77b1c657370f6e316c9d0.js"></script><div class="fusion-text fusion-text-54"><p>Output from codes above</p>
</div><script src="https://gist.github.com/ericcheng201168/6d1ace205fd373be822a22fdf2d64419.js"></script><div class="fusion-text fusion-text-55"><p>If we use selenium with Chrome web driver, we can get the Javascript generated content.</p>
</div><script src="https://gist.github.com/ericcheng201168/7d1e23012654f7d3d4d44b540d73808f.js"></script><div class="fusion-text fusion-text-56"><p>Output from codes above</p>
</div><script src="https://gist.github.com/ericcheng201168/e29ab528918193cb270f4a1521d65fcd.js"></script><div class="fusion-text fusion-text-57"><p>Then we can pass the rendered content to Beautiful Soup object and scrap data we want</p>
</div><script src="https://gist.github.com/ericcheng201168/c08b9c5e8ff1445ea3365dba71d026e3.js"></script><div class="fusion-text fusion-text-58"><p>Output from codes above</p>
</div><script src="https://gist.github.com/ericcheng201168/d4f5e9d5f9bad8cebc8273510858baca.js"></script><div class="fusion-text fusion-text-59"><p>Hope this guide can help you to scrap web content from Javascript-based websites.</p>
<p>If you would like to learn Beautiful Soup and Selenium, you can find their documentations below or leave a comment here.</p>
<p>Both of them are powerful libraries for web scrapping and browser automation projects.</p>
<p>Beautiful Soup: <a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/">https://www.crummy.com/software/BeautifulSoup/bs4/doc/</a></p>
<p>Selenium: <a href="https://www.selenium.dev/documentation/en/">https://www.selenium.dev/documentation/en/</a></p>
</div></div></div></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://techhkg.com/2020/11/15/python-web-scrapping-scrap-data-from-javascript-based-websites/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>My Home Lab &#8211; Running FreeNAS on ESXi</title>
		<link>https://techhkg.com/2020/08/23/my-home-lab-running-freenas-on-esxi/</link>
					<comments>https://techhkg.com/2020/08/23/my-home-lab-running-freenas-on-esxi/#comments</comments>
		
		<dc:creator><![CDATA[Eric Cheng]]></dc:creator>
		<pubDate>Sun, 23 Aug 2020 13:35:46 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">https://techhkg.com/?p=13225</guid>

					<description><![CDATA[Having a home lab like me is a great idea if you require a lot of storage and need a virtual environment to build or test something frequently. I would like to share the concept and setup of my home lab in this article, but not the step boy step guide to replicate what  [...]]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1216.8px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-60"><p>Having a home lab like me is a great idea if you require a lot of storage and need a virtual environment to build or test something frequently. I would like to share the concept and setup of my home lab in this article, but not the step boy step guide to replicate what I have done before.</p>
<p>If you want a step by step guide, you can check these links:</p>
<ul>
<li>FreeNAS 11.2 and ESXi 6.7 iSCSI Tutorial
<ul>
<li><a href="https://johnkeen.tech/freenas-11-2-and-esxi-6-7-iscsi-tutorial/">https://johnkeen.tech/freenas-11-2-and-esxi-6-7-iscsi-tutorial/</a></li>
</ul>
</li>
<li>How to passthrough SATA drives directly on VMWare EXSI 6.5 as RDMs
<ul>
<li><a href="https://gist.github.com/Hengjie/1520114890bebe8f805d337af4b3a064">https://gist.github.com/Hengjie/1520114890bebe8f805d337af4b3a064</a></li>
</ul>
</li>
</ul>
</div><div class="fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Overview of FreeNAS setup on ESXi</h1></div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-25 hover-type-none" style="border-radius:5px;"><img decoding="async" width="1361" height="1041" title="Overview of FreeNAS setup on ESXi" src="https://techhkg.com/wp-content/uploads/2020/08/Overview-of-FreeNAS-setup-on-ESXi.png" alt class="img-responsive wp-image-13226" srcset="https://techhkg.com/wp-content/uploads/2020/08/Overview-of-FreeNAS-setup-on-ESXi-200x153.png 200w, https://techhkg.com/wp-content/uploads/2020/08/Overview-of-FreeNAS-setup-on-ESXi-400x306.png 400w, https://techhkg.com/wp-content/uploads/2020/08/Overview-of-FreeNAS-setup-on-ESXi-600x459.png 600w, https://techhkg.com/wp-content/uploads/2020/08/Overview-of-FreeNAS-setup-on-ESXi-800x612.png 800w, https://techhkg.com/wp-content/uploads/2020/08/Overview-of-FreeNAS-setup-on-ESXi-1200x918.png 1200w, https://techhkg.com/wp-content/uploads/2020/08/Overview-of-FreeNAS-setup-on-ESXi.png 1361w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px" /></span></div><div class="fusion-text fusion-text-61"><p>ESXi is installed as the base OS and FreeNAS is installed on top of ESXi. I passed all hard disks to ZFS (File system used in FreeNAS) as RDM (Raw Drive Mapping) to let FreeNAS gets closer to the hard disk and gain the benefits of ZFS and virtualization.</p>
<p>The storage is managed by FreeNAS VM. We just need to connect to the ZFS volume via NFS (Network File System) in ESXi, then we can store all of our virtual machines to ZFS volume.</p>
<p>“ZFS combines the roles of RAID controller, Volume Manager, and file system, and since it’s all three in one, it wants direct access to your disks in order to work properly. The closer you can get ZFS to your storage hardware, the happier ZFS is, and the better it can do its job of keeping your data safe.”</p>
<p><a href="https://www.ixsystems.com/blog/yes-you-can-virtualize-freenas/">https://www.ixsystems.com/blog/yes-you-can-virtualize-freenas/</a></p>
<p>All of my virtual machines are stored into the ZFS volume, except the FreeNAS VM. Each virtual machine has an isolated environment to serve its own purpose.</p>
<p>List of my VMs:</p>
<ul>
<li>Gitlab</li>
<li>Minecraft server</li>
<li>MySQL server</li>
<li>Apache web server</li>
</ul>
<p>I started to run this 3 years ago and this server saved me a lot of money for renting cloud server from VPS. I can deploy any applications I want and the performance is acceptable.</p>
</div><div class="fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Hardware Configuration</h1></div>
<div class="table-1">
<table width="100%">
<tbody>
<tr>
<td align="left">CPU</td>
<td align="left">4 CPUs x Intel(R) Xeon(R) CPU E3-1230 v3 @ 3.30GHz</td>
</tr>
<tr>
<td align="left">Motherboard<span class="Apple-converted-space"> </span></td>
<td align="left">MSI B85-G43 (Server board is better)</td>
</tr>
<tr>
<td align="left">RAM</td>
<td align="left">32GB DDR3 (ECC RAM is better)</td>
</tr>
<tr>
<td align="left">HDD</td>
<td align="left">Seagate BarraCuda 3TB * 4<br />
TOSHIBA DT01ACA100 * 1</td>
</tr>
<tr>
<td align="left">Network Adaptor</td>
<td align="left">Intel Gigabit Dual Port i350-T2</td>
</tr>
</tbody>
</table>
</div>
<div class="fusion-text fusion-text-62"><p>TOSHIBA DT01ACA100 for ESXi installation and FreeNAS VM.</p>
<p>Seagate BarraCuda 3TB * 4 passed to ZFS as RDM (Raw Device Mapping).</p>
<p>ESXi does not support all hardwares, please check the capability guild carefully.</p>
<p><a href="https://www.vmware.com/resources/compatibility/search.php">https://www.vmware.com/resources/compatibility/search.php</a></p>
</div><div class="fusion-title title fusion-title-10 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">Reminders</h1></div><div class="fusion-text fusion-text-63"><ul>
<li>Allocate at lease 8GB to FreeNAS VM and reserve some CPU resources to make sure that your NFS volume works as expected</li>
<li>Do not run this setup in production environment</li>
<li>Don’t use anything cheap</li>
</ul>
</div><div class="fusion-title title fusion-title-11 fusion-sep-none fusion-title-text fusion-title-size-one"><h1 class="fusion-title-heading title-heading-left" style="margin:0;">References</h1></div><div class="fusion-text fusion-text-64"><p><a href="https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.storage.doc/GUID-9E206B41-4B2D-48F0-85A3-B8715D78E846.html">https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.storage.doc/GUID-9E206B41-4B2D-48F0-85A3-B8715D78E846.html</a></p>
<p><a href="https://www.ixsystems.com/community/threads/please-do-not-run-freenas-in-production-as-a-virtual-machine.12484/#post58364">https://www.ixsystems.com/community/threads/please-do-not-run-freenas-in-production-as-a-virtual-machine.12484/#post58364</a></p>
</div></div></div></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://techhkg.com/2020/08/23/my-home-lab-running-freenas-on-esxi/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
