<?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: LEKSIDE NATION</title>
    <description>The latest articles on DEV Community by LEKSIDE NATION (@lekside_nation_df35bf4f19).</description>
    <link>https://dev.to/lekside_nation_df35bf4f19</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%2F1833195%2Fd4eab5f5-ed20-4e12-8525-cd3fee348103.png</url>
      <title>DEV Community: LEKSIDE NATION</title>
      <link>https://dev.to/lekside_nation_df35bf4f19</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lekside_nation_df35bf4f19"/>
    <language>en</language>
    <item>
      <title>Deploying the No-Code Architects Toolkit API on a Contabo VPS with MinIO</title>
      <dc:creator>LEKSIDE NATION</dc:creator>
      <pubDate>Fri, 16 May 2025 17:56:43 +0000</pubDate>
      <link>https://dev.to/lekside_nation_df35bf4f19/deploying-the-no-code-architects-toolkit-api-on-a-contabo-vps-with-minio-8g</link>
      <guid>https://dev.to/lekside_nation_df35bf4f19/deploying-the-no-code-architects-toolkit-api-on-a-contabo-vps-with-minio-8g</guid>
      <description>&lt;h1&gt;
  
  
  Deploying No-Code Architects Toolkit API on Contabo VPS with MinIO
&lt;/h1&gt;

