diff options
Diffstat (limited to 'templates/repo/about.html')
-rw-r--r-- | templates/repo/about.html | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/templates/repo/about.html b/templates/repo/about.html new file mode 100644 index 0000000..b98edbd --- /dev/null +++ b/templates/repo/about.html @@ -0,0 +1,131 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8" /> + <title>octopus | /spacekookie/octopus</title> + <link href="/static/main.css" rel="stylesheet"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + </head> + <body> + <div class="container"> + <div class="tagline-container"> + <img class="repo-logo" src="/static/fakeavi.png" /> + <h1><a href="">spacekookie</a> / <a href="">octopus</a></h1> + <p>🐙 It's a water animal</p> + <div class="starbox"> + <a href="">Clone</a> + <a href="">Star</a> + <a href="">RSS</a> + </div> + </div> <!-- tagline container --> + <div class="subheader"> + + <a href="">141 commits</a> + <a href="">1 branch</a> + <a href="">0 tags</a> + <a href="">1 contributor</a> + <a href="">size: 13.12M</a> + <input id="repo-search" type="search" placeholder="Search repository" /> + <!-- <label for="repo-search">Search for files in the repository</label> --> + </div> <!-- subheader --> + <hr /> + <div class="repo-navigation"> + <a href="about.html" class="nav-item nav-active">about</a> + <a href="details.html " class="nav-item">details</a> + <a href="" class="nav-item">files</a> + <a href="" class="nav-item">log</a> + <a href="" class="nav-item"> patches</a> + <a href="" class="nav-item">contribute</a> + </div> + + <pre class="readme"> + .'.' + .'-'. + . ( o O) + \_ ` _, _ +-.___'.) ( ,-' + '-.O.'-..-.. octopus git web frontend + ./\/\/ | \_.-._ + ; + ._/ + + +A git web frontend that wants to hug your code. + + +Why? +---- + +This is a very good first question, and one that I think is important +to answer before getting more into the project. Whenever I brought up +this project during the creation of it, most people would react with +"have you tried...", followed by some git web software, such as +gitlab, gittea, and many many more. But there is a reason why I stuck +with octopus and the design ideas I had for it. + +Fundamentally it's about decentralisation. The internet is a pretty +big place (allegedly), but a lot of the services that people use are +very centralised by a single company or even server. If this company +or server goes away, so does valuable knowledge. There are many ways +to create more decentralised systems, and one aspect of this for me, +is code repos. + +Git is by it's nature decentralised, meaning that it doesn't require +an "upstream" or canonical server to function. Theoretically you +could use git to exchange code patches with people without the +internet. Yet, a lot of people's perception of git is one that is +dictated by the workflows on github and gitlab: centralised into a +single service. Many git web frontends mirror this workflow, because +after all, it is what people want and love. + +However, it has some flaws (which would take too long to elaborate +here), and for octopus I had something else in mind. Instead of +replicating the same mistakes, I took much more inspiration from cgit, +which is used and loved by many today. + +Octopus is a re-imagining of cgit, trying to improve the UX and +maintainability where possible, adding new features, but mostly +staying true to it's core: a simple git web service, that doesn't lock +you into a vendor, or server. + +Configuration +------------- + +octopus is easy to configure and run, even on systems that don't give +you priviledged system access. The main server binary is configured +primarily with a few environment variables, and an app config. + ++ OCTOPUS_CONFIG should contain the path of the main configuration + ++ OCTOPUS_SSL_KEY can optionally be set to the path of a certificate key + ++ OCTOPUS_SSL_CERT can optionally be set to the path of a certificate + + +The main configuration file is written in yaml, and outlines things +like the application domain, repo paths, and added modules. Because +octopus is vory modular, you can only depend on certain features. + + +--- +app_path: git.octopus.example +port: 8080 +handle_ssl: false +cache_path: /var/cache/octopus +repo_path: /var/lib/octopus/repos +repo_discovery: false # Disables automatic config loading from repo_path + # and instead let's you set a static set of repos + # in the section below +repos: + - octopus: + description: "🐙 It's a water animal" + category: "/" + - libkookie: + description: "My personal nix expressions" + category: "/nix" + + + </pre> + </div> + </body> +</html> |