roundabout.html
HTML document, Unicode text, UTF-8 text
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="UTF-8"> 5<title> 6The roundabout 7</title> 8<link rel="stylesheet" href="/static/style.css"> 9<meta name="viewport" content="width=device-width, initial-scale=1.0"> 10</head> 11<body> 12<header> 13<nav> 14<ul> 15<li><a href="/">Home</a></li> 16<li><a href="/projects">Projects</a></li> 17<li><a href="/index">Index</a></li> 18<li><a href="/about">About</a></li> 19<li><a href="https://roundabout-host.com/roundabout">Roundabout-host</a></li> 20</ul> 21<ul> 22<li><a href="mailto:root@roundabout-host.com" id="mail-link">root@roundabout-host.com</a></li> 23</ul> 24</nav> 25</header> 26<main> 27 28<div class="project-title"> 29<h1> 30The roundabout 31</h1> 32<a href="https://roundabout-host.com/roundabout/roundabout" class="repository-button">Go to repository</a> 33</div> 34<p class="tags"> 35 36<a href="/index/web.html" class="tag">web</a> 37 38<a href="/index/flask.html" class="tag">flask</a> 39 40<a href="/index/git.html" class="tag">git</a> 41 42<a href="/index/software.html" class="tag">software</a> 43 44<a href="/index/python.html" class="tag">python</a> 45 46<a href="/index/agpl.html" class="tag">agpl</a> 47 48<a href="/index/roundabout.html" class="tag">roundabout</a> 49 50<a href="/index/roundabout-host.html" class="tag">roundabout-host</a> 51 52</p> 53<article class="content-area"> 54<p>The roundabout is a <strong class="emphasis-2">git repository hosting</strong> server software. It is designed to be a complete 55alternative to GitHub, GitLab, BitBucket, Gogs/Gitea/Forgejo, and other similar services. It 56is still in development and not yet ready for production use. As of version 0.3.0 development 57stage, it supports: 58</p><ul><li><p>User registration 59</p></li><li><p>Repository creation 60</p></li><li><p>User access control 61</p></li><li><p>Smart Git over HTTP(S) protocol 62</p></li><li><p>Web interface for repository browsing 63</p></li><li><p>User profiles and social features 64</p></li><li><p>Forum for repositories, useful for issue tracking 65</p></li><li><p>Notifications, including email notifications 66</p></li><li><p>Pull requests 67</p></li><li><p>Favourite repositories (subscriptions) 68</p></li><li><p>Commit views and diffs 69</p></li><li><p>Themeing 70</p></li><li><p>Static site hosting 71</p></li><li><p>Really basic search 72</p></li><li><p>Markdown formatting for comments, Markdown file rendering 73</p></li><li><p>Comments on commit diffs 74</p></li><li><p>Partial XML API, will be expanded 75</p></li><li><p>Decentralised merging 76</p></li><li><p>Forum labels 77</p></li><li><p>Static site hosting 78</p></li><li><p>Organisations by trusting users to take actions on your behalf 79</p></li></ul><p>For now, it doesn't support, but I won't consider it complete without: 80</p><ul><li><p>Decentralised social features (merging is already decentralised) 81</p></li><li><p>CI/CD 82</p></li><li><p>Repository metadata (licence, topics, language, etc.) 83</p></li><li><p>Package distribution 84</p></li><li><p>Code syntax highlighting 85</p></li><li><p>Any kind of statistics 86</p></li><li><p>Web-based code editing 87</p></li><li><p>Users changing passwords 88</p></li><li><p>Admin panel 89</p></li><li><p>User mentions 90</p></li><li><p>Git over SSH 91</p></li></ul><p>It won't support: 92</p><ul><li><p>Wikis (why have another interface just for markdown, when you can use your own repo and publish 93it as a static site?) 94</p></li><li><p>Issues (forum does it already) 95</p></li></ul><p>I'm still not sure about: 96</p><ul><li><p>Project boards (what about making label grouping instead?) 97</p></li><li><p>Advertising (I want a truly JS-free, libre advertising network) 98</p></li><li><p>Paste service (does it really work well with Git? Couldn't you just use a repo for that?) 99</p></li><li><p>Native clients (Android development is hard, iOS is hostile, and on desktop it's not needed, 100there are GUI git clients that work with any server, for social features web is fine) 101</p></li><li><p>IDE plugins (sounds good, but it's hard work) 102</p></li></ul><p>The roundabout is written in flask, a Python web framework. It uses SQLAlchemy for database 103management. For light UI interactivity it uses htmx and some vanilla JS. It does some GitPython 104calls for basic operations, but mostly calls git with subprocess. Repositories are non-bare 105because this allows the server to understand the repository and can lead to some performance 106gains since querying git is not required. The server is designed to be run on a single machine 107but decentralisation will be added in the future, but it won't be automatic, you'll have to 108choose a server to use. 109</p><h2>roundabout-host.com</h2><p>The official instance of the roundabout, roundabout-host, is hosted at 110<a href="https://roundabout-host.com">roundabout-host.com</a>. Anyone can register and create repositories 111there. However, we ask that you do not rely on it and always keep your repos locally as well. 112Uptime is not guaranteed, and data loss is possible. The server is not backed up. 113</p><p>In the future it may require payment for some features, but <strong class="emphasis-2">the program it runs will always 114be free</strong>. Payment will not be required to lift artificial limitations, but to support 115server-intensive features like CI/CD. Some free usage for useful projects will always be 116provided on demand. 117</p><p>Additionally, we may have advertising on the site. It will be unobtrusive and not track you. 118Logged-in users will be able to disable it for free. We will never have video, animation, sound, 119popups, overlays, or JS ads. Ads will be relevant to the content of the site, but they won't 120be personalised or use cookies. This just means no car, insurance, supermarket, or other 121unrelated ads. Most likely we will use EthicalAds, which is itself free software. 122</p><p>The roundabout program is licensed under the AGPL licence, version 3.0 or, at your option, any 123later version. Whatever I decide to do for roundabout-host, I can't pull the rug from under 124you, you can always run your own instance. 125</p> 126</article> 127 128</main> 129<footer> 130<p>Page generated on Sunday, 2 February 2025 at 21:30:11</p> 131<p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p> 132<p>Hosted at <a href="https://roundabout-host.com/roundabout">Roundabout-host</a> using the static site service, and generated with <a href="/projects/ampoule.html">Ampoule</a>.</p> 133<a href="#">Back to top</a> 134</footer> 135</body> 136</html>