The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Komorebi – A tiling window manager for Windows 10/11 written in Rust
Show HN: Komorebi – A tiling window manager for Windows 10/11 written in Rust
Show HN: Komorebi – A tiling window manager for Windows 10/11 written in Rust
Show HN: Open-Sourcing InboxSDK (YC S11) – Build Apps in Gmail
Hi HN! We’re Aleem, Chris, Borys, Meichen and Zach from Streak (YC S11) and today we’re open sourcing our InboxSDK <a href="https://www.inboxsdk.com" rel="nofollow">https://www.inboxsdk.com</a>, which makes it easy to build apps for Gmail.<p>Over 1.8B users spend their days in Gmail! Having your app built into the Gmail workflow is a better user experience and gives you great user retention. InboxSDK gives you a high-level, declarative API to insert your UI into Gmail without having to directly manipulate the DOM yourself. End users install a browser extension to use your app.<p>The SDK can add UI to multiple areas of Gmail. For example, adding a button is as simple as:<p><pre><code> composeView.addButton({
title: "My Nifty Button!",
iconUrl: 'https://example.com/foo.png',
onClick: function(event) {
event.composeView.insertTextIntoBodyAtCursor('Hello World!');
},
});
</code></pre>
InboxSDK enables you to add info to the sidebar on threads, add items in the left navigation tree, insert results into the search box, navigate to full page routes, add toolbar buttons to the compose window, add label indicators to thread list views and many more. You can see some examples in my comment posted below.<p>Hubspot, Dropbox, Giphy, Clickup, Loom, Todoist, Clearbit and our own Streak have all built apps using the InboxSDK. The InboxSDK is open source dual-licensed under the MIT and Apache 2.0 licenses for maximum flexibility.<p>Why use the InboxSDK over rolling it yourself? Several reasons: (1) it’s hard to do DOM manipulation in a performant way; (2) you need to handle all the different configurations of Gmail—there are a lot, and they change often: e.g. conversation view on/off, multiple inboxes, chat left/right, personal vs Workspace accounts; (3) You have to maintain compatibility with tons of other Gmail extensions so you don’t stomp over each other.<p>On a technical level, the InboxSDK handles all the DOM watching and manipulation, XHR interception, multiple extension coordination, and exposes a high level API to developers. We make use of page-parser-tree, another package we open sourced that helps detect elements on the page performantly. The trickiest bit we handle is intercepting and modifying network requests that Gmail makes in order to support several of the APIs we expose.<p>We’ve been building this SDK for years - it’s what powers Streak (www.streak.com), an 8 figure ARR SaaS business. We built the InboxSDK for ourselves because we wanted to separate our logic for wrangling Gmail from that of our app. Several years ago we let developers use a hosted version of our SDK. We didn’t want anyone else to go through the same pain to integrate deeply with Gmail. There were two unexpected benefits:<p>It vastly increased the number of end users (20M+) using apps built on our SDK. This gave us significant leverage with Google. They are super supportive of the SDK and give us early access to several builds to ensure the SDK doesn’t break when they make updates to Gmail.<p>We spent an ungodly amount of time maintaining compatibility with other Gmail extensions. Once the InboxSDK became a defacto standard, all the apps (currently >1000) that used it were instantly compatible (the InboxSDK operates under the model that there will be several extensions running at the same time and it elects a leader to route all modification through).<p>Why open source it now? First, several companies were nervous about us hosting the SDK. We mainly did this so that every extension was running the same version of the SDK, but with the recent Chrome manifest V3 changes, remote code execution is no longer supported. Not hosting the SDK removed the primary reason why the project needed to be closed source. We do need to figure out a new way of keeping all developers relatively up to date on the latest version of the SDK, <i>any ideas?</i><p>We’d love feedback! The repo is <a href="https://github.com/inboxSDK/inboxsdk" rel="nofollow">https://github.com/inboxSDK/inboxsdk</a>, and the docs are: <a href="https://inboxsdk.github.io/inboxsdk-docs" rel="nofollow">https://inboxsdk.github.io/inboxsdk-docs</a>
Show HN: Open-Sourcing InboxSDK (YC S11) – Build Apps in Gmail
Hi HN! We’re Aleem, Chris, Borys, Meichen and Zach from Streak (YC S11) and today we’re open sourcing our InboxSDK <a href="https://www.inboxsdk.com" rel="nofollow">https://www.inboxsdk.com</a>, which makes it easy to build apps for Gmail.<p>Over 1.8B users spend their days in Gmail! Having your app built into the Gmail workflow is a better user experience and gives you great user retention. InboxSDK gives you a high-level, declarative API to insert your UI into Gmail without having to directly manipulate the DOM yourself. End users install a browser extension to use your app.<p>The SDK can add UI to multiple areas of Gmail. For example, adding a button is as simple as:<p><pre><code> composeView.addButton({
title: "My Nifty Button!",
iconUrl: 'https://example.com/foo.png',
onClick: function(event) {
event.composeView.insertTextIntoBodyAtCursor('Hello World!');
},
});
</code></pre>
InboxSDK enables you to add info to the sidebar on threads, add items in the left navigation tree, insert results into the search box, navigate to full page routes, add toolbar buttons to the compose window, add label indicators to thread list views and many more. You can see some examples in my comment posted below.<p>Hubspot, Dropbox, Giphy, Clickup, Loom, Todoist, Clearbit and our own Streak have all built apps using the InboxSDK. The InboxSDK is open source dual-licensed under the MIT and Apache 2.0 licenses for maximum flexibility.<p>Why use the InboxSDK over rolling it yourself? Several reasons: (1) it’s hard to do DOM manipulation in a performant way; (2) you need to handle all the different configurations of Gmail—there are a lot, and they change often: e.g. conversation view on/off, multiple inboxes, chat left/right, personal vs Workspace accounts; (3) You have to maintain compatibility with tons of other Gmail extensions so you don’t stomp over each other.<p>On a technical level, the InboxSDK handles all the DOM watching and manipulation, XHR interception, multiple extension coordination, and exposes a high level API to developers. We make use of page-parser-tree, another package we open sourced that helps detect elements on the page performantly. The trickiest bit we handle is intercepting and modifying network requests that Gmail makes in order to support several of the APIs we expose.<p>We’ve been building this SDK for years - it’s what powers Streak (www.streak.com), an 8 figure ARR SaaS business. We built the InboxSDK for ourselves because we wanted to separate our logic for wrangling Gmail from that of our app. Several years ago we let developers use a hosted version of our SDK. We didn’t want anyone else to go through the same pain to integrate deeply with Gmail. There were two unexpected benefits:<p>It vastly increased the number of end users (20M+) using apps built on our SDK. This gave us significant leverage with Google. They are super supportive of the SDK and give us early access to several builds to ensure the SDK doesn’t break when they make updates to Gmail.<p>We spent an ungodly amount of time maintaining compatibility with other Gmail extensions. Once the InboxSDK became a defacto standard, all the apps (currently >1000) that used it were instantly compatible (the InboxSDK operates under the model that there will be several extensions running at the same time and it elects a leader to route all modification through).<p>Why open source it now? First, several companies were nervous about us hosting the SDK. We mainly did this so that every extension was running the same version of the SDK, but with the recent Chrome manifest V3 changes, remote code execution is no longer supported. Not hosting the SDK removed the primary reason why the project needed to be closed source. We do need to figure out a new way of keeping all developers relatively up to date on the latest version of the SDK, <i>any ideas?</i><p>We’d love feedback! The repo is <a href="https://github.com/inboxSDK/inboxsdk" rel="nofollow">https://github.com/inboxSDK/inboxsdk</a>, and the docs are: <a href="https://inboxsdk.github.io/inboxsdk-docs" rel="nofollow">https://inboxsdk.github.io/inboxsdk-docs</a>
Show HN: Open-Sourcing InboxSDK (YC S11) – Build Apps in Gmail
Hi HN! We’re Aleem, Chris, Borys, Meichen and Zach from Streak (YC S11) and today we’re open sourcing our InboxSDK <a href="https://www.inboxsdk.com" rel="nofollow">https://www.inboxsdk.com</a>, which makes it easy to build apps for Gmail.<p>Over 1.8B users spend their days in Gmail! Having your app built into the Gmail workflow is a better user experience and gives you great user retention. InboxSDK gives you a high-level, declarative API to insert your UI into Gmail without having to directly manipulate the DOM yourself. End users install a browser extension to use your app.<p>The SDK can add UI to multiple areas of Gmail. For example, adding a button is as simple as:<p><pre><code> composeView.addButton({
title: "My Nifty Button!",
iconUrl: 'https://example.com/foo.png',
onClick: function(event) {
event.composeView.insertTextIntoBodyAtCursor('Hello World!');
},
});
</code></pre>
InboxSDK enables you to add info to the sidebar on threads, add items in the left navigation tree, insert results into the search box, navigate to full page routes, add toolbar buttons to the compose window, add label indicators to thread list views and many more. You can see some examples in my comment posted below.<p>Hubspot, Dropbox, Giphy, Clickup, Loom, Todoist, Clearbit and our own Streak have all built apps using the InboxSDK. The InboxSDK is open source dual-licensed under the MIT and Apache 2.0 licenses for maximum flexibility.<p>Why use the InboxSDK over rolling it yourself? Several reasons: (1) it’s hard to do DOM manipulation in a performant way; (2) you need to handle all the different configurations of Gmail—there are a lot, and they change often: e.g. conversation view on/off, multiple inboxes, chat left/right, personal vs Workspace accounts; (3) You have to maintain compatibility with tons of other Gmail extensions so you don’t stomp over each other.<p>On a technical level, the InboxSDK handles all the DOM watching and manipulation, XHR interception, multiple extension coordination, and exposes a high level API to developers. We make use of page-parser-tree, another package we open sourced that helps detect elements on the page performantly. The trickiest bit we handle is intercepting and modifying network requests that Gmail makes in order to support several of the APIs we expose.<p>We’ve been building this SDK for years - it’s what powers Streak (www.streak.com), an 8 figure ARR SaaS business. We built the InboxSDK for ourselves because we wanted to separate our logic for wrangling Gmail from that of our app. Several years ago we let developers use a hosted version of our SDK. We didn’t want anyone else to go through the same pain to integrate deeply with Gmail. There were two unexpected benefits:<p>It vastly increased the number of end users (20M+) using apps built on our SDK. This gave us significant leverage with Google. They are super supportive of the SDK and give us early access to several builds to ensure the SDK doesn’t break when they make updates to Gmail.<p>We spent an ungodly amount of time maintaining compatibility with other Gmail extensions. Once the InboxSDK became a defacto standard, all the apps (currently >1000) that used it were instantly compatible (the InboxSDK operates under the model that there will be several extensions running at the same time and it elects a leader to route all modification through).<p>Why open source it now? First, several companies were nervous about us hosting the SDK. We mainly did this so that every extension was running the same version of the SDK, but with the recent Chrome manifest V3 changes, remote code execution is no longer supported. Not hosting the SDK removed the primary reason why the project needed to be closed source. We do need to figure out a new way of keeping all developers relatively up to date on the latest version of the SDK, <i>any ideas?</i><p>We’d love feedback! The repo is <a href="https://github.com/inboxSDK/inboxsdk" rel="nofollow">https://github.com/inboxSDK/inboxsdk</a>, and the docs are: <a href="https://inboxsdk.github.io/inboxsdk-docs" rel="nofollow">https://inboxsdk.github.io/inboxsdk-docs</a>
Show HN: Open-Sourcing InboxSDK (YC S11) – Build Apps in Gmail
Hi HN! We’re Aleem, Chris, Borys, Meichen and Zach from Streak (YC S11) and today we’re open sourcing our InboxSDK <a href="https://www.inboxsdk.com" rel="nofollow">https://www.inboxsdk.com</a>, which makes it easy to build apps for Gmail.<p>Over 1.8B users spend their days in Gmail! Having your app built into the Gmail workflow is a better user experience and gives you great user retention. InboxSDK gives you a high-level, declarative API to insert your UI into Gmail without having to directly manipulate the DOM yourself. End users install a browser extension to use your app.<p>The SDK can add UI to multiple areas of Gmail. For example, adding a button is as simple as:<p><pre><code> composeView.addButton({
title: "My Nifty Button!",
iconUrl: 'https://example.com/foo.png',
onClick: function(event) {
event.composeView.insertTextIntoBodyAtCursor('Hello World!');
},
});
</code></pre>
InboxSDK enables you to add info to the sidebar on threads, add items in the left navigation tree, insert results into the search box, navigate to full page routes, add toolbar buttons to the compose window, add label indicators to thread list views and many more. You can see some examples in my comment posted below.<p>Hubspot, Dropbox, Giphy, Clickup, Loom, Todoist, Clearbit and our own Streak have all built apps using the InboxSDK. The InboxSDK is open source dual-licensed under the MIT and Apache 2.0 licenses for maximum flexibility.<p>Why use the InboxSDK over rolling it yourself? Several reasons: (1) it’s hard to do DOM manipulation in a performant way; (2) you need to handle all the different configurations of Gmail—there are a lot, and they change often: e.g. conversation view on/off, multiple inboxes, chat left/right, personal vs Workspace accounts; (3) You have to maintain compatibility with tons of other Gmail extensions so you don’t stomp over each other.<p>On a technical level, the InboxSDK handles all the DOM watching and manipulation, XHR interception, multiple extension coordination, and exposes a high level API to developers. We make use of page-parser-tree, another package we open sourced that helps detect elements on the page performantly. The trickiest bit we handle is intercepting and modifying network requests that Gmail makes in order to support several of the APIs we expose.<p>We’ve been building this SDK for years - it’s what powers Streak (www.streak.com), an 8 figure ARR SaaS business. We built the InboxSDK for ourselves because we wanted to separate our logic for wrangling Gmail from that of our app. Several years ago we let developers use a hosted version of our SDK. We didn’t want anyone else to go through the same pain to integrate deeply with Gmail. There were two unexpected benefits:<p>It vastly increased the number of end users (20M+) using apps built on our SDK. This gave us significant leverage with Google. They are super supportive of the SDK and give us early access to several builds to ensure the SDK doesn’t break when they make updates to Gmail.<p>We spent an ungodly amount of time maintaining compatibility with other Gmail extensions. Once the InboxSDK became a defacto standard, all the apps (currently >1000) that used it were instantly compatible (the InboxSDK operates under the model that there will be several extensions running at the same time and it elects a leader to route all modification through).<p>Why open source it now? First, several companies were nervous about us hosting the SDK. We mainly did this so that every extension was running the same version of the SDK, but with the recent Chrome manifest V3 changes, remote code execution is no longer supported. Not hosting the SDK removed the primary reason why the project needed to be closed source. We do need to figure out a new way of keeping all developers relatively up to date on the latest version of the SDK, <i>any ideas?</i><p>We’d love feedback! The repo is <a href="https://github.com/inboxSDK/inboxsdk" rel="nofollow">https://github.com/inboxSDK/inboxsdk</a>, and the docs are: <a href="https://inboxsdk.github.io/inboxsdk-docs" rel="nofollow">https://inboxsdk.github.io/inboxsdk-docs</a>
Show HN: We built a tool that automatically generates API tests
Hi, this is Mish and Sebastian.
We are working on Step CI - a fully automated API testing platform for developers.<p>Step CI works programming-language independent and for different API paradigms (REST, GraphQL, XML).<p>Our CLI and test runner are available on GitHub (<a href="https://github.com/stepci" rel="nofollow">https://github.com/stepci</a>) under the MPLv2 license.<p>Since our last launch, Step CI is now able to generate automated tests for your API based on your OpenAPI (Swagger) spec. This saves you a lot of time as you never have to write and maintain your tests again!<p>We would like to invite you to try our tool and give us feedback! Please star us on GitHub, if you like what we are working on!<p>We are very thankful for your attention and any feedback or suggestions we receive from you :)<p>Mish and Sebastian from Germany
Show HN: We built a tool that automatically generates API tests
Hi, this is Mish and Sebastian.
We are working on Step CI - a fully automated API testing platform for developers.<p>Step CI works programming-language independent and for different API paradigms (REST, GraphQL, XML).<p>Our CLI and test runner are available on GitHub (<a href="https://github.com/stepci" rel="nofollow">https://github.com/stepci</a>) under the MPLv2 license.<p>Since our last launch, Step CI is now able to generate automated tests for your API based on your OpenAPI (Swagger) spec. This saves you a lot of time as you never have to write and maintain your tests again!<p>We would like to invite you to try our tool and give us feedback! Please star us on GitHub, if you like what we are working on!<p>We are very thankful for your attention and any feedback or suggestions we receive from you :)<p>Mish and Sebastian from Germany
Kitchen Renovation ideas animation using Stable Diffusion [video]
Using stable diffusion to generate and walk through different kitchen renovation ideas.
Show HN: Satori – Convert HTML and CSS to SVG
Show HN: Satori – Convert HTML and CSS to SVG
Show HN: Satori – Convert HTML and CSS to SVG
Show HN: InvokeAI, an open source Stable Diffusion toolkit and WebUI
Hey everyone!<p>Excited to be able to share the release of `InvokeAI 2.0 - A Stable Diffusion Toolkit`, an open source project that aims to provide both enthusiasts and professionals a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).<p>InvokeAI was one of the earliest forks off of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit titled InvokeAI. The new version of the tool introduces an entirely new WebUI Front-end with a Desktop mode, and an optimized back-end server that can be interacted with via CLI or extended with your own fork.<p>This version of the app improves in-app workflows leveraging GFPGAN and Codeformer for face restoration, and RealESRGAN upscaling - Additionally, the CLI also supports a large variety of features:
- Inpainting
- Outpainting
- Prompt Unconditioning
- Textual Inversion
- Improved Quality for Hi-Resolution Images (Embiggen, Hi-res Fixes, etc.)
- And more...<p>Future updates planned included UI driven outpainting/inpainting, robust Cross Attention support, and an advanced node workflow for automating and sharing your workflows with the community.<p>We're excited by the release, and about the future of democratizing the ability to create. Check out the repo (<a href="https://github.com/invoke-ai/InvokeAI" rel="nofollow">https://github.com/invoke-ai/InvokeAI</a>) to get started, and join us on Discord (<a href="https://discord.gg/ZmtBAhwWhy" rel="nofollow">https://discord.gg/ZmtBAhwWhy</a>)!
Show HN: InvokeAI, an open source Stable Diffusion toolkit and WebUI
Hey everyone!<p>Excited to be able to share the release of `InvokeAI 2.0 - A Stable Diffusion Toolkit`, an open source project that aims to provide both enthusiasts and professionals a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).<p>InvokeAI was one of the earliest forks off of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit titled InvokeAI. The new version of the tool introduces an entirely new WebUI Front-end with a Desktop mode, and an optimized back-end server that can be interacted with via CLI or extended with your own fork.<p>This version of the app improves in-app workflows leveraging GFPGAN and Codeformer for face restoration, and RealESRGAN upscaling - Additionally, the CLI also supports a large variety of features:
- Inpainting
- Outpainting
- Prompt Unconditioning
- Textual Inversion
- Improved Quality for Hi-Resolution Images (Embiggen, Hi-res Fixes, etc.)
- And more...<p>Future updates planned included UI driven outpainting/inpainting, robust Cross Attention support, and an advanced node workflow for automating and sharing your workflows with the community.<p>We're excited by the release, and about the future of democratizing the ability to create. Check out the repo (<a href="https://github.com/invoke-ai/InvokeAI" rel="nofollow">https://github.com/invoke-ai/InvokeAI</a>) to get started, and join us on Discord (<a href="https://discord.gg/ZmtBAhwWhy" rel="nofollow">https://discord.gg/ZmtBAhwWhy</a>)!
Show HN: InvokeAI, an open source Stable Diffusion toolkit and WebUI
Hey everyone!<p>Excited to be able to share the release of `InvokeAI 2.0 - A Stable Diffusion Toolkit`, an open source project that aims to provide both enthusiasts and professionals a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).<p>InvokeAI was one of the earliest forks off of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit titled InvokeAI. The new version of the tool introduces an entirely new WebUI Front-end with a Desktop mode, and an optimized back-end server that can be interacted with via CLI or extended with your own fork.<p>This version of the app improves in-app workflows leveraging GFPGAN and Codeformer for face restoration, and RealESRGAN upscaling - Additionally, the CLI also supports a large variety of features:
- Inpainting
- Outpainting
- Prompt Unconditioning
- Textual Inversion
- Improved Quality for Hi-Resolution Images (Embiggen, Hi-res Fixes, etc.)
- And more...<p>Future updates planned included UI driven outpainting/inpainting, robust Cross Attention support, and an advanced node workflow for automating and sharing your workflows with the community.<p>We're excited by the release, and about the future of democratizing the ability to create. Check out the repo (<a href="https://github.com/invoke-ai/InvokeAI" rel="nofollow">https://github.com/invoke-ai/InvokeAI</a>) to get started, and join us on Discord (<a href="https://discord.gg/ZmtBAhwWhy" rel="nofollow">https://discord.gg/ZmtBAhwWhy</a>)!
Show HN: InvokeAI, an open source Stable Diffusion toolkit and WebUI
Hey everyone!<p>Excited to be able to share the release of `InvokeAI 2.0 - A Stable Diffusion Toolkit`, an open source project that aims to provide both enthusiasts and professionals a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).<p>InvokeAI was one of the earliest forks off of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit titled InvokeAI. The new version of the tool introduces an entirely new WebUI Front-end with a Desktop mode, and an optimized back-end server that can be interacted with via CLI or extended with your own fork.<p>This version of the app improves in-app workflows leveraging GFPGAN and Codeformer for face restoration, and RealESRGAN upscaling - Additionally, the CLI also supports a large variety of features:
- Inpainting
- Outpainting
- Prompt Unconditioning
- Textual Inversion
- Improved Quality for Hi-Resolution Images (Embiggen, Hi-res Fixes, etc.)
- And more...<p>Future updates planned included UI driven outpainting/inpainting, robust Cross Attention support, and an advanced node workflow for automating and sharing your workflows with the community.<p>We're excited by the release, and about the future of democratizing the ability to create. Check out the repo (<a href="https://github.com/invoke-ai/InvokeAI" rel="nofollow">https://github.com/invoke-ai/InvokeAI</a>) to get started, and join us on Discord (<a href="https://discord.gg/ZmtBAhwWhy" rel="nofollow">https://discord.gg/ZmtBAhwWhy</a>)!
Show HN: Minimal, no-JS web forum software
Hello HN!<p>I've found my SQL knowledge to be lacking, so I made a project that uses SQLite as a backend.<p>As it is intended for self-hosting I aim to make it easy to set up and maintain. Getting it up & running takes no more than a few commands (bar setting up a proxy such as nginx, which is out of scope).<p>I've set up a "demo" site at <a href="https://forum.agreper.com/" rel="nofollow">https://forum.agreper.com/</a> if you want to try out the UI.
Show HN: Minimal, no-JS web forum software
Hello HN!<p>I've found my SQL knowledge to be lacking, so I made a project that uses SQLite as a backend.<p>As it is intended for self-hosting I aim to make it easy to set up and maintain. Getting it up & running takes no more than a few commands (bar setting up a proxy such as nginx, which is out of scope).<p>I've set up a "demo" site at <a href="https://forum.agreper.com/" rel="nofollow">https://forum.agreper.com/</a> if you want to try out the UI.
Show HN: Minimal, no-JS web forum software
Hello HN!<p>I've found my SQL knowledge to be lacking, so I made a project that uses SQLite as a backend.<p>As it is intended for self-hosting I aim to make it easy to set up and maintain. Getting it up & running takes no more than a few commands (bar setting up a proxy such as nginx, which is out of scope).<p>I've set up a "demo" site at <a href="https://forum.agreper.com/" rel="nofollow">https://forum.agreper.com/</a> if you want to try out the UI.