michal/tit

Browse tree · Show commit · Download archive

Blob: release/man/tit.1

Raw · Blame

.TH TIT 1 "2026-07-24" "tit 0.1.0" "User Commands"
.SH NAME
tit \- run a small self-hosted collaborative development environment
.SH SYNOPSIS
.B tit
[\fIOPTIONS\fR] \fICOMMAND\fR
.SH DESCRIPTION
.B tit
runs one HTTP server, one SSH server, Git transport, collaboration workflows,
backup, restore, and diagnostics in one executable.
It does not require a Git executable at run time.
.SH OPTIONS
.TP
.BR \-\-config " " \fIFILE\fR
Read configuration from FILE.
.TP
.B \-\-user
Read configuration from the XDG data directory.
.TP
.BR \-\-public\-url " " \fIURL\fR
Override the canonical public URL.
.TP
.BR \-\-http\-listen " " \fIADDRESS\fR
Override the HTTP listener address.
.TP
.BR \-\-ssh\-listen " " \fIADDRESS\fR
Override the SSH listener address.
.TP
.BR \-\-ssh\-public\-host " " \fIHOST\fR
Override the advertised SSH hostname.
.TP
.BR \-\-ssh\-public\-port " " \fIPORT\fR
Override the public SSH port.
.TP
.BR \-h ", " \-\-help
Print help.
.TP
.BR \-V ", " \-\-version
Print the version.
.SH COMMANDS
.TP
.B serve
Start the HTTP and SSH servers.
.TP
.B invite-code
Create a single-use signup invitation.
.TP
.B doctor
Check the instance without changing it.
Use
.B \-\-backup FILE
to also check a backup.
.TP
.B inspect
Show an account, repository, or Git operation intent as JSON.
.TP
.B dump
Write all SQLite rows as deterministic JSON Lines.
.TP
.B repair
Run an explicit intent or quarantine repair operation.
.TP
.B maintenance
Remove terminal workflow records that are older than the retention period,
then compact SQLite.
The default retention period is 365 days.
Use
.B \-\-retention\-days DAYS
to set another period.
.TP
.BR backup " " \fIFILE\fR
Create an owner-only backup archive.
.TP
.BR restore " " \fIARCHIVE DIRECTORY\fR
Restore an archive to an empty private directory.
.TP
.B setup
Create the initial administrator.
.TP
.B admin
Run an offline account, repository, or audit command.
.SH SSH INTERFACE
Run
.B ssh -p 2222 tit.example help
to show the commands that the built-in SSH server accepts.
An invalid command returns a nonzero status and tells the user to run
.BR help .
.PP
The SSH server accepts these collaboration commands:
.PP
.nf
auth ONE-TIME-SECRET
repo create NAME [--output human|json]
issue list OWNER/REPOSITORY [--output human|json]
issue create OWNER/REPOSITORY [--output human|json]
issue comment OWNER/REPOSITORY NUMBER [--output human|json]
issue close OWNER/REPOSITORY NUMBER [--output human|json]
issue reopen OWNER/REPOSITORY NUMBER [--output human|json]
pr list OWNER/REPOSITORY [--state open|closed|merged|all] [--output human|json]
pr create OWNER/REPOSITORY BASE HEAD [--output human|json]
pr close OWNER/REPOSITORY NUMBER [--output human|json]
pr reopen OWNER/REPOSITORY NUMBER [--output human|json]
pr checkout OWNER/REPOSITORY NUMBER [--output human|json]
.fi
.SH WEB INTERFACE
The Web interface does not require JavaScript.
It provides account SSH key management, repository settings, issues, pull
requests, watched repository activity, RSS feeds, and public profiles.
Commit and pull-request revision pages provide patch downloads that work with
.BR "git apply" .
Repository owners can rename and unarchive repositories.
.SH FILES
.TP
.B /srv/tit/config.toml
Default system configuration.
.TP
.B /srv/tit/tit.sqlite3
SQLite metadata database.
.TP
.B /srv/tit/repositories
Bare Git repositories.
.TP
.B /srv/tit/ssh_host_ed25519_key
Built-in SSH server host key.
.SH SECURITY
The instance directory and configuration must have owner-only permissions.
Backups contain credentials.
Store them as secrets.
.SH SEE ALSO
The release package contains the README, example service files, shell
completions, and this manual page.