-
Notifications
You must be signed in to change notification settings - Fork 9
Host your own baboon server
If you want to replace the default baboon-project.org server, you can host your own XMPP server and Baboon server.
Two main reasons to do that:
- You don't want to share your code in realtime with baboon-project.org
- You want to use Baboon with a private code repository
baboon-project.org uses the Ejabberd XMPP server. It should works with other XMPP servers. The only requirements are having these XEP implemented (and enabled):
- XEP 0004 (Data Forms)
- XEP 0060 (PubSub)
- XEP 0065 (Socks5 Bytestreams)
- XEP 0077 (In-Band Registration)
Refer to the Ejabberd documentation to configure it.
The default configuration file of Ejabberd (/etc/ejabberd/ejabberd.cfg
) should works pretty well. You can adjust the SERVED HOSTNAMES
to match your needs. For example:
{hosts, ["localhost", "<domain_name>"]}.
{acl, proxy_users, {server, "<domain_name>"}}.
{access, proxy65_access, [{allow, proxy_users}, {deny, all}]}.
{modules,
[
%% ...
{mod_proxy65, [{host, "streamer.<domain_name>"},
{name, "File Transfer Proxy"},
{hostname, "<domain_name>"},
{ip, {0,0,0,0}},
{port, 7777},
{access, proxy65_access}
]},
%% ...
]}.
To authorize In-band registration, check register ACL (replace deny
by allow
if necessary):
{access, register, [{allow, all}]}.
$ pip install baboon
The configuration file needs to be placed in /etc/baboon/baboondrc
or ~/.baboondrc
.
[server]
pubsub=pubsub.<domain_name>
working_dir=<working_dir>
[user]
jid=admin@<domain_name>/baboond
passwd=<password>
- Replace <domain_name> by the real domain name to use (by default,
baboon-project.org
) - Replace <working_dir> by the full path of the directory you want to store git repositories
- Replace by the password of the
admin@<domain_name>
JID account. (by default, ********** :-D). The admin account will be created in the next section.
Baboon server is just a XMPP client. You need to register the Baboon server account (admin@<domain_name>
).
To do that, you have multiple possibilities:
- Use the Baboon client on your computer:
$ baboon --host <domain_name> register admin --nosave
- Use
ejabberdctl
if you are using the Ejabberd XMPP server:$ ejabberdctl register admin <domain_name> <password>
$ baboond
$ baboon --hostname <domain_name> register <username>
$ baboon create <project_name> <git_url_of_the_project>
$ baboon start
- Replace <git_url_of_the_project> by the git url of the project (e.g.
git://github.com/SeyZ/crazy-baboon
)
That's it! Congratulation! If you have any problem, don't hesitate to post an issue or to contact me at [email protected]