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.36 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
<h1 class="project-title">
29
<span>The roundabout</span>
30
<a href="https://roundabout-host.com/roundabout/roundabout">Repository</a>
31
</h1>
32
<article class="content-area">
33
<p>The roundabout is a <strong class="emphasis-2">git repository hosting</strong> server software. It is designed to be a complete
34
alternative to GitHub, GitLab, BitBucket, Gogs/Gitea/Forgejo, and other similar services. It
35
is still in development and not yet ready for production use. As of version 0.3.0 development
36
stage, it supports:
37
</p><ul><li><p>User registration
38
</p></li><li><p>Repository creation
39
</p></li><li><p>User access control
40
</p></li><li><p>Smart Git over HTTP(S) protocol
41
</p></li><li><p>Web interface for repository browsing
42
</p></li><li><p>User profiles and social features
43
</p></li><li><p>Forum for repositories, useful for issue tracking
44
</p></li><li><p>Notifications, including email notifications
45
</p></li><li><p>Pull requests
46
</p></li><li><p>Favourite repositories (subscriptions)
47
</p></li><li><p>Commit views and diffs
48
</p></li><li><p>Themeing
49
</p></li><li><p>Static site hosting
50
</p></li><li><p>Really basic search
51
</p></li><li><p>Markdown, but only for files (see below)
52
</p></li></ul><p>For now, it doesn't support, but certainly <strong class="emphasis-2">will</strong> before the 1.0.0 release:
53
</p><ul><li><p>Code review features (like comments on commits, for now you'll use the forum), something
54
like Google Docs comments is planned
55
</p></li><li><p>CI/CD
56
</p></li><li><p>API
57
</p></li><li><p>Repository metadata (licence, topics, language, etc.)
58
</p></li><li><p>Decentralization
59
</p></li><li><p>Packaging
60
</p></li><li><p>Code syntax highlighting
61
</p></li><li><p>Any kind of statistics
62
</p></li><li><p>Web-based code editing
63
</p></li><li><p>Users changing passwords
64
</p></li><li><p>Admin panel
65
</p></li><li><p>Forum labels
66
</p></li><li><p>User mentions
67
</p></li><li><p>Markdown comments (we just need to cache the HTML so it won't be too slow)
68
</p></li></ul><p>It won't support:
69
</p><ul><li><p>Wikis (why have another interface just for markdown, when you can use your own repo and publish
70
it as a static site?)
71
</p></li><li><p>Issues (forum does it already)
72
</p></li></ul><p>I'm still not sure about:
73
</p><ul><li><p>Project boards (what about making label grouping instead?)
74
</p></li><li><p>Advertising (don't worry, instances could disable it, and logged-in users could also disable it
75
for free, and it won't track anyone, no video, animation, sound, popups, overlays, or JS)
76
</p></li><li><p>Paste service (does it really work well with Git? Couldn't you just use a repo for that?)
77
</p></li><li><p>Git over SSH or other protocols (do people need it? HTTPS does the same things, and it's easier
78
to set up; doesn't require daemons)
79
</p></li><li><p>Native clients (Android development is hard, iOS is hostile, and on desktop it's not needed,
80
there are GUI git clients that work with any server, for social features web is fine)
81
</p></li><li><p>IDE plugins (sounds good, but it's hard work)
82
</p></li></ul><p>The roundabout is written in flask, a Python web framework. It uses SQLAlchemy for database
83
management. For light UI interactivity it uses htmx and some vanilla JS. It does some GitPython
84
calls for basic operations, but mostly calls git with subprocess. Repositories are non-bare
85
because this allows the server to understand the repository and can lead to some performance
86
gains since querying git is not required. The server is designed to be run on a single machine
87
but decentralisation will be added in the future, but it won't be automatic, you'll have to
88
choose a server to use.
89
</p><h2>roundabout-host.com</h2><p>The official instance of the roundabout, roundabout-host, is hosted at
90
<a href="https://roundabout-host.com">roundabout-host.com</a>. Anyone can register and create repositories
91
there. However, we ask that you do not rely on it and always keep your repos locally as well.
92
Uptime is not guaranteed, and data loss is possible. The server is not backed up.
93
</p><p>In the future it may require payment for some features, but <strong class="emphasis-2">the program it runs will always
94
be free</strong>. Payment will not be required to lift artificial limitations, but to support
95
server-intensive features like CI/CD. Some free usage for useful projects will always be
96
provided on demand.
97
</p><p>Additionally, we may have advertising on the site. It will be unobtrusive and not track you.
98
Logged-in users will be able to disable it for free. We will never have video, animation, sound,
99
popups, overlays, or JS ads. Ads will be relevant to the content of the site, but they won't
100
be personalised or use cookies. This just means no car, insurance, supermarket, or other
101
unrelated ads. Most likely we will use EthicalAds, which is itself free software.
102
</p><p>The roundabout program is licensed under the AGPL licence, version 3.0 or, at your option, any
103
later version. Whatever I decide to do for roundabout-host, I can't pull the rug from under
104
you, you can always run your own instance.
105
</p>
106
</article>
107
108
</main>
109
<footer>
110
<p>Page generated on Saturday, 4 January 2025 at 11:16:28</p>
111
<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>
112
<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>
113
<a href="#">Back to top</a>
114
</footer>
115
</body>
116
</html>