&lt;p&gt;The &lt;strong&gt;No-Code Architects Toolkit API&lt;/strong&gt; is a free, open-source solution for media processing, automation, and cloud storage integration. By deploying it on a &lt;strong&gt;Contabo VPS&lt;/strong&gt; with &lt;strong&gt;MinIO&lt;/strong&gt; as an S3-compatible object storage, you can create a cost-effective, self-hosted environment. Contabo’s affordable VPS plans, featuring NVMe SSDs and global data centers, are ideal for this Flask-based Python API. This guide walks you through setting up MinIO and the toolkit, designed for users with basic Linux and Docker skills.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Contabo VPS&lt;/strong&gt;: At least 4 vCPUs, 8 GB RAM, 200 GB SSD (e.g., VPS M at ~€7.99/month).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain name&lt;/strong&gt; (optional, for custom API access).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SSH client&lt;/strong&gt; (e.g., PuTTY, Terminal).&lt;/li&gt;
&lt;li&gt;Basic Linux and Docker knowledge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub account&lt;/strong&gt; for repository access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API key&lt;/strong&gt; for toolkit authentication.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Set Up Your Contabo VPS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.1 Purchase and Configure
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Visit &lt;a href="https://www.tkqlhce.com/5k117cy63y5LNMNPTTSSSLNRMOOPST?sid=medium" rel="noopener noreferrer"&gt;contabo&lt;/a&gt; and select a VPS plan (e.g., VPS M).&lt;/li&gt;
&lt;li&gt;Choose a data center (Europe, US, Asia) and &lt;strong&gt;Ubuntu 22.04 LTS&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Save the emailed VPS IP, root username, and password.&lt;/li&gt;
&lt;li&gt;Log in to the &lt;a href="https://my.contabo.com" rel="noopener noreferrer"&gt;Contabo Customer Control Panel&lt;/a&gt; and set a hostname (e.g., &lt;code&gt;nca-toolkit-vps&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1.2 Connect and Secure
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;SSH into your VPS:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   ssh root@YOUR_VPS_IP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Update packages:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create a non-root user:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   adduser nca-user
   usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;nca-user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Reconnect as &lt;code&gt;nca-user&lt;/code&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   ssh nca-user@YOUR_VPS_IP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 2: Install Docker and Dependencies
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Install Docker and Docker Compose:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update
   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; docker.io docker-compose
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Start and enable Docker:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start docker
   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Add user to Docker group:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; docker nca-user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Log out and back in.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Verify Docker:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker &lt;span class="nt"&gt;--version&lt;/span&gt;
   docker run hello-world
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Install Git:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 3: Install and Configure MinIO
&lt;/h2&gt;

&lt;p&gt;MinIO provides S3-compatible storage for the toolkit.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a data directory:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/minio-data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run MinIO:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 9000:9000 &lt;span class="nt"&gt;-p&lt;/span&gt; 9001:9001 &lt;span class="nt"&gt;--name&lt;/span&gt; minio &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-v&lt;/span&gt; ~/minio-data:/data &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;MINIO_ROOT_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;MINIO_ROOT_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;password123 &lt;span class="se"&gt;\&lt;/span&gt;
     quay.io/minio/minio server /data &lt;span class="nt"&gt;--console-address&lt;/span&gt; &lt;span class="s2"&gt;":9001"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use a secure password instead of &lt;code&gt;password123&lt;/code&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Verify MinIO:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check container:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Access console at &lt;code&gt;http://YOUR_VPS_IP:9001&lt;/code&gt; (username: &lt;code&gt;admin&lt;/code&gt;, password: &lt;code&gt;password123&lt;/code&gt;).

&lt;ol&gt;
&lt;li&gt;Configure MinIO:&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Create a bucket named &lt;code&gt;nca-toolkit&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Generate access and secret keys:

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Users&lt;/strong&gt; &amp;gt; &lt;strong&gt;Create User&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Save the &lt;strong&gt;Access Key&lt;/strong&gt; and &lt;strong&gt;Secret Key&lt;/strong&gt; (or use &lt;code&gt;admin&lt;/code&gt;/&lt;code&gt;password123&lt;/code&gt; for testing).

&lt;ol&gt;
&lt;li&gt;Open ports:
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 9000
   &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 9001
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: Clone the Repository
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Clone the toolkit:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;cd&lt;/span&gt; ~
   git clone https://github.com/stephengpope/no-code-architects-toolkit.git
   &lt;span class="nb"&gt;cd &lt;/span&gt;no-code-architects-toolkit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Key files:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Dockerfile&lt;/code&gt;: Builds the image.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;app.py&lt;/code&gt;: Flask app.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;requirements.txt&lt;/code&gt;: Dependencies.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 5: Configure Environment Variables
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Generate an API key:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   openssl rand &lt;span class="nt"&gt;-hex&lt;/span&gt; 16
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save as &lt;code&gt;your_api_key&lt;/code&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Set variables for MinIO:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;S3_ENDPOINT_URL&lt;/code&gt;: &lt;code&gt;http://YOUR_VPS_IP:9000&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;S3_ACCESS_KEY&lt;/code&gt;: MinIO access key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;S3_SECRET_KEY&lt;/code&gt;: MinIO secret key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;S3_BUCKET_NAME&lt;/code&gt;: &lt;code&gt;nca-toolkit&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;S3_REGION&lt;/code&gt;: &lt;code&gt;None&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Optional: &lt;code&gt;MAX_QUEUE_LENGTH=10&lt;/code&gt;, &lt;code&gt;GUNICORN_WORKERS=4&lt;/code&gt;, &lt;code&gt;GUNICORN_TIMEOUT=300&lt;/code&gt;, &lt;code&gt;LOCAL_STORAGE_PATH=/tmp&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Create &lt;code&gt;.env&lt;/code&gt; (optional):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   nano .env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   API_KEY=your_api_key
   S3_ENDPOINT_URL=http://YOUR_VPS_IP:9000
   S3_ACCESS_KEY=your_access_key
   S3_SECRET_KEY=your_secret_key
   S3_BUCKET_NAME=nca-toolkit
   S3_REGION=None
   LOCAL_STORAGE_PATH=/tmp
   MAX_QUEUE_LENGTH=10
   GUNICORN_WORKERS=4
   GUNICORN_TIMEOUT=300
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save and exit.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 6: Build and Run the Toolkit
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Build the image:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker build &lt;span class="nt"&gt;-t&lt;/span&gt; no-code-architects-toolkit &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run the container:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:8080 &lt;span class="nt"&gt;--name&lt;/span&gt; nca-toolkit &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_api_key &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;S3_ENDPOINT_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://YOUR_VPS_IP:9000 &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;S3_ACCESS_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_access_key &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;S3_SECRET_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_secret_key &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;S3_BUCKET_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nca-toolkit &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;S3_REGION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;None &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;LOCAL_STORAGE_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/tmp &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;MAX_QUEUE_LENGTH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10 &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;GUNICORN_WORKERS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;4 &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;GUNICORN_TIMEOUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;300 &lt;span class="se"&gt;\&lt;/span&gt;
     stephengpope/no-code-architects-toolkit:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Verify:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker ps
   docker logs nca-toolkit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Open port:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 8: Configure Domain and SSL (Optional)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Point domain to &lt;code&gt;YOUR_VPS_IP&lt;/code&gt; via DNS A record.&lt;/li&gt;
&lt;li&gt;Install Nginx:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;nano /etc/nginx/sites-available/nca-toolkit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight nginx"&gt;&lt;code&gt;   &lt;span class="k"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
       &lt;span class="kn"&gt;listen&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
       &lt;span class="kn"&gt;server_name&lt;/span&gt; &lt;span class="s"&gt;your_domain.com&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

       &lt;span class="kn"&gt;location&lt;/span&gt; &lt;span class="n"&gt;/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="kn"&gt;proxy_pass&lt;/span&gt; &lt;span class="s"&gt;http://localhost:8080&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
           &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;Host&lt;/span&gt; &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
           &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Real-IP&lt;/span&gt; &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
       &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; /etc/nginx/sites-available/nca-toolkit /etc/nginx/sites-enabled/
   &lt;span class="nb"&gt;sudo &lt;/span&gt;nginx &lt;span class="nt"&gt;-t&lt;/span&gt;
   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Add SSL:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; certbot python3-certbot-nginx
   &lt;span class="nb"&gt;sudo &lt;/span&gt;certbot &lt;span class="nt"&gt;--nginx&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; your_domain.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Test: &lt;code&gt;https://your_domain.com/v1/toolkit/test&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 9: Optimize and Maintain
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;: Monitor with &lt;code&gt;htop&lt;/code&gt; or &lt;code&gt;glances&lt;/code&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; htop glances
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Backups&lt;/strong&gt;: Use Contabo snapshots or toolkit’s &lt;code&gt;/v1/s3/upload&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Update: &lt;code&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Restrict SSH: &lt;code&gt;sudo ufw allow from YOUR_IP to any port 22&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt;: Use Contabo’s API or Prometheus.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 10: Join the Community
&lt;/h2&gt;

&lt;p&gt;Join the &lt;a href="https://skool.com/no-code-architects" rel="noopener noreferrer"&gt;No-Code Architects Community&lt;/a&gt; for support, courses, and networking. Contribute via GitHub by forking and submitting pull requests to the &lt;code&gt;build&lt;/code&gt; branch.&lt;/p&gt;




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

&lt;p&gt;Deploying the No-Code Architects Toolkit API on a Contabo VPS with MinIO offers a scalable, self-hosted solution for media processing. Contabo’s cost-effective VPS and MinIO’s S3 compatibility make it ideal for businesses and creators. Set up in under an hour, optimize with Nginx/SSL, and leverage the community for support. Start building with this free API today!&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.tkqlhce.com/5k117cy63y5LNMNPTTSSSLNRMOOPST?sid=medium" rel="noopener noreferrer"&gt;Contabo VPS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://min.io/docs/minio/linux/index.html" rel="noopener noreferrer"&gt;MinIO Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/stephengpope/no-code-architects-toolkit" rel="noopener noreferrer"&gt;No-Code Architects Toolkit GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://skool.com/no-code-architects" rel="noopener noreferrer"&gt;No-Code Architects Community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>vps</category>
      <category>contabo</category>
      <category>powerapps</category>
    </item>
    <item>
      <title>GitFriend: AI-powered GitHub assistant that automatically generates README files</title>
      <dc:creator>LEKSIDE NATION</dc:creator>
      <pubDate>Wed, 14 May 2025 09:53:42 +0000</pubDate>
      <link>https://dev.to/lekside_nation_df35bf4f19/gitfriend-ai-powered-github-assistant-that-automatically-generates-readme-files-nei</link>
      <guid>https://dev.to/lekside_nation_df35bf4f19/gitfriend-ai-powered-github-assistant-that-automatically-generates-readme-files-nei</guid>
      <description>&lt;p&gt;GitFriend is an AI -driven GitHub assistant built with React, TypeScript, and Firebase . It can help users answer questions related to Git and GitHub through AI chat, solve common errors, and automatically generate customized README files based on the project information entered by the user for easy project description. Add emojis to commit messages to improve readability. Help users manage and use GitHub more efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitFriend: AI-powered GitHub assistant.webp
&lt;/h2&gt;

&lt;p&gt;GitFriend Main Features&lt;br&gt;
AI Chat Support: With the intelligent AI chat feature, users can quickly resolve Git and GitHub related issues, learn Git commands and best practices.&lt;/p&gt;

&lt;p&gt;Dynamically generate README files: Users can enter basic information about the project (such as name, description, technology stack, etc.), and GitFriend will automatically generate professional README files and support custom templates.&lt;/p&gt;

&lt;p&gt;Gitmoji support: Follow the Gitmoji specification to add fun and meaningful emojis to commit messages to improve the readability of commit history.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitFriend Technical Architecture
&lt;/h2&gt;

&lt;p&gt;GitFriend uses TypeScript, CSS and JavaScript as programming languages, uses React and Next.js to build the user interface, relies on Octokit to interact with GitHub, uses Firebase to implement user authentication, data storage and other functions, combines TailwindCSS for style design, and Groq provides support for AI functions, thus forming a complete technical architecture system.&lt;/p&gt;

&lt;p&gt;GitFriend Technology Stack&lt;br&gt;
Programming languages: TypeScript, CSS, JavaScript.&lt;/p&gt;

&lt;p&gt;Frameworks/Libraries: React, Next.js, Octokit, Radix UI, Firebase, TailwindCSS.&lt;/p&gt;

&lt;p&gt;Development tools : Node, npm.&lt;/p&gt;

&lt;p&gt;AI integration:Groq.&lt;/p&gt;

&lt;p&gt;GitFriend technical architecture.webp&lt;/p&gt;

&lt;p&gt;GitFriend is suitable for people&lt;br&gt;
Open source contributors: You can quickly generate professional README files to attract more potential contributors.&lt;/p&gt;

&lt;p&gt;Team Leader: Maintain consistency across team repositories through standardized README templates and Gitmoji commit message specifications.&lt;/p&gt;

&lt;p&gt;GitHub for Beginners: Quickly learn Git commands and best practices with the help of AI chat.&lt;/p&gt;

&lt;p&gt;Documentation teams: Simplify document creation and update processes and improve document quality.&lt;/p&gt;

&lt;p&gt;GitFriend usage and deployment&lt;br&gt;
Before use, users need to prepare Node.js (v16 and above) and npm (v8 and above) environments, have a Google account for login authentication, and obtain relevant API keys. When deploying, first clone the repository, install dependencies, configure environment variables in the .env.local file, and finally start the development server, and you can access it locally.&lt;/p&gt;

&lt;p&gt;Project Link&lt;br&gt;
github: &lt;a href="https://github.com/krishn404/Git-Friend" rel="noopener noreferrer"&gt;https://github.com/krishn404/Git-Friend&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Official website: &lt;a href="https://www.gitfriend.xyz/" rel="noopener noreferrer"&gt;https://www.gitfriend.xyz/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to get Lovart invitation code</title>
      <dc:creator>LEKSIDE NATION</dc:creator>
      <pubDate>Wed, 14 May 2025 09:52:51 +0000</pubDate>
      <link>https://dev.to/lekside_nation_df35bf4f19/how-to-get-lovart-invitation-code-5bgj</link>
      <guid>https://dev.to/lekside_nation_df35bf4f19/how-to-get-lovart-invitation-code-5bgj</guid>
      <description>&lt;p&gt;Lovart invitation code acquisition guide.webp&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Official X Interaction&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Follow Lovart ai 's official account @lovart_ai and leave a message under its tweets to share your creative ideas. The official will randomly send invitation codes, and the first 500 comments will be given priority. Previously, a user left a message saying "I am a Chinese AI blogger and I am interested in the product", and he got the invitation code through a private message.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Application Queue on the Official Website&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Visit the Lovart official website and fill in the application form. The system will slowly issue test qualifications in the order of application.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Community lucky draw&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Some KOLs will hold lucky draws to give out invitation codes, like " Master Zang ". However, you have to meet some conditions to participate, such as following, forwarding, etc. There is also news that the great Kha'Zix will also hold lucky draws.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Discord Community&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Join the official Discord community and you might get testing qualifications.&lt;/p&gt;

&lt;p&gt;Please note that this is a closed beta test, and invitation codes are in high demand. The official has not authorized any second-hand platform to sell invitation codes. It is recommended to try the official X interaction and official website application first, and pay more attention to the news of [@lovart_ai], so that you can be the first to know the release notification.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
