<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Selva Logesh R</title>
    <description>The latest articles on DEV Community by Selva Logesh R (@selvalogesh).</description>
    <link>https://dev.to/selvalogesh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F680842%2Fe2c31569-f5d8-4640-a925-52a05ac50c1f.jpeg</url>
      <title>DEV Community: Selva Logesh R</title>
      <link>https://dev.to/selvalogesh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/selvalogesh"/>
    <language>en</language>
    <item>
      <title>Unlocking the Power of Personal Cloud: Your Digital Oasis</title>
      <dc:creator>Selva Logesh R</dc:creator>
      <pubDate>Thu, 31 Aug 2023 06:51:53 +0000</pubDate>
      <link>https://dev.to/selvalogesh/personal-cloud-storage-4a1c</link>
      <guid>https://dev.to/selvalogesh/personal-cloud-storage-4a1c</guid>
      <description>&lt;p&gt;In the rapidly evolving digital landscape of today, the need for secure, accessible, and organized data storage has never been more critical. Google free 15GB tier gave us a taste of what is possible with anytime any place accessible data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M4rulSQ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr3yilecf67s2sao07ql.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M4rulSQ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr3yilecf67s2sao07ql.jpg" alt="Personal cloud setup" width="800" height="602"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6_fAuA5M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lc5964dxf2pndist4lc3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6_fAuA5M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lc5964dxf2pndist4lc3.png" alt="Monitoring Dashboard" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Below I have recorded my journey of creating this personal, Digital Oasis with opensource software and go to microprocessor for many D.I.Y enthusiasts, RasberryPi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hardware stack:&lt;/strong&gt;&lt;br&gt;
Rasberry-pi4 4GB variant&lt;br&gt;
5V power supply block&lt;br&gt;
MicroSD card reader&lt;br&gt;
MicroSD card 4gb&lt;br&gt;
USB type c cable&lt;br&gt;
Ethernet cable&lt;br&gt;
SSD 500GB&lt;br&gt;
SSD 128GB (For the OS) &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software stack:&lt;/strong&gt;&lt;br&gt;
Raspberry Pi lite OS (bullseye) 64bit&lt;br&gt;
Open media vault&lt;br&gt;
Docker compose plugin&lt;br&gt;
File browser&lt;br&gt;
Photoprism&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Domain requirements:&lt;/strong&gt;&lt;br&gt;
Cloudflare account&lt;br&gt;
Domain name&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Miscellaneous:&lt;/strong&gt;&lt;br&gt;
Home network router&lt;br&gt;
Personal computer&lt;br&gt;
Internet access&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Procedure:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install pi installer on your operating system&lt;/li&gt;
&lt;li&gt;Attach the sd card to the computer using the sd card reader. &lt;/li&gt;
&lt;li&gt;Select USB boot mode and burn that bootloader on the sd card. &lt;/li&gt;
&lt;li&gt;Insert the sd card into Rasberry pi and connect the USB type c to power on.&lt;/li&gt;
&lt;li&gt;Wait till the flashing green light on the Rasberry pi has stopped.&lt;/li&gt;
&lt;li&gt;Connect the 128GB SSD to the computer and select the Raspberry Pi lite OS (bullseye) 64bit.&lt;/li&gt;
&lt;li&gt;Now is the correct time to set user account, credentials, wifi settings, host name and wifi network password on the installer and burn it onto the SSD.&lt;/li&gt;
&lt;li&gt;Once done connect the SSD via USB port to the Rasberry pi and wait for several minutes until the green light has started blinking in periodic delay.&lt;/li&gt;
&lt;li&gt;Open your router and search for the host name set during install.&lt;/li&gt;
&lt;li&gt;Note the ip address of the pi and ssh into it using the user name and password set earlier installing the OS on the SSD.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Post installation steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Once logged in, do an update of the system,
&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade &amp;amp;&amp;amp; sudo apt dist-upgrad &amp;amp;&amp;amp; sudo apt clean&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;After update install Open media vault,
&lt;code&gt;sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;After successful installation connect ethernet cable to the Rasberry pi, like before find the ip address of the device from the route.&lt;/li&gt;
&lt;li&gt;Note the Mac address of the device and set static ip address to the Rasberry pi from the router.&lt;/li&gt;
&lt;li&gt;Disconnect power supply and connect again to reboot the device and verify the set ip address is provided to the Rasberry pi by the router.&lt;/li&gt;
&lt;li&gt;Open the ip address from any web browser, open media vault login screen should be visible. &lt;/li&gt;
&lt;li&gt;Use the default login user name and password and once logged in change the password. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Post open media vault installation:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Connect the 500 GB SSD via USB and wait for it to show up on the devices tab.&lt;/li&gt;
&lt;li&gt;Once visible wipe the device and create a ext-4 file system.&lt;/li&gt;
&lt;li&gt;Install OMV-extras,&lt;/li&gt;
&lt;li&gt;Once installed, install the plugins called symlink, rootfs, flashmemory, docker-compose.&lt;/li&gt;
&lt;li&gt;Open the symlink tab under services and create a Symlink for the drive inside /mnt director, name it ssda1.&lt;/li&gt;
&lt;li&gt;Once created open the shared folders tab and create Compose, Docker and DockerData folders inside the 500 gb SSD.&lt;/li&gt;
&lt;li&gt;Open docker compose plugin and provide the compose directory, data directory and docker directory respectively.&lt;/li&gt;
&lt;li&gt;Save everything and click reinstall docker button, and wait.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Post docker compose installation:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install file browser via docker compose file by adding a file in the files tab under docker compose. Port forward the necessary ports to the outside network. &lt;/li&gt;
&lt;li&gt;Similarly, install photo prism via docker compose file.&lt;/li&gt;
&lt;li&gt;Verify both softwares by opening the ports on the browser.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Domain and network forwarding:&lt;/strong&gt;&lt;br&gt;
After verifying the software is working on the private network it is time to public it to the internet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requirements:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Domain name, from any vendor.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cloudflare account&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Login to cloudflare account and add the domain name in the account, follow the default setup and create the www and default domain records.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open Access tab and cloudflare tunnels, create a tunnel and select the Linux option, copy the command and execute the command via ssh.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This should create a tunnel from you private network to the cloudflare servers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the public servers tab and create subdomain to forward the private urls with ip address and ports, assigne it to a public domain address previously added.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the public domain address and your service are now online. Congratulations🎉. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>opensource</category>
      <category>cloudstorage</category>
    </item>
  </channel>
</rss>
