# Fossil Director
Fossil-director is an HTTP server used to host multiple [Fossil](https://fossil-scm.org) repositories, based on the hostname.
The server is meant to run behind nginx or other reverse proxy. Fossil-director will inspect the incoming HTTP `Host:` header and dispatch to the configured fossil repository.
## Installation
(Requires Python >= 3.8)
`pip install fossil-director`
## Configuration
A configuration `.ini` is required. At minimum, define a hostname and path to the fossil repository:
```ini
[example.com]
repo = /path/to/repo.fossil
```
Each virtual host is a new section. Here are all of the options:
```ini
[foo.org]
repo = /other/path.fossil
repolist = false # if repo is a directory, set this to true to serve
# a directory index of fossil files
baseurl = http://foo.org/fossil/ # base url
args = --nodelay --acme # extra arguments to the `fossil http` command
redirect_root = /some/other/path # redirect requests for / to the given URI
```
By default, the server runs on port 7000. Here are the server options:
```ini
[server]
host = 127.0.0.1
port = 7000
fossil_cmd = /usr/local/bin/fossil # path to fossil executable
```
## Running
`fossil-director /path/to/config.ini`
Here's an [example systemd service](/file?name=fossil-director.service)
Raw data
{
"_id": null,
"home_page": "https://code.pobblelabs.org/fossil/fossil_director",
"name": "fossil-director",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "protocol",
"author": "Dave St.Germain",
"author_email": "dave@st.germa.in",
"download_url": "https://files.pythonhosted.org/packages/aa/e9/8e1744ea4c4fb8c78518751753ea6caa9f610a1926f0fb3976c61572093b/fossil_director-1.0.tar.gz",
"platform": null,
"description": "# Fossil Director\n\nFossil-director is an HTTP server used to host multiple [Fossil](https://fossil-scm.org) repositories, based on the hostname.\n\nThe server is meant to run behind nginx or other reverse proxy. Fossil-director will inspect the incoming HTTP `Host:` header and dispatch to the configured fossil repository.\n\n## Installation\n\n(Requires Python >= 3.8)\n\n`pip install fossil-director`\n\n## Configuration\n\nA configuration `.ini` is required. At minimum, define a hostname and path to the fossil repository:\n\n```ini\n[example.com]\nrepo = /path/to/repo.fossil\n```\n\nEach virtual host is a new section. Here are all of the options:\n```ini\n[foo.org]\nrepo = /other/path.fossil\nrepolist = false # if repo is a directory, set this to true to serve \n # a directory index of fossil files\nbaseurl = http://foo.org/fossil/ # base url\nargs = --nodelay --acme # extra arguments to the `fossil http` command\nredirect_root = /some/other/path # redirect requests for / to the given URI\n```\n\nBy default, the server runs on port 7000. Here are the server options:\n\n```ini\n[server]\nhost = 127.0.0.1\nport = 7000\nfossil_cmd = /usr/local/bin/fossil # path to fossil executable\n\n```\n\n## Running\n\n`fossil-director /path/to/config.ini`\n\nHere's an [example systemd service](/file?name=fossil-director.service)\n\n\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "fossil director",
"version": "1.0",
"project_urls": {
"Homepage": "https://code.pobblelabs.org/fossil/fossil_director"
},
"split_keywords": [
"protocol"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "491201e0c19599c9863d2a0839c14f46066912ee8c21fc84d0340745e3bdd510",
"md5": "4048ef022702017f0c0066d9413d6723",
"sha256": "a1dc40ca8d859a277c3e3e543ccd6691a48df107cc2bd7e062ecf6cef00b77d7"
},
"downloads": -1,
"filename": "fossil_director-1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4048ef022702017f0c0066d9413d6723",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 4619,
"upload_time": "2024-06-30T01:10:47",
"upload_time_iso_8601": "2024-06-30T01:10:47.549636Z",
"url": "https://files.pythonhosted.org/packages/49/12/01e0c19599c9863d2a0839c14f46066912ee8c21fc84d0340745e3bdd510/fossil_director-1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aae98e1744ea4c4fb8c78518751753ea6caa9f610a1926f0fb3976c61572093b",
"md5": "1fb70934ef9dfbb228e33900ce27e1c8",
"sha256": "0288e9d060f7d8801bc70188fe94dc0e15bb19c76ec8ff0ea5ce98c522c62cf6"
},
"downloads": -1,
"filename": "fossil_director-1.0.tar.gz",
"has_sig": false,
"md5_digest": "1fb70934ef9dfbb228e33900ce27e1c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4195,
"upload_time": "2024-06-30T01:10:49",
"upload_time_iso_8601": "2024-06-30T01:10:49.293091Z",
"url": "https://files.pythonhosted.org/packages/aa/e9/8e1744ea4c4fb8c78518751753ea6caa9f610a1926f0fb3976c61572093b/fossil_director-1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-30 01:10:49",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "fossil-director"
}