Skip to content
fossil-skin Artifact [655811a8e8]
Login

Artifact [655811a8e8]

Artifact 655811a8e8b55957cf27dcc4395a4bce5da5fb39fb30cac822e57d75f85f6e64:

Wiki page [new-repo] by dmestas on 2026-10-13 01:50:24.
D 2026-10-13T01:50:24.841
L new-repo
N text/x-markdown
P 31c1df08167b481f354ef427d89c8edc773c163fe15c2d3aa808447e69896dc3
U dmestas
W 2519
# Creating a New Repository

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

## 1. Initialize the repo

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

## 2. Set the admin password

```bash
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:

```bash
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:

```bash
python3 /var/fossil/skin/apply.py
```

## 5. Add to the login group

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

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

Verify it joined:

```bash
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:

```bash
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

```bash
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
```

Z 50c06f0311213309e0d79945407492db