<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://workwiki.in/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Qljca</id>
	<title>Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://workwiki.in/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Qljca"/>
	<link rel="alternate" type="text/html" href="https://workwiki.in/Special:Contributions/Qljca"/>
	<updated>2026-06-06T05:45:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=254</id>
		<title>CPanel Errors</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=254"/>
		<updated>2026-01-30T09:13:16Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== WHM Restore Error ==&lt;br /&gt;
&lt;br /&gt;
This page lists common WHM/cPanel account restore failures and their resolutions.&lt;br /&gt;
&lt;br /&gt;
=== Username Conflicts With Unmanaged PostgreSQL User ===&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged PostgreSQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User|WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User]]&lt;br /&gt;
&lt;br /&gt;
=== Username Conflicts With Unmanaged MySQL User ===&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged MySQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged MYSQL User|WHM Restore Error: Username Conflicts With Unmanaged MYSQL User]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WHM Account Creation Error ==&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=253</id>
		<title>CPanel Errors</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=253"/>
		<updated>2026-01-30T09:06:33Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== WHM Restore Error ==&lt;br /&gt;
&lt;br /&gt;
This page lists common WHM/cPanel account restore failures and their resolutions.&lt;br /&gt;
&lt;br /&gt;
=== Username Conflicts With Unmanaged PostgreSQL User ===&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged PostgreSQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User|WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User]]&lt;br /&gt;
&lt;br /&gt;
=== Username Conflicts With Unmanaged MySQL User ===&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged MySQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged MYSQL User|WHM Restore Error: Username Conflicts With Unmanaged MYSQL User]]&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=252</id>
		<title>CPanel Errors</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=252"/>
		<updated>2026-01-30T09:05:29Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= WHM Restore Error =&lt;br /&gt;
&lt;br /&gt;
This page lists common WHM/cPanel account restore failures and their resolutions.&lt;br /&gt;
&lt;br /&gt;
== Username Conflicts With Unmanaged PostgreSQL User ==&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged PostgreSQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User|WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User]]&lt;br /&gt;
&lt;br /&gt;
== Username Conflicts With Unmanaged MySQL User ==&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged MySQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged MYSQL User|WHM Restore Error: Username Conflicts With Unmanaged MYSQL User]]&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=251</id>
		<title>CPanel Errors</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=251"/>
		<updated>2026-01-30T09:05:02Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= WHM Restore Error =&lt;br /&gt;
&lt;br /&gt;
This page lists common WHM/cPanel account restore failures and their resolutions.&lt;br /&gt;
&lt;br /&gt;
== Username Conflicts With Unmanaged PostgreSQL User ==&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged PostgreSQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User|WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User]]&lt;br /&gt;
* External Link: https://workwiki.in/WHM_Restore_Error:_Username_Conflicts_With_Unmanaged_PostgreSQL_User&lt;br /&gt;
&lt;br /&gt;
== Username Conflicts With Unmanaged MySQL User ==&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged MySQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged MYSQL User|WHM Restore Error: Username Conflicts With Unmanaged MYSQL User]]&lt;br /&gt;
* External Link: https://workwiki.in/WHM_Restore_Error:_sername_Conflicts_With_Unmanaged_MYSQL_User&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=WHM_Restore_Error:_Username_Conflicts_With_Unmanaged_MYSQL_User&amp;diff=250</id>
		<title>WHM Restore Error: Username Conflicts With Unmanaged MYSQL User</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=WHM_Restore_Error:_Username_Conflicts_With_Unmanaged_MYSQL_User&amp;diff=250"/>
		<updated>2026-01-30T08:58:14Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;== Cannot create or restore account: &amp;#039;&amp;#039;The system could not create the user &amp;quot;username&amp;quot; because it conflicts with an unmanaged MySQL database user&amp;#039;&amp;#039; ==  === Overview === When attempting to create or restore a cPanel account in WHM, the restore may fail with an error stating that the system cannot create the account username because it conflicts with an unmanaged MySQL database user.  This usually occurs when MySQL already contains a user and/or database name that matches...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cannot create or restore account: &#039;&#039;The system could not create the user &amp;quot;username&amp;quot; because it conflicts with an unmanaged MySQL database user&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
