# Fossil Director
Fossil-director is an HTTP/SCGI 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. Either HTTP or SCGI can be used, though SCGI is [probably preferable](https://fossil-scm.org/home/doc/trunk/www/server/debian/nginx.md#http). 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
```
By default, the server runs on port 7000. Here are the server options:
```ini
[server]
host = 127.0.0.1
port = 7000
scgi = true # to run as an SCGI server
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/d5/60/ed87a344ba96829a173ca5d01c315e45205764fb0c69254cf17d56fc18db/fossil_director-0.2.tar.gz",
"platform": null,
"description": "# Fossil Director\n\nFossil-director is an HTTP/SCGI 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. Either HTTP or SCGI can be used, though SCGI is [probably preferable](https://fossil-scm.org/home/doc/trunk/www/server/debian/nginx.md#http). 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\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\nscgi = true # to run as an SCGI server\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": "0.2",
"project_urls": {
"Homepage": "https://code.pobblelabs.org/fossil/fossil_director"
},
"split_keywords": [
"protocol"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f44abc4fb4592ade737fe5cc5e679b5bdc29db81ca732867ca9044832c88c1b1",
"md5": "d087dc21594c67c5a98fda2b89bc552c",
"sha256": "a7cdd07f1495c333ffc9009c55d12eda8e36dc530b27401b2c228ddc8c4ef8f7"
},
"downloads": -1,
"filename": "fossil_director-0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d087dc21594c67c5a98fda2b89bc552c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 4595,
"upload_time": "2024-04-23T03:20:01",
"upload_time_iso_8601": "2024-04-23T03:20:01.114116Z",
"url": "https://files.pythonhosted.org/packages/f4/4a/bc4fb4592ade737fe5cc5e679b5bdc29db81ca732867ca9044832c88c1b1/fossil_director-0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d560ed87a344ba96829a173ca5d01c315e45205764fb0c69254cf17d56fc18db",
"md5": "ca204c6339a3b2a04259160f65e43b26",
"sha256": "cc38b19b2dd3a92330c8f97cd2e4abc988ece3939bd92cc28a088bc0f7e8ee08"
},
"downloads": -1,
"filename": "fossil_director-0.2.tar.gz",
"has_sig": false,
"md5_digest": "ca204c6339a3b2a04259160f65e43b26",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4246,
"upload_time": "2024-04-23T03:20:03",
"upload_time_iso_8601": "2024-04-23T03:20:03.559021Z",
"url": "https://files.pythonhosted.org/packages/d5/60/ed87a344ba96829a173ca5d01c315e45205764fb0c69254cf17d56fc18db/fossil_director-0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-23 03:20:03",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "fossil-director"
}