Clojars web interface
This is only of interest to you if you want to hack on the Clojars source code (send me a pull request with your patches) or if you want to try to run your own copy (for example inside a company).
Running the webapp
Create an initial sqlite database:
mkdir data; sqlite3 data/db < clojars.sql
Run the webapp:
java -jar clojars-web-*-standalone.jar 8080 8701
Now try hitting
http://localhost:8080/in your web browser.
If you'd like to run it out of an editor/IDE environment you can
probably eval a call to the
-main function in
If you'd like to hack on the UI or search it might be useful to have production-like metadata. I've put up a production database dump (with password hashes and email addresses stripped of course) which you can use like this:
wget http://meshy.org/~ato/clojars-test-data.sql.gz rm data/db zcat clojars-test-data.sql.gz | sqlite3 data/db
If you want all the actual jar files as well you can grab them via rsync.
The SSH integration is kind of a hack and needs improvement. Currently it uses Nailgun but the current setup has threading problems due to the way it does IO.
clojars.scp implements the SCP protocol
and acts as a Nailgun "nail" so it can be called from the
command-line. Clojars writes an SSH
with a line for each user's public key setting the login command to
ng --nailgun-port 8700 clojars.scp USERNAME.
To set it up:
Install the Nailgun
ngC program. Just unpack the Nailgun source and run
makethen copy the
ngexecutable somewhere like
Create a "clojars" unix account with a disabled password.
Disable password authentication for that user by adding this to
Match User clojars PasswordAuthentication no
Symlink in the auth_keys file the webapp generates:
cd /home/clojars mkdir .ssh cd .ssh ln -s ...../clojars-web/data/authorized_keys authorized_keys
There's a public mailing list firstname.lastname@example.org for general discussion. There's also a separate maintainers list for people looking after the repository and server.