all repos

mugit @ c00f9a82ec2a1b178da4fb5870be8d1fa75be6d0

🐮 git server that your cow will love
2 files changed, 13 insertions(+), 12 deletions(-)
update readme and changelog
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2026-03-21 23:59:42 +0200
Authored at: 2026-03-21 19:08:34 +0200
Change ID: uvrkkwxqtolsvnmmukppxkruoruoylqx
Parent: 48f24d9
M CHANGELOG.md
···
        10
        10
         - Support `git-upload-archive`.

      
        11
        11
         - Better CSS for markdown readmes.

      
        12
        12
         - Add breadcrumbs on "file content" and "file tree" pages.

      
        13
        
        -- Show last commit associated with file on tree page.

      
        14
        
        -- Add a way of changing repos head from cli.

      
        
        13
        +- Show last commit associated with file on the "tree page".

      
        15
        14
         - Highlight selected line on file content page.

      
        
        15
        +- `mugit repo new` now accepts `--description` flag, well it sets repo description.

      
        
        16
        +- Show remote urls and mirroring data on empty repos.

      
        16
        17
         

      
        17
        18
         ### Bug fixes:

      
        18
        19
         - Allow downloading only valid and existing refs.

      
M README.md
···
        5
        5
         [See it in action!](https://git.olexsmir.xyz)

      
        6
        6
         

      
        7
        7
         ## Features

      
        8
        
        -

      
        9
        
        -- Web interface — browse repositories, view commits, files, and diffs (no javascript required)

      
        10
        
        -- Git Smart HTTP — clone over HTTPS (use SSH for pushing)

      
        11
        
        -- Git over SSH — push and clone over SSH

      
        12
        
        -- Mirroring — automatically mirror repositories (supports GitHub authentication)

      
        
        8
        +- Web interface — browse repositories, view commits, files, and diffs (no javascript required).

      
        
        9
        +- Git Smart HTTP — clone over HTTPS (use SSH for pushing).

      
        
        10
        +- Git over SSH — push and clone repos over SSH.

      
        
        11
        +- Mirroring — automatically mirror repos from other forges (supports GitHub authentication).

      
        13
        12
         - Private repositories — repos accessible only via SSH

      
        14
        13
         - CLI — command-line for managing your repositories

      
        15
        14
         

      ···
        24
        23
         go install github.com/olexsmir/mugit@latest

      
        25
        24
         ```

      
        26
        25
         

      
        27
        
        -For nixos you can use our flake, see [my config](https://git.olexsmir.xyz/dotfiles/blob/master/nix/modules/mugit.nix) for reference.

      
        
        26
        +For nixos, you can use our flake, see [my config](https://git.olexsmir.xyz/dotfiles/blob/master/nix/modules/services/mugit.nix) for reference.

      
        28
        27
         

      
        29
        28
         Start the server:

      
        30
        
        -

      
        31
        29
         ```sh

      
        32
        30
         # start server with default config lookup

      
        33
        31
         mugit serve

      
        34
        32
         

      
        35
        33
         # start with a custom config path

      
        36
        34
         mugit -c /path/to/config.yaml serve

      
        
        35
        +

      
        
        36
        +# mirror your repo from github

      
        
        37
        +mugit repo new repo-name --mirror https://github.com/user/repo

      
        37
        38
         ```

      
        38
        
        -

      
        39
        39
         

      
        40
        40
         ## Configuration

      
        41
        41
         

      ···
        45
        45
         3. `/var/lib/mugit/config.yaml`

      
        46
        46
         

      
        47
        47
         

      
        48
        
        -Durations follow Go's duration syntax (examples: `1h`, `30m`, `5s`). See: https://pkg.go.dev/time#ParseDuration

      
        
        48
        +Durations follow Go's duration syntax (examples: `1h`, `30m`, `5s`). See: [https://pkg.go.dev/time#ParseDuration]

      
        49
        49
         

      
        50
        50
         Minimal configuration example:

      
        51
        51
         

      ···
        104
        104
           # - literal: "ghp_xxxxxxxxxxxx"

      
        105
        105
           # - from env: "$env:GITHUB_TOKEN" (will read $GITHUB_TOKEN)

      
        106
        106
           # - from file: "$file:/abs/path/to/token.txt"

      
        107
        
        -  github_token: "${env:GITHUB_TOKEN}"

      
        
        107
        +  github_token: "$env:GITHUB_TOKEN"

      
        108
        108
         

      
        109
        109
         cache:

      
        110
        110
           home_page: 5m   # cache index/home page