<?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: Andreas Koutsoukos</title>
    <description>The latest articles on DEV Community by Andreas Koutsoukos (@vj_andrei).</description>
    <link>https://dev.to/vj_andrei</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%2F130019%2Ff8e7e588-409f-44b9-9078-b354901c1117.jpg</url>
      <title>DEV Community: Andreas Koutsoukos</title>
      <link>https://dev.to/vj_andrei</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vj_andrei"/>
    <language>en</language>
    <item>
      <title>UNASPRO Shared Drives and Docker volumes mount</title>
      <dc:creator>Andreas Koutsoukos</dc:creator>
      <pubDate>Wed, 05 Mar 2025 10:40:44 +0000</pubDate>
      <link>https://dev.to/vj_andrei/unaspro-shared-drives-and-docker-volumes-mount-22ji</link>
      <guid>https://dev.to/vj_andrei/unaspro-shared-drives-and-docker-volumes-mount-22ji</guid>
      <description>&lt;h1&gt;
  
  
  How to Mount Unaspro NFS Shares as Docker Volumes
&lt;/h1&gt;

&lt;p&gt;If you're using a Ubiquiti UNAS Pro and want to use its NFS feature to store Docker container data on shared drives, this guide will walk you through the process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Linux server with Docker installed&lt;/li&gt;
&lt;li&gt;A Ubiquiti UNAS Pro&lt;/li&gt;
&lt;li&gt;Basic understanding of Docker&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 1: Verify Your NFS Exports
&lt;/h3&gt;

&lt;p&gt;Before attempting to mount anything, it's crucial to verify which paths your Ubiquiti UNAS Pro is actually exporting. The Settings -&amp;gt; Services dashboard might display a mount command like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mount -t nfs 10.1.1.1:/var/nfs/shared/[Shared Drive Name] /mnt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;However, this exported path may not work inside the Docker container.&lt;/p&gt;

&lt;p&gt;Image 1&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxlg0kwp3nks12xbdsmp2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxlg0kwp3nks12xbdsmp2.jpg" alt="Settings - Services" width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image 2&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2mahd59slkbxayxohi5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2mahd59slkbxayxohi5.jpg" alt="Settings - Services" width="373" height="430"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Use Case: Storing Docker Container Volume Data on Ubiquiti UNAS Pro
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Scenario:
&lt;/h3&gt;

&lt;p&gt;A user has a Ubiquiti UNAS Pro and a Linux-based server running Docker. They want to store Docker container volume data on the Ubiquiti UNAS Pro using NFS to ensure centralized storage, easy backups, and better data persistence across container restarts.&lt;/p&gt;

&lt;p&gt;Solution:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable NFS on the Ubiquiti UNAS Pro and configure exported shared drives.&lt;/li&gt;
&lt;li&gt;Configure Docker volumes to use the mounted NFS path for persistent storage. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Benefit:
&lt;/h3&gt;

&lt;p&gt;This setup ensures that container data is stored securely on the Ubiquiti UNAS Pro, making it easier to manage, back up, and access from multiple servers if needed.&lt;/p&gt;
&lt;h2&gt;
  
  
  Setup
&lt;/h2&gt;

&lt;p&gt;Make sure that you have enabled the NFS share in the Ubiquiti UNAS Pro settings - service UI and that the both machines Ubiquiti UNAS Pro and Linux server are at the same network.&lt;/p&gt;

&lt;p&gt;Login to your server by SSH and run this command to see the available NFS shares, :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;showmount -e YOUR_UNASPRO_IP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;showmount -e 10.1.1.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This might return something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Export list for 10.1.1.1:
/volume1/.srv/.unifi-drive/[Shared Drive Name]/.data [YOUR_LINUX_SERVER_IP]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The [YOUR_LINUX_SERVER_IP] comes from the Ubiquiti UNAS Pro NFS settings see the Image 2 &lt;/p&gt;

&lt;p&gt;Important: Note the exact path shown here. This is the actual path you'll need to use, not what might be shown in the Ubiquiti UNAS Pro dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Create a docker-compose.yml File on your Linux server
&lt;/h3&gt;

&lt;p&gt;Create a docker-compose.yml file with the following content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;version: '3'

services:
  your-service:
    image: ubuntu  # or any image you prefer
    command: tail -f /dev/null  # Keeps the container running
    volumes:
      - nfs-data:/mount/point
    # Add other container configurations as needed

volumes:
  nfs-data:
    driver: local
    driver_opts:
      type: nfs
      o: "addr=YOUR_UNASPRO_IP,rw,nfsvers=3,nolock"
      device: ":/EXACT_PATH_FROM_SHOWMOUNT"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YOUR_UNASPRO_IP with your Unaspro server IP (e.g., 10.10.1.1)&lt;/li&gt;
&lt;li&gt;/EXACT_PATH_FROM_SHOWMOUNT with the path you got from the showmount command (e.g., /volume1/.srv/.unifi-drive/[Shared Drive Name]/.data)&lt;/li&gt;
&lt;li&gt;/mount/point with where you want the files to appear inside your container&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Start Your Container
&lt;/h2&gt;

