Skip to content
fossil-skin Update of ”new-repo”
Login

Update of ”new-repo”

Overview

Artifact ID: 655811a8e8b55957cf27dcc4395a4bce5da5fb39fb30cac822e57d75f85f6e64
Page Name:new-repo
Date: 2026-10-13 01:50:24
Original User: dmestas
Mimetype:text/x-markdown
Parent: 31c1df08167b481f354ef427d89c8edc773c163fe15c2d3aa808447e69896dc3 (diff)
Next bfe80a677f9dbe76e6c9e9e8b2f4ee84c7b99dc9daf9f495cfbf331a3bdfb7ea
Content

Creating a New Repository

Everything needed to add a repo to fossil.craftdesign.group.

1. Initialize the repo

fossil init /var/fossil/repos/<name>.fossil

2. Set the admin password

fossil user password dmestas <password> -R /var/fossil/repos/<name>.fossil

3. Create the meta sidecar

Controls the icon and description shown on the landing page. Two lines — emoji icon, then description:

printf '🚀\nShort description of the project' > /var/fossil/repos/<name>.meta

If no .meta file exists, the repo will appear with a 📦 icon and no description.

Optional lines 3 and 4 set the public access policy: line 3 is the Fossil capability string for nobody (not logged in), line 4 for anonymous (defaults to line 3). The default is jh (wiki read only). Example for a repo with a public, moderated forum:

🪨
Fossil's formats and sync protocol, reimplemented in Zig
ghoj2
ghoj23

2 lets visitors read the forum, 3 lets anonymous users post with their posts held for moderation. The .meta files are versioned in the fossil-skin repo under repos/; edit them there and deploy, rather than only on the server.

4. Run apply.py

Skins the repo, sets public access policy (wiki-only), and regenerates the landing page:

python3 /var/fossil/skin/apply.py

5. Add to the login group

Allows single sign-on across all repos — log in once, authenticated everywhere:

fossil login-group join /var/fossil/repos/edgesync.fossil \
  -R /var/fossil/repos/<name>.fossil

Verify it joined:

fossil login-group -R /var/fossil/repos/<name>.fossil

6. Create the wiki home page

Sets what visitors see when they land on the repo:

fossil wiki create index -mimetype text/x-markdown \
  -R /var/fossil/repos/<name>.fossil << 'WIKI'
# <name>

Description of the project.

## Clone

fossil clone https://[email protected]/<name>/ <name>.fossil

WIKI

7. Done

The repo is live at https://fossil.craftdesign.group/<name>/ and appears on the landing page automatically.


Full one-liner checklist

NAME=myrepo
PASS=changeme
DESC="What this repo does"
ICON="📦"

fossil init /var/fossil/repos/$NAME.fossil
fossil user password dmestas $PASS -R /var/fossil/repos/$NAME.fossil
printf "$ICON\n$DESC" > /var/fossil/repos/$NAME.meta
python3 /var/fossil/skin/apply.py
fossil login-group join /var/fossil/repos/edgesync.fossil \
  -R /var/fossil/repos/$NAME.fossil