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