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.md

View raw Download
text/plain • 4.24 kiB
ASCII text

title: The roundabout source-url: https://roundabout-host.com/roundabout/roundabout topics: ["web", "flask", "git", "software", "python", "agpl", "roundabout", "roundabout-host"] ---

The roundabout is a git repository hosting server software. It is designed to be a complete alternative to GitHub, GitLab, BitBucket, Gogs/Gitea/Forgejo, and other similar services. It is still in development and not yet ready for production use. As of version 0.3.0 development stage, it supports:

  • User registration

  • Repository creation

  • User access control

  • Smart Git over HTTP(S) protocol

  • Web interface for repository browsing

  • User profiles and social features

  • Forum for repositories, useful for issue tracking

  • Notifications, including email notifications

  • Pull requests

  • Favourite repositories (subscriptions)

  • Commit views and diffs

  • Themeing

  • Static site hosting

  • Really basic search

  • Markdown, but only for files (see below)

For now, it doesn't support, but certainly will before the 1.0.0 release:

  • Code review features (like comments on commits, for now you'll use the forum), something like Google Docs comments is planned

  • CI/CD

  • API

  • Repository metadata (licence, topics, language, etc.)

  • Decentralization

  • Packaging

  • Code syntax highlighting

  • Any kind of statistics

  • Web-based code editing

  • Users changing passwords

  • Admin panel

  • Forum labels

  • User mentions

  • Markdown comments (we just need to cache the HTML so it won't be too slow)

It won't support:

  • Wikis (why have another interface just for markdown, when you can use your own repo and publish it as a static site?)

  • Issues (forum does it already)

I'm still not sure about:

  • Project boards (what about making label grouping instead?)

  • Advertising (don't worry, instances could disable it, and logged-in users could also disable it for free, and it won't track anyone, no video, animation, sound, popups, overlays, or JS)

  • Paste service (does it really work well with Git? Couldn't you just use a repo for that?)

  • Git over SSH or other protocols (do people need it? HTTPS does the same things, and it's easier to set up; doesn't require daemons)

  • Native clients (Android development is hard, iOS is hostile, and on desktop it's not needed, there are GUI git clients that work with any server, for social features web is fine)

  • IDE plugins (sounds good, but it's hard work)

The roundabout is written in flask, a Python web framework. It uses SQLAlchemy for database management. For light UI interactivity it uses htmx and some vanilla JS. It does some GitPython calls for basic operations, but mostly calls git with subprocess. Repositories are non-bare because this allows the server to understand the repository and can lead to some performance gains since querying git is not required. The server is designed to be run on a single machine but decentralisation will be added in the future, but it won't be automatic, you'll have to choose a server to use.

roundabout-host.com

The official instance of the roundabout, roundabout-host, is hosted at roundabout-host.com. Anyone can register and create repositories there. However, we ask that you do not rely on it and always keep your repos locally as well. Uptime is not guaranteed, and data loss is possible. The server is not backed up.

In the future it may require payment for some features, but the program it runs will always be free. Payment will not be required to lift artificial limitations, but to support server-intensive features like CI/CD. Some free usage for useful projects will always be provided on demand.

Additionally, we may have advertising on the site. It will be unobtrusive and not track you. Logged-in users will be able to disable it for free. We will never have video, animation, sound, popups, overlays, or JS ads. Ads will be relevant to the content of the site, but they won't be personalised or use cookies. This just means no car, insurance, supermarket, or other unrelated ads. Most likely we will use EthicalAds, which is itself free software.

The roundabout program is licensed under the AGPL licence, version 3.0 or, at your option, any later version. Whatever I decide to do for roundabout-host, I can't pull the rug from under you, you can always run your own instance.

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