Go to file
2013-02-24 19:37:14 -06:00
app after a new user signs up, nag them to invite someone 2013-02-22 14:52:22 -06:00
config after a new user signs up, nag them to invite someone 2013-02-22 14:52:22 -06:00
db designate certain tags as media types, require a tag other than those 2012-11-12 11:02:18 -06:00
extras so long whitespace 2013-02-13 18:50:51 -06:00
lib add stupid temporary hack to strip out utf8mb4 chars that are screwing up mysql 2012-11-07 21:58:10 -06:00
log initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
public add 144x144 version of apple-touch-icon.png for ipad 2013-01-04 00:12:44 -06:00
script add readme, do some cleanup before open sourcing 2012-08-24 11:42:23 -05:00
spec Use new ShortId class to generate short id 2013-01-22 23:32:45 -07:00
vendor initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
.gitignore add readme, do some cleanup before open sourcing 2012-08-24 11:42:23 -05:00
.rbenv-version Updating the patchset to the latest secure version 2012-11-22 19:53:19 -08:00
.rspec initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
.rvmrc Adding an rvmrc for rvm users 2012-11-22 19:53:28 -08:00
config.ru initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
CONTRIBUTING.md add contributing file 2012-09-18 10:15:43 -05:00
Gemfile rails update o' the day - 3.2.12 2013-02-11 21:58:39 -06:00
Gemfile.lock rails update o' the day - 3.2.12 2013-02-11 21:58:39 -06:00
LICENSE bump copyright to 2013 2013-02-24 19:37:14 -06:00
Rakefile initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
README.md recommend rake secret for generating secret_token.rb key 2013-01-22 15:35:09 -06:00

###Lobsters Rails Project

This is the source code to the site operating at https://lobste.rs. It is a Rails 3 codebase and uses a SQL (MySQL in production) backend for the database and Sphinx for the search engine.

####Initial setup

  • Install Ruby 1.9.3.

  • Checkout the lobsters git tree from Github

       $ git clone git://github.com/jcs/lobsters.git
       $ cd lobsters
       lobsters$ 
    
  • Run Bundler to install/bundle gems needed by the project:

       lobsters$ bundle
    
  • Create a MySQL (other DBs supported by ActiveRecord may work, only MySQL has been tested) database, username, and password and put them in a config/database.yml file:

        development:
          adapter: mysql2
          encoding: utf8
          reconnect: false
          database: lobsters_dev
          socket: /tmp/mysql.sock
          username: *username*
          password: *password*
    
        test:
          adapter: sqlite3
          database: db/test.sqlite3
          pool: 5
          timeout: 5000
    
  • Load the schema into the new database:

        lobsters$ rake db:schema:load
    
  • Create a config/initializers/secret_token.rb file, using a randomly generated key from the output of rake secret:

        Lobsters::Application.config.secret_token = 'your random secret here'
    
  • (Optional, only needed for the search engine) Install Sphinx. Build Sphinx config and start server:

        lobsters$ rake thinking_sphinx:rebuild
    
  • Create an initial administrator user and at least one tag:

        lobsters$ rails console
        Loading development environment (Rails 3.2.6)
        irb(main):001:0> u = User.new(:username => "test", :email => "test@example.com", :password => "test")
        irb(main):002:0> u.is_admin = true
        irb(main):003:0> u.is_moderator = true
        irb(main):004:0> u.save
    
        irb(main):005:0> t = Tag.new
        irb(main):006:0> t.tag = "test"
        irb(main):007:0> t.save
    
  • The default development hostname is defined as lobsters.localhost:3000. You should define this in /etc/hosts (or through DNS) to point to 127.0.0.1.

  • Run the Rails server in development mode. You should be able to login to http://lobsters.localhost:3000 with your test user:

        lobsters$ rails server
    

####Contributing bugfixes and new features

Please see the CONTRIBUTING file.