Initially I've started building this project for myself as I've grown kinda frustrated with the noisy interface that I've been noticing on Github or other similar softwares. I started my career as a UI designer and then moved on to web programming, so I thought I could build and design something that would only have the necessary features which I need in order to host and develop my projects. I'm sharing this publicly because who knows - someone might find this software useful.
How is Sorcia different from other software development platforms?
Sorcia is not a full-fledged software development platform. In other words, it doesn't have features like issues, pull-requests or mailing lists, CI/CD etc,. Instead, it focuses only on the minimal Git hosting service and it's associated user access control at it's best.
How the repositories are handled?
Once you have created an account after the installation, you could be able to create a repository where the path will not come under a username. Instead it will be under
. And, the repositories path on your server by default would be like
. So, the repository names are unique for all the users on your sorcia instance and the owner of the repository will be shown on the summary page. Only the owner of the repository can delete the respective repository on the web interface and the server/sys admin can delete it using the CLI utility
which sorcia provides.
sudo ./sorcia usermod
How can I add new users into my Sorcia platform? Is there any email invite?
Sorcia doesn't have any SMTP settings. Once the initial account has been created, the create new account form will disappear from the login page and only the login form will be shown. You as a first-user signed up admin can add new users by going to
, where you will have to mention the username and password by yourself. So, once the user you had to invite has logged in with the credentials that you as an admin had created, you can request the user to change the password by going to their
meta > users > add new user
meta > general > your profile
How can I add a new user into my repository and what permissions are there?
Users have to be existed in your sorcia instance in order to add it to your repository. The owner of the repository can add a new user into your repository by navigating to
. You can specify the username and select "Read" or "Read/Write" permissions for private repositories. And for public repositories, all the invited users will have "Read/Write" permissions.
Mention the user roles in Sorcia?
There is only one admin who had created an account for the first time. Rest of them are normal users. Admin can provide create repository access or not to any users.
If an admin or normal user's login credentials are compromised, is there any resolution provided by Sorcia?
As Sorcia doesn't provide any SMTP settings, only the password can be changed via the web interface. In order to change the username or delete any user - the server/sys administrator has to SSH into the server where sorcia is installed then go to the project root directory
with the root user or user with root privileges and use the command-line utility
. It will prompt for the necessary detail that is needed, from which the server/sys admin can change all users' (except the admin of sorcia instance) username, password or delete the user account itself which will delete all the repositories that the user had created.
sudo ./sorcia usermod
Does it have source code highlight?
Yes, Sorcia is using highlight.js and highlightjs-line-numbers.js in order to show the source code highlighted with line numbers - https://git.nirm.al/r/sorcia/tree/master/sorcia.go
Can I select a single or multiple source code lines and share the URL with others?
Yes, you can do that - https://git.nirm.al/r/sorcia/tree/master/sorcia.go#L12-L15
Does it have multiple themes, like dark mode?!
Yes, there are three different themes at the moment. Default, Classic and Dark themes. You can see this in the features page where you can see the screenshot.
What technologies are used to build Sorcia?