&lt;p&gt;Run the following command to start your container:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker compose up -d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4: Verify the Mount
&lt;/h2&gt;

&lt;p&gt;Check if your container is running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker compose ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If it's running, you can access the container and verify the mount:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker compose exec [Your Docker Container name] bash

# Once inside the container, check the mount:
df -h
# or
mount | grep nfs
# or
ls -la /mount/point
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Try creating a test file to verify write access:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo "Hello from Docker" &amp;gt; /mount/point/test_file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Common Issues and Solutions
&lt;/h2&gt;

&lt;p&gt;[TODO]&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Mounting Unaspro NFS shares as Docker volumes provides a convenient way to have persistent storage for your containers. The key is to verify the exact export path and use the correct mount options.&lt;br&gt;
This approach allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Share data between containers&lt;/li&gt;
&lt;li&gt;Persist data beyond container lifecycles&lt;/li&gt;
&lt;li&gt;Leverage your existing Unaspro storage infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have you used NFS with Docker? Share your experiences in the comments!&lt;/p&gt;

</description>
      <category>docker</category>
      <category>unifi</category>
      <category>nfs</category>
      <category>unaspro</category>
    </item>
    <item>
      <title>Font Awesome fonts to Sketch.app by category</title>
      <dc:creator>Andreas Koutsoukos</dc:creator>
      <pubDate>Mon, 16 May 2022 08:17:47 +0000</pubDate>
      <link>https://dev.to/vj_andrei/font-awesome-fonts-to-sketchapp-by-category-8ke</link>
      <guid>https://dev.to/vj_andrei/font-awesome-fonts-to-sketchapp-by-category-8ke</guid>
      <description>&lt;h2&gt;
  
  
  🙏🏻 Get the license and download files
&lt;/h2&gt;

&lt;p&gt;First thing is to get the &lt;a href="https://fontawesome.com/plans" rel="noopener noreferrer"&gt;Font Awesome pro license&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🏆 The goal
&lt;/h2&gt;

&lt;p&gt;If you are like me you liked to have one source of true everything right? Imagine situation that you have components library Sketch file in Abstract version control. The components are using local icons SVG source in the same file. Thats is not a problem when you have 10-20 icons. But issue comes when you liked to have all the source from pro versions Font Awesome. You need to add all SVG files by great plugin called &lt;a href="https://sketchicons.com/" rel="noopener noreferrer"&gt;Sketch Icons&lt;/a&gt; without any control. It looks like huge dropdown list in the Sketch Symbols selector. So what if you could make it look like organized?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fae0xhgi59odo4hnty86o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fae0xhgi59odo4hnty86o.png" alt="Insert -&amp;gt; Symbols -&amp;gt;" width="800" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔨 This is how you do it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhkjmbg0pj160xtn5tww.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhkjmbg0pj160xtn5tww.gif" alt="Montell Jordan - This Is How We Do It gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Unzip the fontawesome-pro-x.x.x-web.zip&lt;/li&gt;
&lt;li&gt;Add new folder named by script (or whatever)&lt;/li&gt;
&lt;li&gt;Go to metadata folder and copy categories.yml syntax to clipboard and paste .yml content &lt;a href="https://onlineyamltools.com/convert-yaml-to-json" rel="noopener noreferrer"&gt;YAML to JSON converter online&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create new file inside script by categories.json and paste JSON syntax from YAML to JSON converter to the file&lt;/li&gt;
&lt;li&gt;Create new folder and named by svgs&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy .svg icons from svgs fontawesome-pro-x.x.x-web root file to the new svgs folder under script&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7yqdg4e1dm6x5ajqanw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7yqdg4e1dm6x5ajqanw.png" alt="Folder structure" width="654" height="786"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create read-json.py file and paste this code&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Python program to read
# json file
&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;shutil&lt;/span&gt;


&lt;span class="c1"&gt;# Opening JSON file
&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;./categories.json&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Getting svgs files and folder
&lt;/span&gt;&lt;span class="n"&gt;svgsFolder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;svgs&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
&lt;span class="n"&gt;svgsFilesDirectory&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dirname&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__file__&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;svgsFolder&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# returns JSON object as
# a dictionary
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Iterating through the json
# list
&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;category_list&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;categories&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;category_list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="n"&gt;iconDircectory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;svgsFilesDirectory&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;iconDircectory&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Directory &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;% s&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; created&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;iconDircectory&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;icon&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;icons&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
                &lt;span class="nb"&gt;file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;.svg&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
                &lt;span class="n"&gt;file_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;svgsFilesDirectory&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;destination&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;iconDircectory&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
                &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;destination&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;shutil&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;destination&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Files Moved&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# Closing file
&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run the .py code and check the How We Do It :) &lt;/li&gt;
&lt;li&gt;Now use the &lt;a href="https://sketchicons.com/" rel="noopener noreferrer"&gt;Sketch Icons&lt;/a&gt; plugin to import the folder by one by one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hope you liked this! Enjoy! &lt;/p&gt;

</description>
      <category>sketch</category>
      <category>python</category>
      <category>fontawesome</category>
      <category>svgs</category>
    </item>
  </channel>
</rss>
