downloads faq features & screenshots Installation
Sorcia is a self-hosted web frontend for git repositories written in Go.
Licensed under AGPLv3.
NOTE: This project is in beta and things might break without author's knowledge, so keep a backup of your repository. That said, sorcia repository is hosted on sorcia itself. You can install by following the README secion.
faq
Why Sorcia?
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
eg: yoursite.com/r/your-repository
. And, the repositories path on your server by default would be like
eg: /home/git/data/repositories/your-repository.git
. 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
sudo ./sorcia usermod
which sorcia provides.
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
meta > users > add new user
, 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 > 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
eg: yoursite.com/r/your-repository/meta
. 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
/home/git/sorcia
with the root user or user with root privileges and use the command-line utility
sudo ./sorcia usermod
. 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.
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.mysticmode.org/r/sorcia/tree/master/sorcia.go
Can I select a single or multiple source code lines and share the URL with others?
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?
Backend is written in Go and SQLite3. Frontend has a very minimal vanilla javascript which is used only on few pages for source code highlight, line selection and showing different branch commit detail. And it leverages npm with gulp in order to build the SCSS into minified CSS.
How to keep myself updated with the new releases or ask any questions related to Sorcia? And How can I contribute?

Ask your questions on sorcia@googlegroups.com

Subscribe to release announcements on sorcia-announce@googlegroups.com

Send patches to sorcia-devel@googlegroups.com