When attempting to create or restore a cPanel account in WHM, the restore may fail with an error stating that the system cannot create the account username because it conflicts with an unmanaged MySQL database user.&lt;br /&gt;
&lt;br /&gt;
This usually occurs when MySQL already contains a user and/or database name that matches (or begins with) the cPanel username being restored.&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
You may see an error similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; Failed to create the account: (XID xxxxxx) The system could not create the user &amp;quot;username&amp;quot; because it conflicts with an unmanaged MySQL database user. at /usr/local/cpanel/Whostmgr/Accounts/Create.pm line 1380. &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
cPanel account restores rely on creating:&lt;br /&gt;
&lt;br /&gt;
A Linux system user (cPanel username)&lt;br /&gt;
&lt;br /&gt;
Related MySQL database users and databases that usually follow the naming pattern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;username_dbname&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;username_dbuser&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This error occurs when one of the following already exists on the destination server:&lt;br /&gt;
&lt;br /&gt;
A MySQL user named exactly &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A MySQL user starting with &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; (example: &amp;lt;code&amp;gt;username_wp&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
A MySQL database starting with &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; (example: &amp;lt;code&amp;gt;username_wordpress&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Leftover MySQL users/databases from an old/deleted account&lt;br /&gt;
&lt;br /&gt;
MySQL users/databases created manually outside of cPanel (unmanaged)&lt;br /&gt;
&lt;br /&gt;
Because cPanel detects these objects as &#039;&#039;unmanaged&#039;&#039;, it blocks the restore to prevent conflicts and permission issues.&lt;br /&gt;
&lt;br /&gt;
=== Resolution / Workaround ===&lt;br /&gt;
To resolve the issue, you must locate the conflicting MySQL user/database and remove or rename it (only if it is safe to do so).&lt;br /&gt;
&lt;br /&gt;
{{Warning|Do not delete any MySQL user or database unless you are sure it is not required by an active website/application. Always take backups before making changes.}}&lt;br /&gt;
&lt;br /&gt;
== Find the Conflicting MySQL User / Database (Root Access) ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Access the server as root ===&lt;br /&gt;
Log in to the server as the &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; user using either:&lt;br /&gt;
&lt;br /&gt;
WHM → &#039;&#039;Terminal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
SSH access&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Access MySQL ===&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; mysql &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Switch to the mysql system database ===&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; use mysql; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Locate conflicting MySQL users ===&lt;br /&gt;
Run the following query to locate MySQL users that match the cPanel username pattern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; select User, Host from user where User like &amp;quot;username%&amp;quot;; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Locate conflicting database permission entries ===&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; select Host, Db, User from db where Db like &amp;quot;username%&amp;quot;; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; with the actual cPanel account username you are restoring.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; symbol is a wildcard, which helps locate partial matches like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;username_wp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;username_db1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;username_site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Checks (Recommended) ==&lt;br /&gt;
&lt;br /&gt;
=== List databases matching the username ===&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; SHOW DATABASES LIKE &#039;username%&#039;; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== List user grants (to confirm what the user can access) ===&lt;br /&gt;
If you discover a conflicting MySQL user, you can review its grants:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; SHOW GRANTS FOR &#039;username&#039;@&#039;localhost&#039;; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Replace &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; with the correct host if needed, such as &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; or an IP.)&lt;br /&gt;
&lt;br /&gt;
== What to Do After Identifying the Conflict ==&lt;br /&gt;
&lt;br /&gt;
Once you identify the conflicting MySQL database or user:&lt;br /&gt;
&lt;br /&gt;
Determine whether the MySQL user/database is still required by any live website or service.&lt;br /&gt;
If it is not required, remove it or rename it safely.&lt;br /&gt;
Retry the account restore in WHM.&lt;br /&gt;
&lt;br /&gt;
Because the correct action depends on what the MySQL user/database is being used for, a systems administrator or database administrator should decide the safest approach.&lt;br /&gt;
&lt;br /&gt;
== Common Fix Options ==&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Remove the conflicting MySQL user (if safe) ===&lt;br /&gt;
If the MySQL user is confirmed unused, it can be removed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; DROP USER &#039;username&#039;@&#039;host&#039;; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; DROP USER &#039;username&#039;@&#039;localhost&#039;; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Remove the conflicting database (if safe) ===&lt;br /&gt;
If the database is confirmed unused:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; DROP DATABASE username_database; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Option 3: Rename objects instead of deleting (safer for investigation) ===&lt;br /&gt;
If you are unsure whether the objects are needed, renaming can be safer than deleting.&lt;br /&gt;
&lt;br /&gt;
Database rename example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; RENAME TABLE old_db.table1 TO new_db.table1; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(For full database renaming, it is usually done via dump/import or admin tools depending on the environment.)&lt;br /&gt;
&lt;br /&gt;
=== Option 4: Restore the account under a different username ===&lt;br /&gt;
If you cannot remove the conflict safely, you can restore the cPanel account using a different username (example: &amp;lt;code&amp;gt;username1&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
This avoids the conflict but may require updating application/database configuration afterward.&lt;br /&gt;
&lt;br /&gt;
== Final Step ==&lt;br /&gt;
&lt;br /&gt;
After resolving the conflict, retry the restore:&lt;br /&gt;
&lt;br /&gt;
WHM → &#039;&#039;Restore a Full Backup/cpmove File&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
WHM → &#039;&#039;Transfer Tool&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The account restore should complete successfully once no conflicting MySQL objects exist.&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=249</id>
		<title>CPanel Errors</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=249"/>
		<updated>2026-01-30T08:53:17Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= WHM Restore Error =&lt;br /&gt;
&lt;br /&gt;
This page lists common WHM/cPanel account restore failures and their resolutions.&lt;br /&gt;
&lt;br /&gt;
== Username Conflicts With Unmanaged PostgreSQL User ==&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged PostgreSQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User|WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User]]&lt;br /&gt;
* External Link: https://workwiki.in/WHM_Restore_Error:_Username_Conflicts_With_Unmanaged_PostgreSQL_User&lt;br /&gt;
&lt;br /&gt;
== Username Conflicts With Unmanaged MySQL User ==&lt;br /&gt;
If restoring an account fails because the username conflicts with an unmanaged MySQL database user, refer to the guide below:&lt;br /&gt;
&lt;br /&gt;
* [[WHM Restore Error: Username Conflicts With Unmanaged MySQL User|WHM Restore Error: Username Conflicts With Unmanaged MySQL User]]&lt;br /&gt;
* External Link: https://workwiki.in/WHM_Restore_Error:_sername_Conflicts_With_Unmanaged_MYSQL_User&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Template:Warning&amp;diff=248</id>
		<title>Template:Warning</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Template:Warning&amp;diff=248"/>
		<updated>2026-01-30T08:50:57Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;&amp;lt;div style=&amp;quot;   border: 1px solid #d33;   background: #fff3f3;   padding: 10px 12px;   margin: 12px 0;   border-radius: 6px; &amp;quot;&amp;gt;   &amp;lt;strong&amp;gt;Warning:&amp;lt;/strong&amp;gt; {{{1|}}} &amp;lt;/div&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;&lt;br /&gt;
  border: 1px solid #d33;&lt;br /&gt;
  background: #fff3f3;&lt;br /&gt;
  padding: 10px 12px;&lt;br /&gt;
  margin: 12px 0;&lt;br /&gt;
  border-radius: 6px;&lt;br /&gt;
&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;strong&amp;gt;Warning:&amp;lt;/strong&amp;gt; {{{1|}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=WHM_Restore_Error:_Username_Conflicts_With_Unmanaged_PostgreSQL_User&amp;diff=246</id>
		<title>WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=WHM_Restore_Error:_Username_Conflicts_With_Unmanaged_PostgreSQL_User&amp;diff=246"/>
		<updated>2026-01-30T08:43:08Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;== Fix WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User ==  === Overview === While restoring a cPanel account in WHM, you may encounter an error stating that WHM cannot create the user because it conflicts with an unmanaged PostgreSQL database user.  This happens when PostgreSQL already contains a role/user with the same name as the cPanel username you are trying to restore.  This article explains the cause and provides the root-level steps to resolve...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fix WHM Restore Error: Username Conflicts With Unmanaged PostgreSQL User ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
While restoring a cPanel account in WHM, you may encounter an error stating that WHM cannot create the user because it conflicts with an unmanaged PostgreSQL database user.&lt;br /&gt;
&lt;br /&gt;
This happens when PostgreSQL already contains a role/user with the same name as the cPanel username you are trying to restore.&lt;br /&gt;
&lt;br /&gt;
This article explains the cause and provides the root-level steps to resolve it.&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
You may see an error similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; Failed to create the account: (XID XXXXX) The system could not create the user “ucasa” because it conflicts with an unmanaged PostgreSQL database user. at /usr/local/cpanel/Whostmgr/Accounts/Create.pm line 1391. Failed: Account Restore Failed: “Account failure: Failed to create the account: (XID XXXXX) The system could not create the user “ucasa” because it conflicts with an unmanaged PostgreSQL database user. at /usr/local/cpanel/Whostmgr/Accounts/Create.pm line 1391. ” &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
cPanel/WHM requires the account username to be unique.&lt;br /&gt;
&lt;br /&gt;
If a PostgreSQL role/user already exists on the server with the same username (example: &amp;lt;code&amp;gt;ucasa&amp;lt;/code&amp;gt;) and it was created outside of cPanel (or remains from a previous configuration), cPanel detects it as an &#039;&#039;unmanaged&#039;&#039; PostgreSQL role and blocks the restore to avoid conflicts.&lt;br /&gt;
&lt;br /&gt;
Even if the PostgreSQL role does not own any databases, it may still have privileges on one or more databases, which can prevent the role from being dropped immediately.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
Root SSH access to the destination server&lt;br /&gt;
&lt;br /&gt;
PostgreSQL installed and accessible via &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resolution (Root Access Required) ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: Login to PostgreSQL ====&lt;br /&gt;
SSH into the server as root and open PostgreSQL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; psql &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Confirm if the role exists ====&lt;br /&gt;
Check if the conflicting role exists:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; SELECT rolname FROM pg_roles WHERE rolname=&#039;ucasa&#039;; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also list all roles:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; \du &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Step 3 (Optional): Check if the role owns any databases ====&lt;br /&gt;
This helps confirm whether the role is a database owner:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; SELECT datname FROM pg_database WHERE datdba = ( SELECT oid FROM pg_roles WHERE rolname=&#039;ucasa&#039; ); &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it shows &amp;lt;code&amp;gt;(0 rows)&amp;lt;/code&amp;gt;, the role does not own any PostgreSQL databases.&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Try to drop the role directly ====&lt;br /&gt;
Attempt to remove the role:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; DROP ROLE ucasa; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it succeeds, retry the restore in WHM.&lt;br /&gt;
&lt;br /&gt;
=== If DROP ROLE Fails ===&lt;br /&gt;
&lt;br /&gt;
You may receive an error like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; ERROR: role &amp;quot;ucasa&amp;quot; cannot be dropped because some objects depend on it DETAIL: privileges for database fspzxuga_sayimdb &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means the role has privileges granted on a database and must be removed first.&lt;br /&gt;
&lt;br /&gt;
==== Step 5: Revoke database privileges and retry ====&lt;br /&gt;
Run the following to revoke privileges:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; REVOKE ALL PRIVILEGES ON DATABASE fspzxuga_sayimdb FROM ucasa; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then retry dropping the role:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; DROP ROLE ucasa; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== If the Role Still Cannot Be Dropped (Advanced Cleanup) ===&lt;br /&gt;
If the role still has permissions inside the database (schemas/tables/default privileges), perform the following additional cleanup.&lt;br /&gt;
&lt;br /&gt;
==== Step 6: Connect to the affected database ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; \c fspzxuga_sayimdb &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Step 7: Remove owned privileges/objects ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; REASSIGN OWNED BY ucasa TO postgres; DROP OWNED BY ucasa; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Step 8: Return to postgres database and drop the role ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; \c postgres DROP ROLE ucasa; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Final Step ===&lt;br /&gt;
Once the role is successfully removed, retry the restore in WHM. The account restore should complete successfully.&lt;br /&gt;
&lt;br /&gt;
=== Notes / Best Practices ===&lt;br /&gt;
&lt;br /&gt;
Always confirm the PostgreSQL role is not required by an active application before removing it.&lt;br /&gt;
&lt;br /&gt;
If you prefer not to modify PostgreSQL roles, an alternative is restoring the cPanel account using a different username (example: &amp;lt;code&amp;gt;ucasa1&amp;lt;/code&amp;gt;). This may require additional adjustments after the restore.&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=245</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=245"/>
		<updated>2025-08-30T17:19:15Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Harden Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 &lt;br /&gt;
ufw allow 80 &lt;br /&gt;
ufw allow 443 &lt;br /&gt;
ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
systemctl enable --now fail2ban&lt;br /&gt;
apt install unattended-upgrades&lt;br /&gt;
dpkg-reconfigure unattended-upgrades&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y &lt;br /&gt;
sudo systemctl enable --now nginx &lt;br /&gt;
sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name ide.illuni.in;&lt;br /&gt;
  location / {&lt;br /&gt;
    proxy_pass http://127.0.0.1:3100;&lt;br /&gt;
    proxy_http_version 1.1;&lt;br /&gt;
    proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
    proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf &lt;br /&gt;
sudo nginx -t &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt install certbot python3-certbot-nginx -y &lt;br /&gt;
sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue &lt;br /&gt;
nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;,&lt;br /&gt;
      &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;,&lt;br /&gt;
      &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=244</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=244"/>
		<updated>2025-08-30T17:17:30Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y &lt;br /&gt;
sudo systemctl enable --now nginx &lt;br /&gt;
sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name ide.illuni.in;&lt;br /&gt;
  location / {&lt;br /&gt;
    proxy_pass http://127.0.0.1:3100;&lt;br /&gt;
    proxy_http_version 1.1;&lt;br /&gt;
    proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
    proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf &lt;br /&gt;
sudo nginx -t &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt install certbot python3-certbot-nginx -y &lt;br /&gt;
sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue &lt;br /&gt;
nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;,&lt;br /&gt;
      &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;,&lt;br /&gt;
      &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=243</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=243"/>
		<updated>2025-08-30T17:15:47Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Install and Configure Continue Extension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y &lt;br /&gt;
sudo systemctl enable --now nginx &lt;br /&gt;
sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name ide.illuni.in;&lt;br /&gt;
  location / {&lt;br /&gt;
    proxy_pass http://127.0.0.1:3100;&lt;br /&gt;
    proxy_http_version 1.1;&lt;br /&gt;
    proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
    proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf &lt;br /&gt;
sudo nginx -t &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt install certbot python3-certbot-nginx -y &lt;br /&gt;
sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue &lt;br /&gt;
nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;,&lt;br /&gt;
      &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;,&lt;br /&gt;
      &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=242</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=242"/>
		<updated>2025-08-30T17:15:06Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Install Certbot and Issue SSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y &lt;br /&gt;
sudo systemctl enable --now nginx &lt;br /&gt;
sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name ide.illuni.in;&lt;br /&gt;
  location / {&lt;br /&gt;
    proxy_pass http://127.0.0.1:3100;&lt;br /&gt;
    proxy_http_version 1.1;&lt;br /&gt;
    proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
    proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf &lt;br /&gt;
sudo nginx -t &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt install certbot python3-certbot-nginx -y &lt;br /&gt;
sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=241</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=241"/>
		<updated>2025-08-30T17:14:23Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Configure Reverse Proxy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y &lt;br /&gt;
sudo systemctl enable --now nginx &lt;br /&gt;
sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name ide.illuni.in;&lt;br /&gt;
  location / {&lt;br /&gt;
    proxy_pass http://127.0.0.1:3100;&lt;br /&gt;
    proxy_http_version 1.1;&lt;br /&gt;
    proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
    proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf &lt;br /&gt;
sudo nginx -t &lt;br /&gt;
sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=240</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=240"/>
		<updated>2025-08-30T17:13:58Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Configure Reverse Proxy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y &lt;br /&gt;
sudo systemctl enable --now nginx &lt;br /&gt;
sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name ide.illuni.in;&lt;br /&gt;
  location / {&lt;br /&gt;
    proxy_pass http://127.0.0.1:3100;&lt;br /&gt;
    proxy_http_version 1.1;&lt;br /&gt;
    proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
    proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf &lt;br /&gt;
sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=239</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=239"/>
		<updated>2025-08-30T17:13:23Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Install Nginx */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y &lt;br /&gt;
sudo systemctl enable --now nginx &lt;br /&gt;
sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; server { listen 80; server_name ide.illuni.in; location / { proxy_pass http://127.0.0.1:3100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &amp;quot;Upgrade&amp;quot;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=238</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=238"/>
		<updated>2025-08-30T17:12:57Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Configure Ollama as a Service (open to network) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now ollama &lt;br /&gt;
sudo systemctl status &lt;br /&gt;
ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y sudo systemctl enable --now nginx sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; server { listen 80; server_name ide.illuni.in; location / { proxy_pass http://127.0.0.1:3100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &amp;quot;Upgrade&amp;quot;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=237</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=237"/>
		<updated>2025-08-30T17:12:15Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Pull AI Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
/usr/local/bin/ollama pull llama3 &lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b &lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest &lt;br /&gt;
/usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=Ollama AI Service After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve Restart=always RestartSec=5 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now ollama sudo systemctl status ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y sudo systemctl enable --now nginx sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; server { listen 80; server_name ide.illuni.in; location / { proxy_pass http://127.0.0.1:3100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &amp;quot;Upgrade&amp;quot;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=236</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=236"/>
		<updated>2025-08-30T17:11:44Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Setup systemd Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload &lt;br /&gt;
sudo systemctl enable --now openvscode &lt;br /&gt;
sudo systemctl status openvscode &lt;br /&gt;
ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; /usr/local/bin/ollama pull llama3 /usr/local/bin/ollama pull codellama:7b /usr/local/bin/ollama pull mistral:latest /usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=Ollama AI Service After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve Restart=always RestartSec=5 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now ollama sudo systemctl status ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y sudo systemctl enable --now nginx sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; server { listen 80; server_name ide.illuni.in; location / { proxy_pass http://127.0.0.1:3100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &amp;quot;Upgrade&amp;quot;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=235</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=235"/>
		<updated>2025-08-30T17:10:43Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Create Service User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode &lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=OpenVSCode Server After=network.target [Service] Type=simple User=vscode WorkingDirectory=/opt/openvscode-server ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token Restart=always RestartSec=3 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now openvscode sudo systemctl status openvscode ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; /usr/local/bin/ollama pull llama3 /usr/local/bin/ollama pull codellama:7b /usr/local/bin/ollama pull mistral:latest /usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=Ollama AI Service After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve Restart=always RestartSec=5 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now ollama sudo systemctl status ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y sudo systemctl enable --now nginx sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; server { listen 80; server_name ide.illuni.in; location / { proxy_pass http://127.0.0.1:3100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &amp;quot;Upgrade&amp;quot;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=234</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=234"/>
		<updated>2025-08-30T17:10:16Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Create Directory &amp;amp; Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode chown -R vscode:vscode /opt/openvscode-server &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=OpenVSCode Server After=network.target [Service] Type=simple User=vscode WorkingDirectory=/opt/openvscode-server ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token Restart=always RestartSec=3 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now openvscode sudo systemctl status openvscode ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; /usr/local/bin/ollama pull llama3 /usr/local/bin/ollama pull codellama:7b /usr/local/bin/ollama pull mistral:latest /usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=Ollama AI Service After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve Restart=always RestartSec=5 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now ollama sudo systemctl status ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y sudo systemctl enable --now nginx sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; server { listen 80; server_name ide.illuni.in; location / { proxy_pass http://127.0.0.1:3100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &amp;quot;Upgrade&amp;quot;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=233</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=233"/>
		<updated>2025-08-30T17:09:16Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;pre&amp;gt; apt update &amp;amp;&amp;amp; apt -y upgrade apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;pre&amp;gt; ufw allow 22 ufw allow 80 ufw allow 443 ufw enable &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl enable --now fail2ban apt install unattended-upgrades dpkg-reconfigure unattended-upgrades &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;pre&amp;gt; cd /opt sudo mkdir openvscode-server sudo chown $USER:$USER openvscode-server cd openvscode-server curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz tar -xzf openvscode-server.tar.gz --strip-components=1 rm openvscode-server.tar.gz &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;pre&amp;gt; useradd -m -s /bin/bash vscode chown -R vscode:vscode /opt/openvscode-server &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=OpenVSCode Server After=network.target [Service] Type=simple User=vscode WorkingDirectory=/opt/openvscode-server ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token Restart=always RestartSec=3 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now openvscode sudo systemctl status openvscode ss -tulpn | grep 3100 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;pre&amp;gt; curl -fsSL https://ollama.com/install.sh | sh &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;pre&amp;gt; ollama --version &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;pre&amp;gt; /usr/local/bin/ollama pull llama3 /usr/local/bin/ollama pull codellama:7b /usr/local/bin/ollama pull mistral:latest /usr/local/bin/ollama list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; [Unit] Description=Ollama AI Service After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve Restart=always RestartSec=5 [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl daemon-reload sudo systemctl enable --now ollama sudo systemctl status ollama ss -tulpn | grep 11434 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install nginx -y sudo systemctl enable --now nginx sudo systemctl status nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt; server { listen 80; server_name ide.illuni.in; location / { proxy_pass http://127.0.0.1:3100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &amp;quot;Upgrade&amp;quot;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;pre&amp;gt; ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf sudo nginx -t sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n sudo systemctl reload nginx &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;pre&amp;gt; npm install -g n8n n8n start &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir -p ~/.continue nano ~/.continue/config.json &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;pre&amp;gt; curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Openvscode&amp;diff=232</id>
		<title>Openvscode</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Openvscode&amp;diff=232"/>
		<updated>2025-08-30T17:03:39Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;= Overview = Deploy a full-featured &amp;#039;&amp;#039;&amp;#039;web-based IDE&amp;#039;&amp;#039;&amp;#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;  = Requirements = ; OS Ubuntu 24.04 LT...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Deploy a full-featured &#039;&#039;&#039;web-based IDE&#039;&#039;&#039; with local AI coder (Llama 3 via Ollama), automation via n8n, secure HTTPS with Nginx &amp;amp; Certbot, and robust system security on a dedicated Ubuntu 24.04 LTS VPS/server. The final product delivers browser access at [https://ide.illuni.in https://ide.illuni.in] with AI chat, code generation, and workflow automation tools.&amp;lt;ref name=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
; OS&lt;br /&gt;
Ubuntu 24.04 LTS (64-bit)&lt;br /&gt;
; Hardware&lt;br /&gt;
Minimum 8 vCPUs, 12 GB RAM, 100 GB SSD&lt;br /&gt;
; Network&lt;br /&gt;
Incoming ports 22 (SSH), 80/443 (HTTP/HTTPS)&lt;br /&gt;
; Domain&lt;br /&gt;
A-record for &#039;&#039;ide.illuni.in&#039;&#039; pointed to server IP&lt;br /&gt;
; Security&lt;br /&gt;
SSH key auth only, UFW firewall, Fail2Ban, unattended-upgrades enabled&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= System Preparation =&lt;br /&gt;
== Update System and Install Essentials ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update &amp;amp;&amp;amp; apt -y upgrade&lt;br /&gt;
apt -y install software-properties-common git unzip curl wget tar ufw fail2ban ca-certificates&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Harden Security ==&lt;br /&gt;
Configure firewall:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ufw allow 22&lt;br /&gt;
ufw allow 80&lt;br /&gt;
ufw allow 443&lt;br /&gt;
ufw enable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up Fail2Ban and enable automatic upgrades:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable --now fail2ban&lt;br /&gt;
apt install unattended-upgrades&lt;br /&gt;
dpkg-reconfigure unattended-upgrades&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use SSH key authentication—disable password login in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;).&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OpenVSCode Server Installation =&lt;br /&gt;
== Create Directory &amp;amp; Download ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
sudo mkdir openvscode-server&lt;br /&gt;
sudo chown $USER:$USER openvscode-server&lt;br /&gt;
cd openvscode-server&lt;br /&gt;
curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.103.1/openvscode-server-v1.103.1-linux-x64.tar.gz -o openvscode-server.tar.gz&lt;br /&gt;
tar -xzf openvscode-server.tar.gz --strip-components=1&lt;br /&gt;
rm openvscode-server.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create Service User ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
useradd -m -s /bin/bash vscode&lt;br /&gt;
chown -R vscode:vscode /opt/openvscode-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup systemd Service ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/systemd/system/openvscode.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenVSCode Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=vscode&lt;br /&gt;
WorkingDirectory=/opt/openvscode-server&lt;br /&gt;
ExecStart=/opt/openvscode-server/bin/openvscode-server --host 0.0.0.0 --port 3100 --without-connection-token&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load and start the service:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now openvscode&lt;br /&gt;
sudo systemctl status openvscode&lt;br /&gt;
ss -tulpn | grep 3100&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ollama Installation (Local AI Models) =&lt;br /&gt;
== Install Ollama ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -fsSL https://ollama.com/install.sh | sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm install:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ollama --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull AI Models ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/local/bin/ollama pull llama3&lt;br /&gt;
/usr/local/bin/ollama pull codellama:7b&lt;br /&gt;
/usr/local/bin/ollama pull mistral:latest&lt;br /&gt;
/usr/local/bin/ollama list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Ollama as a Service (open to network) ==&lt;br /&gt;
Edit &amp;lt;code&amp;gt;/etc/systemd/system/ollama.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ollama AI Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/local/bin/ollama --host 0.0.0.0 --port 11434 serve&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload and start service:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now ollama&lt;br /&gt;
sudo systemctl status ollama&lt;br /&gt;
ss -tulpn | grep 11434&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Nginx Reverse Proxy with HTTPS (Certbot) =&lt;br /&gt;
== Install Nginx ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nginx -y&lt;br /&gt;
sudo systemctl enable --now nginx&lt;br /&gt;
sudo systemctl status nginx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Reverse Proxy ==&lt;br /&gt;
Create &amp;lt;code&amp;gt;/etc/nginx/sites-available/openvscode.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nginx&amp;quot;&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
listen 80;&lt;br /&gt;
server_name ide.illuni.in;&lt;br /&gt;
location / {&lt;br /&gt;
proxy_pass http://127.0.0.1:3100;&lt;br /&gt;
proxy_http_version 1.1;&lt;br /&gt;
proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
proxy_set_header Host $host;&lt;br /&gt;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable config:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf /etc/nginx/sites-available/openvscode.conf /etc/nginx/sites-enabled/openvscode.conf&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
sudo systemctl reload nginx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Certbot and Issue SSL ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install certbot python3-certbot-nginx -y&lt;br /&gt;
sudo certbot --nginx -d &amp;quot;ide.illuni.in&amp;quot; -m &amp;quot;admin@illuni.in&amp;quot; --agree-tos -n&lt;br /&gt;
sudo systemctl reload nginx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certbot automates SSL certificate provisioning and renewal.&amp;lt;ref name=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install n8n (Automation Tool) =&lt;br /&gt;
Follow official n8n installation guide for Ubuntu. Example for npm:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; npm install -g n8n n8n start &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For production, consider running n8n as a systemd service and configuring a reverse proxy.&lt;br /&gt;
&lt;br /&gt;
= Install and Configure Continue Extension =&lt;br /&gt;
Access OpenVSCode: Visit [https://ide.illuni.in https://ide.illuni.in/]&lt;br /&gt;
Install Continue Extension: In the left sidebar, find the Extensions pane, search for &amp;quot;Continue&amp;quot;, and click Install.&amp;lt;ref name=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
Configure Continue for Ollama:&lt;br /&gt;
&lt;br /&gt;
Open a terminal in OpenVSCode as vscode user:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p ~/.continue&lt;br /&gt;
nano ~/.continue/config.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paste (replace &amp;lt;code&amp;gt;&amp;lt;SERVER_IP&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt; { &amp;quot;models&amp;quot;: [ { &amp;quot;title&amp;quot;: &amp;quot;Ollama (Llama 3)&amp;quot;, &amp;quot;provider&amp;quot;: &amp;quot;ollama&amp;quot;, &amp;quot;model&amp;quot;: &amp;quot;llama3&amp;quot;, &amp;quot;api_base&amp;quot;: &amp;quot;http://&amp;lt;SERVER_IP&amp;gt;:11434&amp;quot; } ] } &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm connection:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl http://&amp;lt;SERVER_IP&amp;gt;:11434/api/tags&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload/refresh the Continue extension UI.&lt;br /&gt;
&lt;br /&gt;
= Final Verification =&lt;br /&gt;
&lt;br /&gt;
    Open [https://ide.illuni.in https://ide.illuni.in/] in browser.&lt;br /&gt;
&lt;br /&gt;
    Try out code completion, AI chat, and automation workflows.&lt;br /&gt;
&lt;br /&gt;
    Confirm secure HTTPS lock; certificates should auto-renew via Certbot.&lt;br /&gt;
&lt;br /&gt;
    Ensure only SSH key authentication is allowed; periodic security updates run automatically.&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
This setup delivers a &#039;&#039;&#039;secure, scalable, browser IDE&#039;&#039;&#039; with local AI coding assistant and workflow automation—all on Ubuntu 24.04 LTS. This workflow is suitable for remote development teams, solo devs, and anyone needing advanced code capabilities balanced with maximum data control and security.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=IMAP_via_Telnet&amp;diff=231</id>
		<title>IMAP via Telnet</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=IMAP_via_Telnet&amp;diff=231"/>
		<updated>2025-06-22T16:00:53Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To ensure that Dovecot is authenticating and responding properly, we can use telnet to verify if it is working. You must perform this from remote location: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ telnet localhost 143&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to localhost.&lt;br /&gt;
Escape character is &#039;^]&#039;.&lt;br /&gt;
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE LITERAL+ STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you type the login command with a strange number preceeding: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Login Email Password&lt;br /&gt;
1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE NAMESPACE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you select the inbox. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 SELECT Inbox&lt;br /&gt;
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)&lt;br /&gt;
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.&lt;br /&gt;
* 6273 EXISTS&lt;br /&gt;
* 0 RECENT&lt;br /&gt;
* OK [UIDVALIDITY 1567592696] UIDs valid&lt;br /&gt;
* OK [UIDNEXT 31618] Predicted next UID&lt;br /&gt;
* OK [HIGHESTMODSEQ 53315] Highest&lt;br /&gt;
1 OK [READ-WRITE] Select completed (0.017 + 0.000 + 0.016 secs).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You see that 6273 mails exist. &lt;br /&gt;
&lt;br /&gt;
Now you type the logout command: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 LOGOUT&lt;br /&gt;
* BYE Logging out&lt;br /&gt;
1 OK Logout completed (0.001 + 0.000 secs).&lt;br /&gt;
Connection closed by foreign host.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=IMAP_via_Telnet&amp;diff=230</id>
		<title>IMAP via Telnet</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=IMAP_via_Telnet&amp;diff=230"/>
		<updated>2025-06-22T15:55:59Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;To ensure that Dovecot is authenticating and responding properly, we can use telnet to verify if it is working:   &amp;lt;pre&amp;gt; $ telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is &amp;#039;^]&amp;#039;. * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE LITERAL+ STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready. &amp;lt;/pre&amp;gt;  Now you type the login command with a strange number preceeding:   &amp;lt;pre&amp;gt; 1 Login Email Password 1 OK [CAPABILITY IMAP4rev1...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To ensure that Dovecot is authenticating and responding properly, we can use telnet to verify if it is working: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ telnet localhost 143&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to localhost.&lt;br /&gt;
Escape character is &#039;^]&#039;.&lt;br /&gt;
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE LITERAL+ STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you type the login command with a strange number preceeding: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Login Email Password&lt;br /&gt;
1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE NAMESPACE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you select the inbox. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 SELECT Inbox&lt;br /&gt;
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)&lt;br /&gt;
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.&lt;br /&gt;
* 6273 EXISTS&lt;br /&gt;
* 0 RECENT&lt;br /&gt;
* OK [UIDVALIDITY 1567592696] UIDs valid&lt;br /&gt;
* OK [UIDNEXT 31618] Predicted next UID&lt;br /&gt;
* OK [HIGHESTMODSEQ 53315] Highest&lt;br /&gt;
1 OK [READ-WRITE] Select completed (0.017 + 0.000 + 0.016 secs).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You see that 6273 mails exist. &lt;br /&gt;
&lt;br /&gt;
Now you type the logout command: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 LOGOUT&lt;br /&gt;
* BYE Logging out&lt;br /&gt;
1 OK Logout completed (0.001 + 0.000 secs).&lt;br /&gt;
Connection closed by foreign host.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Elasticsearch&amp;diff=229</id>
		<title>Elasticsearch</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Elasticsearch&amp;diff=229"/>
		<updated>2025-05-20T11:04:35Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Install Elastic Search 8==&lt;br /&gt;
&lt;br /&gt;
===Install Java===&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install java&lt;br /&gt;
&lt;br /&gt;
- - - - - - - - - - - - - - - - - - - - - - - - - -&lt;br /&gt;
OR FOR THE CURRENT LATEST VERSION: &lt;br /&gt;
&lt;br /&gt;
yum install java-1.8.0-openjdk.x86_64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To verify your JRE is installed and can be used, run the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;java -version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloading and Installing Elasticsearch:==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Add Repo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo vi /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
&lt;br /&gt;
[elasticsearch-8.x]&lt;br /&gt;
name=Elasticsearch repository for 8.x packages&lt;br /&gt;
baseurl=https://artifacts.elastic.co/packages/8.x/yum&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
autorefresh=1&lt;br /&gt;
type=rpm-md&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Install ElasticSearch===&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install elasticsearch&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once Elasticsearch is finished installing, open its main configuration file, elasticsearch.yml, in your editor:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
Change the following:&lt;br /&gt;
network.host: localhost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Elasticsearch As A Service: ===&lt;br /&gt;
&amp;lt;pre&amp;gt; /bin/systemctl daemon-reload&lt;br /&gt;
/bin/systemctl enable elasticsearch.service&lt;br /&gt;
/bin/systemctl start elasticsearch.service&lt;br /&gt;
/bin/systemctl status elasticsearch.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Check ElasticSearch Version===&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/share/elasticsearch/bin/elasticsearch --version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Errors and Solutions==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; org.elasticsearch.ElasticsearchSecurityException: invalid configuration for xpack.security.transport.ssl - [xpack.security.transport.ssl.enabled] is not set, but the following settings have been configured in elasticsearch.yml : [xpack.security.transport.ssl.keystore.secure_password,xpack.security.transport.ssl.truststore.secure_password]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the above, run the following: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /etc/elasticsearch/elasticsearch.keystore&lt;br /&gt;
/usr/share/elasticsearch/bin/elasticsearch-keystore create&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Main_Page&amp;diff=228</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Main_Page&amp;diff=228"/>
		<updated>2024-12-01T09:52:24Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to Geek wiki. You can find help for daily tasks.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:4&amp;quot;&amp;gt;&lt;br /&gt;
#[https://workwiki.in/Atop ATOP]&lt;br /&gt;
#[https://workwiki.in/AutoSSL AutoSSL]&lt;br /&gt;
#[https://workwiki.in/Cache_Clear Cache Clear]&lt;br /&gt;
#[https://workwiki.in/Caldav_SSL_error CalDav SSL Error]&lt;br /&gt;
#[https://workwiki.in/Catch-all Catch All]&lt;br /&gt;
#[https://workwiki.in/Cloudlinux Cloudlinux]&lt;br /&gt;
#[https://workwiki.in/Composer Composer]&lt;br /&gt;
#[https://workwiki.in/CPanel cPanel]&lt;br /&gt;
#[https://workwiki.in/CPanel_Errors cPanel Error]&lt;br /&gt;
#[https://workwiki.in/Create_File_Of_Any_Size Create File Of Any Size]&lt;br /&gt;
#[https://workwiki.in/CSF_Firewall CSF Firewall]&lt;br /&gt;
#[https://workwiki.in/DNS DNS]&lt;br /&gt;
#[https://workwiki.in/Elasticsearch ElasticSearch]&lt;br /&gt;
#[https://workwiki.in/FFmpeg FFmpeg]&lt;br /&gt;
#[https://workwiki.in/Firewalld Firewalld]&lt;br /&gt;
#[https://workwiki.in/Find_Command Find Command]&lt;br /&gt;
#[https://workwiki.in/Htaccess htaccess]&lt;br /&gt;
#[https://workwiki.in/Iframes Iframes]&lt;br /&gt;
#[https://workwiki.in/Imunify360 Imunify360]&lt;br /&gt;
#[https://workwiki.in/Internal_Server_Error Internal Server Error]&lt;br /&gt;
#[https://workwiki.in/Inodes Inodes]&lt;br /&gt;
#[https://workwiki.in/Laravel Laravel]&lt;br /&gt;
#[https://workwiki.in/LiteSpeed LiteSpeed]&lt;br /&gt;
#[https://workwiki.in/Log_Locations Log Locations]&lt;br /&gt;
#[https://workwiki.in/Magento Magento]&lt;br /&gt;
#[https://workwiki.in/Mail Mail Help]&lt;br /&gt;
#[https://workwiki.in/Memcache Memcache]&lt;br /&gt;
#[https://workwiki.in/MySQL MySQL]&lt;br /&gt;
#[https://workwiki.in/Plesk Plesk]&lt;br /&gt;
#[https://workwiki.in/PostgreSQL PostgreSQL]&lt;br /&gt;
#[https://workwiki.in/Python Python]&lt;br /&gt;
#[https://workwiki.in/Roundcube Roundcube]&lt;br /&gt;
#[https://workwiki.in/Security_Headers Security Headers]&lt;br /&gt;
#[https://workwiki.in/Softaculous Softaculous]&lt;br /&gt;
#[https://workwiki.in/Spam_Code_For_Email Spam Code For Email]&lt;br /&gt;
#[https://workwiki.in/Supervisor Supervisor]&lt;br /&gt;
#[https://workwiki.in/Time_zone Time Zone]&lt;br /&gt;
#[https://workwiki.in/Tree Tree]&lt;br /&gt;
#[https://workwiki.in/Wordpress Wordpress]&lt;br /&gt;
#[https://workwiki.in/Wordpress_CLI WordPress CLI]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Firewalld&amp;diff=227</id>
		<title>Firewalld</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Firewalld&amp;diff=227"/>
		<updated>2024-12-01T09:51:52Z</updated>

		<summary type="html">&lt;p&gt;Qljca: /* Open a Port in Firewalld */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Check Open Ports in Firewalld==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo firewall-cmd --list-ports&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Open a Port in Firewalld==&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo firewall-cmd --permanent --add-port=1234/tcp&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Firewalld&amp;diff=226</id>
		<title>Firewalld</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Firewalld&amp;diff=226"/>
		<updated>2024-12-01T09:51:35Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;==Check Open Ports in Firewalld==  &amp;lt;pre&amp;gt;sudo firewall-cmd --list-ports&amp;lt;/pre&amp;gt;   ==Open a Port in Firewalld== &amp;lt;pre&amp;gt;  sudo firewall-cmd --permanent --add-port=1234/tcp firewall-cmd --reload &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Check Open Ports in Firewalld==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo firewall-cmd --list-ports&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Open a Port in Firewalld==&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo firewall-cmd --permanent --add-port=1234/tcp&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Main_Page&amp;diff=225</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Main_Page&amp;diff=225"/>
		<updated>2024-11-23T09:34:51Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to Geek wiki. You can find help for daily tasks.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:4&amp;quot;&amp;gt;&lt;br /&gt;
#[https://workwiki.in/Atop ATOP]&lt;br /&gt;
#[https://workwiki.in/AutoSSL AutoSSL]&lt;br /&gt;
#[https://workwiki.in/Cache_Clear Cache Clear]&lt;br /&gt;
#[https://workwiki.in/Caldav_SSL_error CalDav SSL Error]&lt;br /&gt;
#[https://workwiki.in/Catch-all Catch All]&lt;br /&gt;
#[https://workwiki.in/Cloudlinux Cloudlinux]&lt;br /&gt;
#[https://workwiki.in/Composer Composer]&lt;br /&gt;
#[https://workwiki.in/CPanel cPanel]&lt;br /&gt;
#[https://workwiki.in/CPanel_Errors cPanel Error]&lt;br /&gt;
#[https://workwiki.in/Create_File_Of_Any_Size Create File Of Any Size]&lt;br /&gt;
#[https://workwiki.in/CSF_Firewall CSF Firewall]&lt;br /&gt;
#[https://workwiki.in/DNS DNS]&lt;br /&gt;
#[https://workwiki.in/Elasticsearch ElasticSearch]&lt;br /&gt;
#[https://workwiki.in/FFmpeg FFmpeg]&lt;br /&gt;
#[https://workwiki.in/Find_Command Find Command]&lt;br /&gt;
#[https://workwiki.in/Htaccess htaccess]&lt;br /&gt;
#[https://workwiki.in/Iframes Iframes]&lt;br /&gt;
#[https://workwiki.in/Imunify360 Imunify360]&lt;br /&gt;
#[https://workwiki.in/Internal_Server_Error Internal Server Error]&lt;br /&gt;
#[https://workwiki.in/Inodes Inodes]&lt;br /&gt;
#[https://workwiki.in/Laravel Laravel]&lt;br /&gt;
#[https://workwiki.in/LiteSpeed LiteSpeed]&lt;br /&gt;
#[https://workwiki.in/Log_Locations Log Locations]&lt;br /&gt;
#[https://workwiki.in/Magento Magento]&lt;br /&gt;
#[https://workwiki.in/Mail Mail Help]&lt;br /&gt;
#[https://workwiki.in/Memcache Memcache]&lt;br /&gt;
#[https://workwiki.in/MySQL MySQL]&lt;br /&gt;
#[https://workwiki.in/Plesk Plesk]&lt;br /&gt;
#[https://workwiki.in/PostgreSQL PostgreSQL]&lt;br /&gt;
#[https://workwiki.in/Python Python]&lt;br /&gt;
#[https://workwiki.in/Roundcube Roundcube]&lt;br /&gt;
#[https://workwiki.in/Security_Headers Security Headers]&lt;br /&gt;
#[https://workwiki.in/Softaculous Softaculous]&lt;br /&gt;
#[https://workwiki.in/Spam_Code_For_Email Spam Code For Email]&lt;br /&gt;
#[https://workwiki.in/Supervisor Supervisor]&lt;br /&gt;
#[https://workwiki.in/Time_zone Time Zone]&lt;br /&gt;
#[https://workwiki.in/Tree Tree]&lt;br /&gt;
#[https://workwiki.in/Wordpress Wordpress]&lt;br /&gt;
#[https://workwiki.in/Wordpress_CLI WordPress CLI]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Elasticsearch&amp;diff=224</id>
		<title>Elasticsearch</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Elasticsearch&amp;diff=224"/>
		<updated>2024-11-23T09:26:05Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;==Install Elastic Search 8==  ===Install Java=== &amp;lt;pre&amp;gt;yum install java  - - - - - - - - - - - - - - - - - - - - - - - - - - OR FOR THE CURRENT LATEST VERSION:   yum install java-1.8.0-openjdk.x86_64 &amp;lt;/pre&amp;gt;   To verify your JRE is installed and can be used, run the command:  &amp;lt;pre&amp;gt;java -version&amp;lt;/pre&amp;gt;   ==Downloading and Installing Elasticsearch:== &amp;lt;pre&amp;gt; sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch &amp;lt;/pre&amp;gt;   ===Add Repo===  &amp;lt;pre&amp;gt;sudo vi /etc/yum.repos...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Install Elastic Search 8==&lt;br /&gt;
&lt;br /&gt;
===Install Java===&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install java&lt;br /&gt;
&lt;br /&gt;
- - - - - - - - - - - - - - - - - - - - - - - - - -&lt;br /&gt;
OR FOR THE CURRENT LATEST VERSION: &lt;br /&gt;
&lt;br /&gt;
yum install java-1.8.0-openjdk.x86_64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To verify your JRE is installed and can be used, run the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;java -version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloading and Installing Elasticsearch:==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Add Repo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo vi /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
&lt;br /&gt;
[elasticsearch-6.x]&lt;br /&gt;
name=Elasticsearch repository for 6.x packages&lt;br /&gt;
baseurl=https://artifacts.elastic.co/packages/6.x/yum&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
autorefresh=1&lt;br /&gt;
type=rpm-md&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Install ElasticSearch===&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install elasticsearch&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once Elasticsearch is finished installing, open its main configuration file, elasticsearch.yml, in your editor:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
Change the following:&lt;br /&gt;
network.host: localhost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Elasticsearch As A Service: ===&lt;br /&gt;
&amp;lt;pre&amp;gt; /bin/systemctl daemon-reload&lt;br /&gt;
/bin/systemctl enable elasticsearch.service&lt;br /&gt;
/bin/systemctl start elasticsearch.service&lt;br /&gt;
/bin/systemctl status elasticsearch.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Check ElasticSearch Version===&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/share/elasticsearch/bin/elasticsearch --version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Errors and Solutions==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; org.elasticsearch.ElasticsearchSecurityException: invalid configuration for xpack.security.transport.ssl - [xpack.security.transport.ssl.enabled] is not set, but the following settings have been configured in elasticsearch.yml : [xpack.security.transport.ssl.keystore.secure_password,xpack.security.transport.ssl.truststore.secure_password]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the above, run the following: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /etc/elasticsearch/elasticsearch.keystore&lt;br /&gt;
/usr/share/elasticsearch/bin/elasticsearch-keystore create&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Ubuntu&amp;diff=223</id>
		<title>Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Ubuntu&amp;diff=223"/>
		<updated>2024-06-24T12:07:04Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;==Temporary Failure Resolving==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Temporary Failure Resolving==&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Main_Page&amp;diff=222</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Main_Page&amp;diff=222"/>
		<updated>2024-06-22T06:50:38Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to Geek wiki. You can find help for daily tasks.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:4&amp;quot;&amp;gt;&lt;br /&gt;
#[https://workwiki.in/Atop ATOP]&lt;br /&gt;
#[https://workwiki.in/AutoSSL AutoSSL]&lt;br /&gt;
#[https://workwiki.in/Cache_Clear Cache Clear]&lt;br /&gt;
#[https://workwiki.in/Caldav_SSL_error CalDav SSL Error]&lt;br /&gt;
#[https://workwiki.in/Catch-all Catch All]&lt;br /&gt;
#[https://workwiki.in/Cloudlinux Cloudlinux]&lt;br /&gt;
#[https://workwiki.in/Composer Composer]&lt;br /&gt;
#[https://workwiki.in/CPanel cPanel]&lt;br /&gt;
#[https://workwiki.in/CPanel_Errors cPanel Error]&lt;br /&gt;
#[https://workwiki.in/Create_File_Of_Any_Size Create File Of Any Size]&lt;br /&gt;
#[https://workwiki.in/CSF_Firewall CSF Firewall]&lt;br /&gt;
#[https://workwiki.in/DNS DNS]&lt;br /&gt;
#[https://workwiki.in/FFmpeg FFmpeg]&lt;br /&gt;
#[https://workwiki.in/Find_Command Find Command]&lt;br /&gt;
#[https://workwiki.in/Htaccess htaccess]&lt;br /&gt;
#[https://workwiki.in/Iframes Iframes]&lt;br /&gt;
#[https://workwiki.in/Imunify360 Imunify360]&lt;br /&gt;
#[https://workwiki.in/Internal_Server_Error Internal Server Error]&lt;br /&gt;
#[https://workwiki.in/Inodes Inodes]&lt;br /&gt;
#[https://workwiki.in/Laravel Laravel]&lt;br /&gt;
#[https://workwiki.in/LiteSpeed LiteSpeed]&lt;br /&gt;
#[https://workwiki.in/Log_Locations Log Locations]&lt;br /&gt;
#[https://workwiki.in/Magento Magento]&lt;br /&gt;
#[https://workwiki.in/Mail Mail Help]&lt;br /&gt;
#[https://workwiki.in/Memcache Memcache]&lt;br /&gt;
#[https://workwiki.in/MySQL MySQL]&lt;br /&gt;
#[https://workwiki.in/Plesk Plesk]&lt;br /&gt;
#[https://workwiki.in/PostgreSQL PostgreSQL]&lt;br /&gt;
#[https://workwiki.in/Python Python]&lt;br /&gt;
#[https://workwiki.in/Roundcube Roundcube]&lt;br /&gt;
#[https://workwiki.in/Security_Headers Security Headers]&lt;br /&gt;
#[https://workwiki.in/Softaculous Softaculous]&lt;br /&gt;
#[https://workwiki.in/Spam_Code_For_Email Spam Code For Email]&lt;br /&gt;
#[https://workwiki.in/Supervisor Supervisor]&lt;br /&gt;
#[https://workwiki.in/Time_zone Time Zone]&lt;br /&gt;
#[https://workwiki.in/Tree Tree]&lt;br /&gt;
#[https://workwiki.in/Wordpress Wordpress]&lt;br /&gt;
#[https://workwiki.in/Wordpress_CLI WordPress CLI]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=221</id>
		<title>CPanel Errors</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=CPanel_Errors&amp;diff=221"/>
		<updated>2024-06-22T06:50:11Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;==Cannot create or restore account: &amp;#039;The system could not create the user &amp;quot;username&amp;quot; because it conflicts with an unmanaged MySQL database user&amp;#039; ==  Attempting to create or restore an account results in an error similar to the following.  &amp;lt;pre&amp;gt;Failed to create the account: (XID xxxxxx) The system could not create the user &amp;quot;username&amp;quot; because it conflicts with an unmanaged MySQL database user. at /usr/local/cpanel/Whostmgr/Accounts/Create.pm line 1380.&amp;lt;/pre&amp;gt;  This issue is...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cannot create or restore account: &#039;The system could not create the user &amp;quot;username&amp;quot; because it conflicts with an unmanaged MySQL database user&#039; ==&lt;br /&gt;
&lt;br /&gt;
Attempting to create or restore an account results in an error similar to the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Failed to create the account: (XID xxxxxx) The system could not create the user &amp;quot;username&amp;quot; because it conflicts with an unmanaged MySQL database user. at /usr/local/cpanel/Whostmgr/Accounts/Create.pm line 1380.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This issue is caused by there being a MySQL database or MySQL user that starts with or is identical to the username being restored.&lt;br /&gt;
&lt;br /&gt;
===Workaround===&lt;br /&gt;
You can find the MySQL user that is conflicting with the following procedure:&lt;br /&gt;
&lt;br /&gt;
1. Access the server&#039;s command line as the &#039;root&#039; user via the &amp;quot;Terminal&amp;quot; interface in WHM or SSH.&lt;br /&gt;
2. Access MySQL.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Access the &amp;quot;mysql&amp;quot; database.&lt;br /&gt;
&amp;lt;pre&amp;gt;use mysql;&amp;lt;/pre&amp;gt;&lt;br /&gt;
4. Run the following queries to locate the user&lt;br /&gt;
&amp;lt;pre&amp;gt;select User, Host from user where User like &amp;quot;username%&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;select Host, Db, User from db where Db like &amp;quot;username%&amp;quot;;&amp;lt;/pre&amp;gt;.&lt;br /&gt;
Please note, &#039;username&#039; must be replaced by the cPanel account&#039;s username. The &#039;%&#039; symbol is a wildcard that will allow the query to locate similar usernames.&lt;br /&gt;
&lt;br /&gt;
Once you know what needs to be removed, your systems administrator or database administrator can determine if the databases and users are needed, and how best to safely remove or rename the databases and database users so that no further conflict exists.&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Magento&amp;diff=220</id>
		<title>Magento</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Magento&amp;diff=220"/>
		<updated>2024-06-21T11:55:46Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Static Content Re-Generate==&lt;br /&gt;
&lt;br /&gt;
Before deleting pub/static make a backup of pub/static/.htaccess and restore it again. otherwise your all css and js will show 404 error!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Remove pub/static (keep the .htaccess backed up and copy it again)&lt;br /&gt;
Remove var/cache&lt;br /&gt;
Remove var/composer_home&lt;br /&gt;
Remove var/generation&lt;br /&gt;
Remove var/page_cache&lt;br /&gt;
Remove var/view_preprocessed&lt;br /&gt;
Run php bin/magento setup:static-content:deploy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Product not showing on frontend==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
php bin/magento indexer:reindex&lt;br /&gt;
php bin/magento cache:clean&lt;br /&gt;
php bin/magento cache:flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Admin login not working== &lt;br /&gt;
&lt;br /&gt;
1. Clear the admin session table from phpmyadmin. tabke name: admin_user_session&lt;br /&gt;
&lt;br /&gt;
2. Unlock the admin account&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
php bin/magento admin:user:unlock $user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Update Password of the admin user: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET @salt = MD5(UNIX_TIMESTAMP());&lt;br /&gt;
UPDATE $admin_table SET `password` = CONCAT(SHA2(CONCAT(@salt, &#039;NewP@ssword&#039;), 256), &#039;:&#039;, @salt, &#039;:1&#039;) WHERE username = &#039;$admin_user&#039;;&lt;br /&gt;
&lt;br /&gt;
For Example:&lt;br /&gt;
SET @salt = MD5(UNIX_TIMESTAMP());&lt;br /&gt;
UPDATE mgsv_admin_user SET `password` = CONCAT(SHA2(CONCAT(@salt, &#039;Magento@123&#039;), 256), &#039;:&#039;, @salt, &#039;:1&#039;) WHERE username = &#039;mageplaza&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Empty Output Of Magento Commands==&lt;br /&gt;
&lt;br /&gt;
Open bin/magento in your preferred file editor and add the following line and save:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ini_set(&#039;display_errors&#039;, 1);  // allow PHP errors reporting&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the command again and now it will show the exact error. After debugging, remove the above error code. &lt;br /&gt;
&lt;br /&gt;
==Allowed memory size of x bytes exhausted==&lt;br /&gt;
&lt;br /&gt;
Add &amp;quot;add -d memory_limit=XX&amp;quot; in the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Example: php -d memory_limit=4G bin/magento setup:di:compile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cron for Magento is not running==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Check if they have cronjob under cPanel &amp;gt;&amp;gt; Cronjobs.&lt;br /&gt;
2. If not, add the one like : /usr/bin/php  /home/user/public_html/bin/magento cron:run  | grep -v &amp;quot;Ran jobs by schedule&amp;quot; &amp;gt;&amp;gt;  /home/user/public_html/var/log/magento.cron.log&lt;br /&gt;
3. if they had the cronjob already, try to run it via command line&lt;br /&gt;
4. You may see memory error like : Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 9305840 bytes)&lt;br /&gt;
5. Check the php path in the cron command and confirm the memory limit set is enough for that version.&lt;br /&gt;
6. At last check if the account has any .user.ini, php.ini or .htaccess files which will override the memory_limit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Cache_Clear&amp;diff=219</id>
		<title>Cache Clear</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Cache_Clear&amp;diff=219"/>
		<updated>2024-06-21T11:52:24Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wordpress==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wp cache flush&lt;br /&gt;
rm -rf wp-content/cache/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Magento==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bin/magento cache:clean&lt;br /&gt;
php bin/magento c:c&lt;br /&gt;
bin/magento cache:flush&lt;br /&gt;
php bin/magento c:f&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Prestashop==&lt;br /&gt;
&lt;br /&gt;
===Prestashop 1.6===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete all of the content in the following directories except for the index.php file:&lt;br /&gt;
&lt;br /&gt;
img/tmp&lt;br /&gt;
cache/smarty/cache&lt;br /&gt;
cache/smarty/compile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Prestashop 1.7===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Erase all the files and folders inside the following directories:&lt;br /&gt;
&lt;br /&gt;
var/cache/dev (for development mode) or var/cache/prod (for production mode)&lt;br /&gt;
img/tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Laravel==&lt;br /&gt;
&lt;br /&gt;
To clear Laravel Cache, refer to [https://workwiki.in/Laravel#Clear_Cache_in_Laravel_using_Artisan_Command Clear Laravel Cache]&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Cache_Clear&amp;diff=218</id>
		<title>Cache Clear</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Cache_Clear&amp;diff=218"/>
		<updated>2024-06-21T11:49:10Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wordpress==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wp cache clear&lt;br /&gt;
rm -rf wp-content/cache/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Magento==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bin/magento cache:clean&lt;br /&gt;
php bin/magento c:c&lt;br /&gt;
bin/magento cache:flush&lt;br /&gt;
php bin/magento c:f&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Prestashop==&lt;br /&gt;
&lt;br /&gt;
===Prestashop 1.6===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete all of the content in the following directories except for the index.php file:&lt;br /&gt;
&lt;br /&gt;
img/tmp&lt;br /&gt;
cache/smarty/cache&lt;br /&gt;
cache/smarty/compile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Prestashop 1.7===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Erase all the files and folders inside the following directories:&lt;br /&gt;
&lt;br /&gt;
var/cache/dev (for development mode) or var/cache/prod (for production mode)&lt;br /&gt;
img/tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Laravel==&lt;br /&gt;
&lt;br /&gt;
To clear Laravel Cache, refer to [https://workwiki.in/Laravel#Clear_Cache_in_Laravel_using_Artisan_Command Clear Laravel Cache]&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Main_Page&amp;diff=217</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Main_Page&amp;diff=217"/>
		<updated>2024-06-21T11:48:45Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to Geek wiki. You can find help for daily tasks.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:4&amp;quot;&amp;gt;&lt;br /&gt;
#[https://workwiki.in/Atop ATOP]&lt;br /&gt;
#[https://workwiki.in/AutoSSL AutoSSL]&lt;br /&gt;
#[https://workwiki.in/Cache_Clear Cache Clear]&lt;br /&gt;
#[https://workwiki.in/Caldav_SSL_error CalDav SSL Error]&lt;br /&gt;
#[https://workwiki.in/Catch-all Catch All]&lt;br /&gt;
#[https://workwiki.in/Cloudlinux Cloudlinux]&lt;br /&gt;
#[https://workwiki.in/Composer Composer]&lt;br /&gt;
#[https://workwiki.in/CPanel cPanel]&lt;br /&gt;
#[https://workwiki.in/Create_File_Of_Any_Size Create File Of Any Size]&lt;br /&gt;
#[https://workwiki.in/CSF_Firewall CSF Firewall]&lt;br /&gt;
#[https://workwiki.in/DNS DNS]&lt;br /&gt;
#[https://workwiki.in/FFmpeg FFmpeg]&lt;br /&gt;
#[https://workwiki.in/Find_Command Find Command]&lt;br /&gt;
#[https://workwiki.in/Htaccess htaccess]&lt;br /&gt;
#[https://workwiki.in/Iframes Iframes]&lt;br /&gt;
#[https://workwiki.in/Imunify360 Imunify360]&lt;br /&gt;
#[https://workwiki.in/Internal_Server_Error Internal Server Error]&lt;br /&gt;
#[https://workwiki.in/Inodes Inodes]&lt;br /&gt;
#[https://workwiki.in/Laravel Laravel]&lt;br /&gt;
#[https://workwiki.in/LiteSpeed LiteSpeed]&lt;br /&gt;
#[https://workwiki.in/Log_Locations Log Locations]&lt;br /&gt;
#[https://workwiki.in/Magento Magento]&lt;br /&gt;
#[https://workwiki.in/Mail Mail Help]&lt;br /&gt;
#[https://workwiki.in/Memcache Memcache]&lt;br /&gt;
#[https://workwiki.in/MySQL MySQL]&lt;br /&gt;
#[https://workwiki.in/Plesk Plesk]&lt;br /&gt;
#[https://workwiki.in/PostgreSQL PostgreSQL]&lt;br /&gt;
#[https://workwiki.in/Python Python]&lt;br /&gt;
#[https://workwiki.in/Roundcube Roundcube]&lt;br /&gt;
#[https://workwiki.in/Security_Headers Security Headers]&lt;br /&gt;
#[https://workwiki.in/Softaculous Softaculous]&lt;br /&gt;
#[https://workwiki.in/Spam_Code_For_Email Spam Code For Email]&lt;br /&gt;
#[https://workwiki.in/Supervisor Supervisor]&lt;br /&gt;
#[https://workwiki.in/Time_zone Time Zone]&lt;br /&gt;
#[https://workwiki.in/Tree Tree]&lt;br /&gt;
#[https://workwiki.in/Wordpress Wordpress]&lt;br /&gt;
#[https://workwiki.in/Wordpress_CLI WordPress CLI]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Cache_Clear&amp;diff=216</id>
		<title>Cache Clear</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Cache_Clear&amp;diff=216"/>
		<updated>2024-06-21T11:47:53Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;==Wordpress== &amp;lt;pre&amp;gt; wp cache clear rm -rf wp-content/cache/ &amp;lt;/pre&amp;gt;  ==Magento== &amp;lt;pre&amp;gt; bin/magento cache:clean php bin/magento c:c bin/magento cache:flush php bin/magento c:f &amp;lt;/pre&amp;gt;  ==Prestashop==  ===Prestashop 1.6== &amp;lt;pre&amp;gt; delete all of the content in the following directories except for the index.php file:  img/tmp cache/smarty/cache cache/smarty/compile &amp;lt;/pre&amp;gt;  ===Prestashop 1.7=== &amp;lt;pre&amp;gt; Erase all the files and folders inside the following directories:  var/cache/dev...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wordpress==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wp cache clear&lt;br /&gt;
rm -rf wp-content/cache/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Magento==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bin/magento cache:clean&lt;br /&gt;
php bin/magento c:c&lt;br /&gt;
bin/magento cache:flush&lt;br /&gt;
php bin/magento c:f&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Prestashop==&lt;br /&gt;
&lt;br /&gt;
===Prestashop 1.6==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete all of the content in the following directories except for the index.php file:&lt;br /&gt;
&lt;br /&gt;
img/tmp&lt;br /&gt;
cache/smarty/cache&lt;br /&gt;
cache/smarty/compile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Prestashop 1.7===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Erase all the files and folders inside the following directories:&lt;br /&gt;
&lt;br /&gt;
var/cache/dev (for development mode) or var/cache/prod (for production mode)&lt;br /&gt;
img/tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Laravel==&lt;br /&gt;
&lt;br /&gt;
To clear Laravel Cache, refer to [https://workwiki.in/Laravel#Clear_Cache_in_Laravel_using_Artisan_Command Clear Laravel Cache]&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=215</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=215"/>
		<updated>2024-06-21T10:49:20Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
a {color: #4ECCA3;}&lt;br /&gt;
body { background-color: #062925; }&lt;br /&gt;
#mw-page-base { background-color: #062925; background-image: linear-gradient(to bottom,#062925 50%,#044A42 100%);}&lt;br /&gt;
.mw-body { background-color: #044A42; color: #fff; }&lt;br /&gt;
pre { background-color: #3A9188; color: #000; border: 1px solid #B8E1DD; }&lt;br /&gt;
h1, h2, h3, h4, h5, h6 { color: #fff;}&lt;br /&gt;
div li {margin-bottom: 1em;}&lt;br /&gt;
.toc li {  margin-bottom: 0.4em !important;}&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a:visited {color: #14FFEC; }&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a {color: #4ECCA3; }&lt;br /&gt;
.vector-menu-tabs-legacy .selected {    background: #3A9188; }&lt;br /&gt;
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #14FFEC; }&lt;br /&gt;
.mw-footer li { color: #B8E1DD;}&lt;br /&gt;
.vector-menu-tabs-legacy li {background-image: linear-gradient(to top,#062925 0,#B8E1DD 1px,#3A9188 100%);}&lt;br /&gt;
.toc, .toccolours { border: 1px solid #B8E1DD; background-color: #044A42;}&lt;br /&gt;
.vector-menu-tabs-legacy li a {color: #062925;}&lt;br /&gt;
.vector-menu-dropdown .mw-list-item a { color: #3A9188;}&lt;br /&gt;
.vector-menu-dropdown .vector-menu-heading {color: #B8E1DD;}&lt;br /&gt;
a:visited {    color: #B8E1DD;}&lt;br /&gt;
.tocnumber { color: #4ECCA3;}&lt;br /&gt;
.mw-parser-output a.external { color: #14FFEC; }&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Main_Page&amp;diff=214</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Main_Page&amp;diff=214"/>
		<updated>2024-06-21T10:47:15Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to Geek wiki. You can find help for daily tasks.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:4&amp;quot;&amp;gt;&lt;br /&gt;
#[https://workwiki.in/Atop ATOP]&lt;br /&gt;
#[https://workwiki.in/AutoSSL AutoSSL]&lt;br /&gt;
#[https://workwiki.in/Caldav_SSL_error CalDav SSL Error]&lt;br /&gt;
#[https://workwiki.in/Catch-all Catch All]&lt;br /&gt;
#[https://workwiki.in/Cloudlinux Cloudlinux]&lt;br /&gt;
#[https://workwiki.in/Composer Composer]&lt;br /&gt;
#[https://workwiki.in/CPanel cPanel]&lt;br /&gt;
#[https://workwiki.in/Create_File_Of_Any_Size Create File Of Any Size]&lt;br /&gt;
#[https://workwiki.in/CSF_Firewall CSF Firewall]&lt;br /&gt;
#[https://workwiki.in/DNS DNS]&lt;br /&gt;
#[https://workwiki.in/FFmpeg FFmpeg]&lt;br /&gt;
#[https://workwiki.in/Find_Command Find Command]&lt;br /&gt;
#[https://workwiki.in/Htaccess htaccess]&lt;br /&gt;
#[https://workwiki.in/Iframes Iframes]&lt;br /&gt;
#[https://workwiki.in/Imunify360 Imunify360]&lt;br /&gt;
#[https://workwiki.in/Internal_Server_Error Internal Server Error]&lt;br /&gt;
#[https://workwiki.in/Inodes Inodes]&lt;br /&gt;
#[https://workwiki.in/Laravel Laravel]&lt;br /&gt;
#[https://workwiki.in/LiteSpeed LiteSpeed]&lt;br /&gt;
#[https://workwiki.in/Log_Locations Log Locations]&lt;br /&gt;
#[https://workwiki.in/Magento Magento]&lt;br /&gt;
#[https://workwiki.in/Mail Mail Help]&lt;br /&gt;
#[https://workwiki.in/Memcache Memcache]&lt;br /&gt;
#[https://workwiki.in/MySQL MySQL]&lt;br /&gt;
#[https://workwiki.in/Plesk Plesk]&lt;br /&gt;
#[https://workwiki.in/PostgreSQL PostgreSQL]&lt;br /&gt;
#[https://workwiki.in/Python Python]&lt;br /&gt;
#[https://workwiki.in/Roundcube Roundcube]&lt;br /&gt;
#[https://workwiki.in/Security_Headers Security Headers]&lt;br /&gt;
#[https://workwiki.in/Softaculous Softaculous]&lt;br /&gt;
#[https://workwiki.in/Spam_Code_For_Email Spam Code For Email]&lt;br /&gt;
#[https://workwiki.in/Supervisor Supervisor]&lt;br /&gt;
#[https://workwiki.in/Time_zone Time Zone]&lt;br /&gt;
#[https://workwiki.in/Tree Tree]&lt;br /&gt;
#[https://workwiki.in/Wordpress Wordpress]&lt;br /&gt;
#[https://workwiki.in/Wordpress_CLI WordPress CLI]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Composer&amp;diff=213</id>
		<title>Composer</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Composer&amp;diff=213"/>
		<updated>2024-06-21T10:46:19Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;==Installation==  ===Server-wide Installation=== &amp;lt;pre&amp;gt; php -r &amp;quot;copy(&amp;#039;https://getcomposer.org/installer&amp;#039;, &amp;#039;composer-setup.php&amp;#039;);&amp;quot; php composer-setup.php --install-dir=/usr/local/bin --filename=composer composer -V &amp;lt;/pre&amp;gt;  ===User Level Installation=== &amp;lt;pre&amp;gt; php -r &amp;quot;copy(&amp;#039;https://getcomposer.org/installer&amp;#039;, &amp;#039;composer-setup.php&amp;#039;);&amp;quot; php composer-setup.php composer -V  Or  echo &amp;#039;alias composer=&amp;quot;php -d allow_url_fopen=On ${HOME}/composer.phar&amp;quot;&amp;#039; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc cu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
&lt;br /&gt;
===Server-wide Installation===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
php -r &amp;quot;copy(&#039;https://getcomposer.org/installer&#039;, &#039;composer-setup.php&#039;);&amp;quot;&lt;br /&gt;
php composer-setup.php --install-dir=/usr/local/bin --filename=composer&lt;br /&gt;
composer -V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===User Level Installation===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
php -r &amp;quot;copy(&#039;https://getcomposer.org/installer&#039;, &#039;composer-setup.php&#039;);&amp;quot;&lt;br /&gt;
php composer-setup.php&lt;br /&gt;
composer -V&lt;br /&gt;
&lt;br /&gt;
Or&lt;br /&gt;
&lt;br /&gt;
echo &#039;alias composer=&amp;quot;php -d allow_url_fopen=On ${HOME}/composer.phar&amp;quot;&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
curl -k -O https://getcomposer.org/installer&lt;br /&gt;
php -d allow_url_fopen=On installer&lt;br /&gt;
composer -V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Composer Update==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
composer self-update&lt;br /&gt;
composer -V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Errors==&lt;br /&gt;
&lt;br /&gt;
===Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Install Composer in user home directory to fix this. Alternatively, need to use complete path of the php and composer as below: &lt;br /&gt;
/opt/cpanel/ea-php74/root/usr/bin/php /opt/cpanel/composer/bin/composer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Composer cannot be run safely on non-CLI SAPIs with register_argc_argv=On==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Install Composer in user home directory to fix this. Alternatively, need to use complete path of the php and composer as below: &lt;br /&gt;
/opt/cpanel/ea-php74/root/usr/bin/php /opt/cpanel/composer/bin/composer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=MediaWiki:Vector.css&amp;diff=212</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=MediaWiki:Vector.css&amp;diff=212"/>
		<updated>2024-06-21T08:28:51Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* All CSS here will be loaded for users of the Vector skin */&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=211</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=211"/>
		<updated>2024-06-21T08:11:08Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
a {color: #4ECCA3;}&lt;br /&gt;
body { background-color: #062925; }&lt;br /&gt;
#mw-page-base { background-color: #062925; background-image: linear-gradient(to bottom,#062925 50%,#044A42 100%);}&lt;br /&gt;
.mw-body { background-color: #044A42; color: #fff; }&lt;br /&gt;
pre { background-color: #3A9188; color: #000; border: 1px solid #B8E1DD; }&lt;br /&gt;
h1, h2, h3, h4, h5, h6 { color: #fff;}&lt;br /&gt;
div li {margin-bottom: 1em;}&lt;br /&gt;
.toc li {  margin-bottom: 0.4em !important;}&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a:visited {color: #14FFEC; }&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a {color: #4ECCA3; }&lt;br /&gt;
.vector-menu-tabs-legacy .selected {    background: #3A9188; }&lt;br /&gt;
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #14FFEC; }&lt;br /&gt;
.mw-footer li { color: #B8E1DD;}&lt;br /&gt;
.vector-menu-tabs-legacy li {background-image: linear-gradient(to top,#062925 0,#B8E1DD 1px,#3A9188 100%);}&lt;br /&gt;
.toc, .toccolours { border: 1px solid #B8E1DD; background-color: #044A42;}&lt;br /&gt;
.vector-menu-tabs-legacy li a {color: #062925;}&lt;br /&gt;
.vector-menu-dropdown .mw-list-item a { color: #3A9188;}&lt;br /&gt;
.vector-menu-dropdown .vector-menu-heading {color: #B8E1DD;}&lt;br /&gt;
a:visited {    color: #B8E1DD;}&lt;br /&gt;
.tocnumber { color: #4ECCA3;}&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=210</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=210"/>
		<updated>2024-06-21T08:10:15Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
a {color: #4ECCA3;}&lt;br /&gt;
body { background-color: #062925; }&lt;br /&gt;
#mw-page-base { background-color: #062925; background-image: linear-gradient(to bottom,#062925 50%,#044A42 100%);}&lt;br /&gt;
.mw-body { background-color: #044A42; color: #fff; }&lt;br /&gt;
pre { background-color: #3A9188; color: #000; border: 1px solid #B8E1DD; }&lt;br /&gt;
h1, h2, h3, h4, h5, h6 { color: #fff;}&lt;br /&gt;
.mw-parser-output li {margin-bottom: 1em;}&lt;br /&gt;
.toc li {  margin-bottom: 0.4em !important;}&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a:visited {color: #14FFEC; }&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a {color: #4ECCA3; }&lt;br /&gt;
.vector-menu-tabs-legacy .selected {    background: #3A9188; }&lt;br /&gt;
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #14FFEC; }&lt;br /&gt;
.mw-footer li { color: #B8E1DD;}&lt;br /&gt;
.vector-menu-tabs-legacy li {background-image: linear-gradient(to top,#062925 0,#B8E1DD 1px,#3A9188 100%);}&lt;br /&gt;
.toc, .toccolours { border: 1px solid #B8E1DD; background-color: #044A42;}&lt;br /&gt;
.vector-menu-tabs-legacy li a {color: #062925;}&lt;br /&gt;
.vector-menu-dropdown .mw-list-item a { color: #3A9188;}&lt;br /&gt;
.vector-menu-dropdown .vector-menu-heading {color: #B8E1DD;}&lt;br /&gt;
a:visited {    color: #B8E1DD;}&lt;br /&gt;
.tocnumber { color: #4ECCA3;}&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=209</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=MediaWiki:Common.css&amp;diff=209"/>
		<updated>2024-06-21T08:09:46Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
a {color: #4ECCA3;}&lt;br /&gt;
body { background-color: #062925; }&lt;br /&gt;
#mw-page-base { background-color: #062925; background-image: linear-gradient(to bottom,#062925 50%,#044A42 100%);}&lt;br /&gt;
.mw-body { background-color: #044A42; color: #fff; }&lt;br /&gt;
pre { background-color: #3A9188; color: #000; border: 1px solid #B8E1DD; }&lt;br /&gt;
h1, h2, h3, h4, h5, h6 { color: #fff;}&lt;br /&gt;
.mw-parser-output li {margin-bottom: 1em;}&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a:visited {color: #14FFEC; }&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a {color: #4ECCA3; }&lt;br /&gt;
.vector-menu-tabs-legacy .selected {    background: #3A9188; }&lt;br /&gt;
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #14FFEC; }&lt;br /&gt;
.mw-footer li { color: #B8E1DD;}&lt;br /&gt;
.vector-menu-tabs-legacy li {background-image: linear-gradient(to top,#062925 0,#B8E1DD 1px,#3A9188 100%);}&lt;br /&gt;
.toc, .toccolours { border: 1px solid #B8E1DD; background-color: #044A42;}&lt;br /&gt;
.vector-menu-tabs-legacy li a {color: #062925;}&lt;br /&gt;
.vector-menu-dropdown .mw-list-item a { color: #3A9188;}&lt;br /&gt;
.vector-menu-dropdown .vector-menu-heading {color: #B8E1DD;}&lt;br /&gt;
a:visited {    color: #B8E1DD;}&lt;br /&gt;
.tocnumber { color: #4ECCA3;}&lt;br /&gt;
.toc li {  margin-bottom: 0.4em !important;}&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Main_Page&amp;diff=208</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Main_Page&amp;diff=208"/>
		<updated>2024-06-21T08:07:50Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to Geek wiki. You can find help for daily tasks.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:4&amp;quot;&amp;gt;&lt;br /&gt;
#[https://workwiki.in/Atop ATOP]&lt;br /&gt;
#[https://workwiki.in/AutoSSL AutoSSL]&lt;br /&gt;
#[https://workwiki.in/Caldav_SSL_error CalDav SSL Error]&lt;br /&gt;
#[https://workwiki.in/Catch-all Catch All]&lt;br /&gt;
#[https://workwiki.in/Cloudlinux Cloudlinux]&lt;br /&gt;
#[https://workwiki.in/CPanel cPanel]&lt;br /&gt;
#[https://workwiki.in/Create_File_Of_Any_Size Create File Of Any Size]&lt;br /&gt;
#[https://workwiki.in/CSF_Firewall CSF Firewall]&lt;br /&gt;
#[https://workwiki.in/DNS DNS]&lt;br /&gt;
#[https://workwiki.in/FFmpeg FFmpeg]&lt;br /&gt;
#[https://workwiki.in/Find_Command Find Command]&lt;br /&gt;
#[https://workwiki.in/Htaccess htaccess]&lt;br /&gt;
#[https://workwiki.in/Iframes Iframes]&lt;br /&gt;
#[https://workwiki.in/Imunify360 Imunify360]&lt;br /&gt;
#[https://workwiki.in/Internal_Server_Error Internal Server Error]&lt;br /&gt;
#[https://workwiki.in/Inodes Inodes]&lt;br /&gt;
#[https://workwiki.in/Laravel Laravel]&lt;br /&gt;
#[https://workwiki.in/LiteSpeed LiteSpeed]&lt;br /&gt;
#[https://workwiki.in/Log_Locations Log Locations]&lt;br /&gt;
#[https://workwiki.in/Magento Magento]&lt;br /&gt;
#[https://workwiki.in/Mail Mail Help]&lt;br /&gt;
#[https://workwiki.in/Memcache Memcache]&lt;br /&gt;
#[https://workwiki.in/MySQL MySQL]&lt;br /&gt;
#[https://workwiki.in/Plesk Plesk]&lt;br /&gt;
#[https://workwiki.in/PostgreSQL PostgreSQL]&lt;br /&gt;
#[https://workwiki.in/Python Python]&lt;br /&gt;
#[https://workwiki.in/Roundcube Roundcube]&lt;br /&gt;
#[https://workwiki.in/Security_Headers Security Headers]&lt;br /&gt;
#[https://workwiki.in/Softaculous Softaculous]&lt;br /&gt;
#[https://workwiki.in/Spam_Code_For_Email Spam Code For Email]&lt;br /&gt;
#[https://workwiki.in/Supervisor Supervisor]&lt;br /&gt;
#[https://workwiki.in/Time_zone Time Zone]&lt;br /&gt;
#[https://workwiki.in/Tree Tree]&lt;br /&gt;
#[https://workwiki.in/Wordpress Wordpress]&lt;br /&gt;
#[https://workwiki.in/Wordpress_CLI WordPress CLI]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=FFmpeg&amp;diff=207</id>
		<title>FFmpeg</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=FFmpeg&amp;diff=207"/>
		<updated>2024-06-21T08:06:52Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;3.4.8 is the latest possible version on CentOS7. if they want 4+, it needs CentOS 8&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
===Centos 6===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum update&lt;br /&gt;
yum install epel-release&lt;br /&gt;
&lt;br /&gt;
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro&lt;br /&gt;
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
yum install ffmpeg ffmpeg-devel -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CentOS 7=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum update&lt;br /&gt;
yum install epel-release&lt;br /&gt;
&lt;br /&gt;
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro&lt;br /&gt;
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
yum install ffmpeg ffmpeg-devel -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Almalinux 8===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf -y update&lt;br /&gt;
dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm -y&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm -y&lt;br /&gt;
&lt;br /&gt;
dnf install ffmpeg ffmpeg-devel -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Almalinux 9===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf -y update&lt;br /&gt;
dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm -y&lt;br /&gt;
&lt;br /&gt;
dnf install ffmpeg ffmpeg-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=FFmpeg&amp;diff=206</id>
		<title>FFmpeg</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=FFmpeg&amp;diff=206"/>
		<updated>2024-06-21T08:06:08Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;3.4.8 is the latest possible version on CentOS7. if they want 4+, it needs CentOS 8  ==Centos 6== &amp;lt;pre&amp;gt; yum update yum install epel-release  sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm  yum install ffmpeg ffmpeg-devel -y &amp;lt;/pre&amp;gt;  ==CentOS 7==  &amp;lt;pre&amp;gt; yum update yum install epel-release  sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;3.4.8 is the latest possible version on CentOS7. if they want 4+, it needs CentOS 8&lt;br /&gt;
&lt;br /&gt;
==Centos 6==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum update&lt;br /&gt;
yum install epel-release&lt;br /&gt;
&lt;br /&gt;
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro&lt;br /&gt;
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
yum install ffmpeg ffmpeg-devel -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CentOS 7== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum update&lt;br /&gt;
yum install epel-release&lt;br /&gt;
&lt;br /&gt;
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro&lt;br /&gt;
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
yum install ffmpeg ffmpeg-devel -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Almalinux 8==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf -y update&lt;br /&gt;
dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm -y&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm -y&lt;br /&gt;
&lt;br /&gt;
dnf install ffmpeg ffmpeg-devel -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Almalinux 9==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf -y update&lt;br /&gt;
dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y&lt;br /&gt;
dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm -y&lt;br /&gt;
&lt;br /&gt;
dnf install ffmpeg ffmpeg-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=Main_Page&amp;diff=205</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=Main_Page&amp;diff=205"/>
		<updated>2024-06-21T07:59:16Z</updated>

		<summary type="html">&lt;p&gt;Qljca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to Geek wiki. You can find help for daily tasks.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:4&amp;quot;&amp;gt;&lt;br /&gt;
#[https://workwiki.in/Atop ATOP]&lt;br /&gt;
#[https://workwiki.in/AutoSSL AutoSSL]&lt;br /&gt;
#[https://workwiki.in/Caldav_SSL_error CalDav SSL Error]&lt;br /&gt;
#[https://workwiki.in/Catch-all Catch All]&lt;br /&gt;
#[https://workwiki.in/Cloudlinux Cloudlinux]&lt;br /&gt;
#[https://workwiki.in/CPanel cPanel]&lt;br /&gt;
#[https://workwiki.in/Create_File_Of_Any_Size Create File Of Any Size]&lt;br /&gt;
#[https://workwiki.in/CSF_Firewall CSF Firewall]&lt;br /&gt;
#[https://workwiki.in/Find_Command Find Command]&lt;br /&gt;
#[https://workwiki.in/DNS DNS]&lt;br /&gt;
#[https://workwiki.in/Htaccess htaccess]&lt;br /&gt;
#[https://workwiki.in/Iframes Iframes]&lt;br /&gt;
#[https://workwiki.in/Imunify360 Imunify360]&lt;br /&gt;
#[https://workwiki.in/Internal_Server_Error Internal Server Error]&lt;br /&gt;
#[https://workwiki.in/Inodes Inodes]&lt;br /&gt;
#[https://workwiki.in/Laravel Laravel]&lt;br /&gt;
#[https://workwiki.in/LiteSpeed LiteSpeed]&lt;br /&gt;
#[https://workwiki.in/Log_Locations Log Locations]&lt;br /&gt;
#[https://workwiki.in/Magento Magento]&lt;br /&gt;
#[https://workwiki.in/Mail Mail Help]&lt;br /&gt;
#[https://workwiki.in/Memcache Memcache]&lt;br /&gt;
#[https://workwiki.in/MySQL MySQL]&lt;br /&gt;
#[https://workwiki.in/Plesk Plesk]&lt;br /&gt;
#[https://workwiki.in/PostgreSQL PostgreSQL]&lt;br /&gt;
#[https://workwiki.in/Python Python]&lt;br /&gt;
#[https://workwiki.in/Roundcube Roundcube]&lt;br /&gt;
#[https://workwiki.in/Security_Headers Security Headers]&lt;br /&gt;
#[https://workwiki.in/Softaculous Softaculous]&lt;br /&gt;
#[https://workwiki.in/Spam_Code_For_Email Spam Code For Email]&lt;br /&gt;
#[https://workwiki.in/Supervisor Supervisor]&lt;br /&gt;
#[https://workwiki.in/Time_zone Time Zone]&lt;br /&gt;
#[https://workwiki.in/Tree Tree]&lt;br /&gt;
#[https://workwiki.in/Wordpress Wordpress]&lt;br /&gt;
#[https://workwiki.in/Wordpress_CLI WordPress CLI]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
	<entry>
		<id>https://workwiki.in/index.php?title=LiteSpeed&amp;diff=204</id>
		<title>LiteSpeed</title>
		<link rel="alternate" type="text/html" href="https://workwiki.in/index.php?title=LiteSpeed&amp;diff=204"/>
		<updated>2024-06-21T07:58:45Z</updated>

		<summary type="html">&lt;p&gt;Qljca: Created page with &amp;quot;==Litespeed Installation== &amp;lt;pre&amp;gt; bash &amp;lt;( curl https://get.litespeed.sh ) your_serial_no &amp;lt;/pre&amp;gt;  Alternatively, you can install LiteSpeed as follow:  &amp;lt;pre&amp;gt; wget https://www.litespeedtech.com/packages/cpanel/lsws_whm_autoinstaller.sh chmod a+x lsws_whm_autoinstaller.sh ./lsws_whm_autoinstaller.sh your_serial_no &amp;lt;/pre&amp;gt;  ==Config File== &amp;lt;pre&amp;gt; /usr/local/lsws/conf/httpd_config.xml /etc/apache2/conf/httpd.conf &amp;lt;/pre&amp;gt;  ==Restart or Update License== &amp;lt;pre&amp;gt; /usr/local/lsws/bin/lsh...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Litespeed Installation==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash &amp;lt;( curl https://get.litespeed.sh ) your_serial_no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can install LiteSpeed as follow: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://www.litespeedtech.com/packages/cpanel/lsws_whm_autoinstaller.sh&lt;br /&gt;
chmod a+x lsws_whm_autoinstaller.sh&lt;br /&gt;
./lsws_whm_autoinstaller.sh your_serial_no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Config File==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/local/lsws/conf/httpd_config.xml&lt;br /&gt;
/etc/apache2/conf/httpd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restart or Update License==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/local/lsws/bin/lshttpd -r&lt;br /&gt;
/usr/local/lsws/bin/lswsctrl restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reset Admin Pass==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/local/lsws/admin/misc/admpass.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qljca</name></author>
	</entry>
</feed>