Our EDI DevOps spans multiple analysts, developers, and consultants with support from their Technical PM, me. As a developer advocating VS Code use over the proprietary Studio
IDE, it became imperative with the 2024 release that it was time to consolidate our KB/HOWTO, dashboards, monitors, reporting, tools, and utilities into one portal.
In steps Code Server to provide a centralized solution that resolves complexity for having to disparately install it on a variety of remote endpoints. Also, there are numerous activities needed to work off the host CLI, so providing a number of self "helpers" to Xterm.js consoles is beneficial toward the team's overall technical maturity.
As a future objective, promoting the team's activities off the home page, suitable for guest browsing too, that provides the latest news and events out of their space. Some content may be generated programmatically, while others from a post by the team (moderated by its admins).
Configure the portal service for automatic startup in production mode:
$ cp env-example .env
# edit .env to meet your needs
$ sudo cp devops.service /etc/systemd/system/
$ sudo systemctl daemon-reload
$ sudo systemctl enable devops
$ sudo systemctl start devops
After your SSL directives within your site httpd configuration, append:
# set Proxy atttributes
ProxyRequests Off
ProxyBadHeader Ignore
ProxyPreserveHost On
# harden as needed
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLProxyCheckPeerName Off
SSLProxyVerify None
# allow websocket connections into Nuxt app & Code Server session
RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} WebSocket [NC]
RewriteRule "^/devops/_nuxt/(.*)" "ws://localhost:3000/devops/_nuxt/$1" [P,L]
# configure for a new VS Code Server instance -> user session
RewriteCond %{HTTPS} On
RewriteRule "^/devops/code/(0-9)+/([a-z0-9]+)$" "/devops/code-server/$1/?workspace=/home/$2/.local/share/code-server/User/Workspaces/$2-devops.code-workspace"
# proxy Code Server endpoints -- as many concurrent sessions as needed
<Location "/devops/code-server/6501/" >
ProxyPass http://localhost:6501/
ProxyPass "ws://localhost:6501/"
ProxyPassReverse http://localhost:6501/
</Location>
# Nuxt portal endpoint
<Location "/devops">
RequestHeader set X-Forwarded-Proto "https"
ProxyPass http://localhost:3000/devops
ProxyPassReverse http://localhost:3000/devops
</Location>
Make sure to install the dependencies:
$ npm install
Start the development server on http://localhost:6500
:
# prefix HOST= and/or PORT= as overrides
$ npm run dev
Build the application for production:
$ npm run build
Locally preview production build:
$ npm run preview
Check out the Nuxt deployment documentation for more information.
15-Jul-2025 upgrade to Nuxt 4
08-Jul-2025 switch Node.js v20 (Iron) to active LTS v22 (Jod)
In essence, Node.js 22 refines and expands upon the features of Node.js 20, with a focus on performance, developer experience, and enhanced interoperability between module systems. While Node.js 20 was a significant release, Node.js 22 represents the latest stable version with the most recent performance gains and feature set.