The new version of will be in Ruby on Rails. It was NoNo's resolution for 2009 (well, achieved !). You may add other enhancements at as you have a look at the website
CSS Ruby HTML CoffeeScript Other
Failed to load latest commit information.
app Block new users to create/edit wiki pages Aug 3, 2016
bin Update README, add some bin files and annotate models Apr 19, 2014
config Update to rails 4.2 Jan 18, 2015
db Upgrade doorkepeer Apr 8, 2015
docker-files typo May 27, 2014
lib Fix redaction and moderation after security fix Jan 28, 2016
public Add new logo Jul 16, 2016
spec Update a bunch of gems Sep 21, 2014
tmp/sessions Fighting with capistrano Sep 18, 2010
vendor/assets/javascripts Update markitup Apr 28, 2014
.gitignore Added vendor/bundle to gitignore Nov 9, 2014
.rspec Clean specs Apr 23, 2014
Dockerfile total debunking, includes fix on perms, handling bundle, and otehr ti… May 27, 2014
Gemfile Update Rails Aug 17, 2016
Gemfile.lock Update Rails Aug 17, 2016
LICENSE Add the LICENCE file Aug 3, 2009 Fix rake elasticsearch:import Sep 20, 2014
Rakefile Upgrade gems and config for rails 4.1 Apr 19, 2014 Upgrade gems and config for rails 4.1 Apr 19, 2014 is a french web site speaking of Linux and Free Software.

This git repository is the rails application that run on


The following instructions will help you to install the Rails part of on a Debian box.

1) First install some Debian packages:

# aptitude install mysql-server mysql-client libmysql++-dev git-core
# aptitude install build-essential openssl libreadline6 libreadline6-dev
# aptitude install curl libcurl4-openssl-dev zlib1g zlib1g-dev libssl-dev
# aptitude install libxml2-dev libxslt-dev autoconf libgmp-dev libyaml-dev
# aptitude install ncurses-dev bison automake libtool imagemagick libc6-dev
# aptitude install hunspell hunspell-fr openjdk-6-jdk redis-server

Note: you can use libcurl4-gnutls-dev instead of libcurl4-openssl-dev.

2) Configure the database:

# mysql -p -u root
<enter your root password for mysql>
> GRANT ALL PRIVILEGES ON linuxfr_rails.* TO "linuxfr_rails"@"localhost";
(return to user)

Statistics need time zone at SQL level. You'll need to population time_zone* tables.
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p -u root mysql

3) Install Ruby with RVM (more details on ):

$ \curl -sSL | bash -s stable --ruby

And follow the instructions.

4) Clone the repository, configure and install gems:

$ git clone git://
$ cd
$ cp config/database.yml{.sample,}
$ cp config/secrets.yml{.sample,}
$ bundle install

5) Finish to configure:

$ desi install
$ desi start
$ bin/rake db:setup
(if you're updating, you'll need an other step: redis-cli flushdb)
$ bin/rake elasticsearch:import FORCE=y

6) Let's run it:

$ bin/rails server
$ x-www-browser

7) Create an admin account:

  • Create an account
  • Get confirmation link in the console and confirm the account
  • Get password in the console
  • Give admin role to this account with mysql linuxfr_rails mysql> UPDATE accounts SET role='admin' WHERE login='xxxxxx';
  • Reload the page on the site, you should be admin.

Alternative install (docker)

The whole install process may seem a bit tedious especially if your environment is not already set for ruby development, and it may discourage contributions for small things like css or quick bugfix.

In such case and if you have a recent kernel (3.8+) you can give docker a try. The big plus is that you don't have to install ruby, mysql, or whatever, it all will be 'contained' in the docker image. The image is built upon a debian image but can be launched from any distro.

Step by step:

  • install docker (see
  • pull the premade image
    • docker pull mose/linuxfr-dev
  • or if you already know docker make your own with the Dockerfile present in the repo
    • docker build -t linuxfr .
  • remove database.yml if you already customised it, as it will use the default one
  • launch the container either manually
    • docker run -d -v /path/to/linuxfr-cloned-repo:/srv/linuxfr --name linuxfr mose/linuxfr-dev
  • or use the small bash script
    • ./docker-files/ it will
      • create a user with same uid as you so the mounted repo will have no prem trouble
      • copy your ssh public keys in the container root and user account authorized_keys
      • run a bundle install --path vendor so the bundled gems will be in vendor/ruby/ (note later on if you are on the same ARCH as the container (ie 64bits) you can bundle install from your local repo)
      • propose you to refresh or not the db
      • add in your /etc/hosts an entry for the container ip to resolve to
  • you can access the launched app
    • x-www-browser reach the app in your browser
    • mysql -h linuxfr_rails to access the db
    • ssh root@ and password docker to reach it via ssh
  • you will have to do the step 7 from the normal install for init the admin account.


  • your local git clone of code is mounted in the container, so all you change in your local dir are taken in account immediatelyin the container
  • docker ps should list the container if it's launched
  • docker stop linuxfr stops the container
  • docker start linuxfr restarts the container if it was stopped
  • docker rm linuxfr will erase a container so you can relaunch a fresh one from the image
  • docker images lists the docker images you can launch
  • the script also puts a somain resolution to the container ip for ease of use
  • you can launch a rails console with ssh "cd /srv/linuxfr && bundle exec rails c"


  • elasticsearch is not yet included in the docker image
  • this dockerisation is still experimental and not very well tested but it proved to work at least once
  • please report any bugs or suggest improvements by opening an issue.

See also

If you want the full stack for running, you should also look at:

How to run the specs

1) Be sure that redis and ElasticSearch are running

2) And now, just run rspec (and repeat this step until done):

$ bin/rspec spec

How to generate a CSS

CSS are written in sass and compiled with the Rails assets pipeline. If you just want to compile a CSS without installing Rails and all its dependency, you can install the sass gem and launch:

bin/compile_sass app/assets/stylesheets/application.css.scss > app.css


The code is licensed as GNU AGPLv3. See the LICENSE file for the full license.

The default avatar is a modified Tux.

Iconic icons are licenced CC by-sa 3.0.

♡2011 by Bruno Michel. Copying is an act of love. Please copy and share.