Go to file
Carl Chenet 1e2c95e698 modify information about lobste.rs to journalduhacker. License change 2017-02-25 15:03:11 +01:00
app fix syntaxes 2017-02-08 08:47:24 +01:00
bin upgrade to rails v4.0.2 2013-12-30 17:40:52 -05:00
config i18n of a email reply on a mention 2017-02-08 08:42:13 +01:00
db Fix spec failure due to leaky ActiveRecord abstraction of booleans (#311) 2016-07-05 12:04:02 -05:00
extras Markdowner: disable automatic profile linking for now 2016-02-11 10:54:02 -06:00
lib Add task to generate test data 2014-07-07 12:15:28 +04:00
public ignore favicon and apple-touch-icon, these are per-site 2016-04-14 11:17:34 -05:00
script mail_new_activity: hat is in From header, no need to add in body 2016-11-03 16:20:07 -05:00
spec clean up tests 2016-05-09 09:52:47 -05:00
vendor/assets upgrade to rails v4.0.2 2013-12-30 17:40:52 -05:00
.gitignore gitignore: un-ignore bbs stuff now that it's gone 2016-04-14 11:19:04 -05:00
.rspec Refactor HomeController 2014-07-09 22:25:39 +04:00
.ruby-version Support Ruby 2.2.0 and 2.3.0 2016-03-05 17:19:44 -05:00
CONTRIBUTING.md modify information about lobste.rs to journalduhacker. License change 2017-02-25 15:03:11 +01:00
Gemfile update to rails 4.1.12 2015-07-24 01:38:51 -05:00
Gemfile.lock Update htmlentities to remove warning 2016-03-05 17:32:44 -05:00
LICENSE modify information about lobste.rs to journalduhacker. License change 2017-02-25 15:03:11 +01:00
README.md modify information about lobste.rs to journalduhacker. License change 2017-02-25 15:03:11 +01:00
Rakefile upgrade to rails v4.0.2 2013-12-30 17:40:52 -05:00
config.ru upgrade to rails v4.0.2 2013-12-30 17:40:52 -05:00

README.md

###Journalduhacker Project

This is the source code of the website operating at https://www.journalduhacker.net. It is a Rails 4 codebase and uses a SQL (MariaDB in production) backend for the database and Sphinx for the search engine.

This code is forked from the lobste.rs engine available here.

####Contributing bugfixes and new features

Please see the CONTRIBUTING file.

####Initial setup

  • Install Ruby. This code has been tested with Ruby versions 1.9.3, 2.0.0, 2.1.0, and 2.3.0.

  • Checkout the journalduhacker git tree from Github

       $ git clone https://gitlab.com/journalduhacker/journalduhacker.git
       $ cd journalduhacker
       journalduhacker$ 
    
  • Run Bundler to install/bundle gems needed by the project:

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

        development:
          adapter: mysql2
          encoding: utf8mb4
          reconnect: false
          database: journalduhacker_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:

        journalduhacker$ 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_key_base = 'your random secret here'
    
  • (Optional, only needed for the search engine) Install Sphinx. Build Sphinx config and start server:

        journalduhacker$ rake ts:rebuild
    
  • Define your site's name and default domain, which are used in various places, in a config/initializers/production.rb or similar file:

        class << Rails.application
          def domain
            "example.com"
          end
    
          def name
            "Example News"
          end
        end
    
        Rails.application.routes.default_url_options[:host] = Rails.application.domain
    
  • Put your site's custom CSS in app/assets/stylesheets/local.

  • Seed the database to create an initial administrator user and at least one tag:

        journalduhacker$ rake db:seed
        created user: test, password: test
        created tag: test
    
  • Run the Rails server in development mode. You should be able to login to http://localhost:3000 with your new test user:

        journalduhacker$ rails server
    
  • In production, set up crontab or another scheduler to run regular jobs:

        */20 * * * * cd /path/to/journalduhacker && env RAILS_ENV=production bundle exec rake ts:index > /dev/null