ostree-init man page
ostree-init — Initialize a new empty repository
ostree init [Options...]
Creates a new empty repository.
Initialize repository in given mode (bare, bare-user, bare-user-only, archive). The default is bare. Note that for archive the repository configuration file will actually have archive-z2, as that's the historical name.
See the manual for differences between these modes. Briefly, bare mode stores files as they are, so they can be directly hardlinked, bare-user uses extended attributes to store ownership and xattr information, allowing non-root operations, bare-user-only does not store ownership information, and archive stores files compressed, to be served over the network.
Set the collection ID of the repository. Remotes in clones of this repository must configure the same value in order to pull refs which originated in this repository over peer to peer.
This collection ID must be persistent and globally unique. It is formatted as a reverse DNS name (like a D-Bus interface). It must be set to a reverse DNS domain under your control.
This option may be omitted (the default) to leave peer to peer distribution unsupported for the repository. A collection ID may be added to an existing repository in future to enable peer to peer distribution from that point onwards.
If the collection ID is changed for the repository in future, peer to peer distribution of refs from the repository will break for all peers who do not update their remote configuration to the new collection ID.