Giter Club home page Giter Club logo

clojars-web's Introduction

Clojars web interface

This is the source code for the Clojars jar repository. If you're looking for user documentation, try the wiki.

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

  1. Install Leiningen and SQLite3 (Debian: apt-get install sqlite3).

  2. Compile with: lein uberjar

  3. Create an initial sqlite database: mkdir data; sqlite3 data/db < clojars.sql

  4. Run the webapp: java -jar clojars-web-*-standalone.jar 8080 8701

  5. 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 src/clojars/core.clj.

Test data

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.

SSH integration

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.

Basically 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 authorized_keys file 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:

  1. Install the Nailgun ng C program. Just unpack the Nailgun source and run make then copy the ng executable somewhere like /usr/local/bin

  2. Create a "clojars" unix account with a disabled password.

  3. Disable password authentication for that user by adding this to /etc/ssh/sshd_config:

     Match User clojars
     PasswordAuthentication no
    
  4. Symlink in the auth_keys file the webapp generates:

     cd /home/clojars
     mkdir .ssh
     cd .ssh
     ln -s ...../clojars-web/data/auth_keys authorized_keys
    

Mailing lists

There's a public mailing list [email protected] for general discussion. There's also a separate maintainers list for people looking after the repository and server.

clojars-web's People

Contributors

ato avatar scottjad avatar technomancy avatar lrenn avatar stackoverflow avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.