By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 roundabout.html

View raw Download
text/html • 6.82 kiB
HTML document, Unicode text, UTF-8 text
        
            
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
<meta charset="UTF-8">
5
<title>
6
The 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>
30
The 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
55
alternative to GitHub, GitLab, BitBucket, Gogs/Gitea/Forgejo, and other similar services. It
56
is still in development and not yet ready for production use. As of version 0.3.0 development
57
stage, 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
93
it 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,
100
there 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
103
management. For light UI interactivity it uses htmx and some vanilla JS. It does some GitPython
104
calls for basic operations, but mostly calls git with subprocess. Repositories are non-bare
105
because this allows the server to understand the repository and can lead to some performance
106
gains since querying git is not required. The server is designed to be run on a single machine
107
but decentralisation will be added in the future, but it won't be automatic, you'll have to
108
choose 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
111
there. However, we ask that you do not rely on it and always keep your repos locally as well.
112
Uptime 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
114
be free</strong>. Payment will not be required to lift artificial limitations, but to support
115
server-intensive features like CI/CD. Some free usage for useful projects will always be
116
provided on demand.
117
</p><p>Additionally, we may have advertising on the site. It will be unobtrusive and not track you.
118
Logged-in users will be able to disable it for free. We will never have video, animation, sound,
119
popups, overlays, or JS ads. Ads will be relevant to the content of the site, but they won't
120
be personalised or use cookies. This just means no car, insurance, supermarket, or other
121
unrelated 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
123
later version. Whatever I decide to do for roundabout-host, I can't pull the rug from under
124
you, 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>