Go to file
Yuki a5927cefa0 [skip ci] update README.md 2015-05-26 05:28:17 +05:30
app use service-docs instead of text in templates 2015-05-26 01:35:04 +02:00
bin removed unneeded binstubs 2015-04-19 22:40:00 +02:00
config Fix FAQ 2015-05-26 04:56:58 +05:30
db basic implementation 2015-05-08 21:14:16 +05:30
docs added nginx configuration, ASS runscript 2015-04-02 01:12:01 +02:00
lib fixed profile headers 2015-05-10 02:57:18 +02:00
log first commit 2014-08-01 11:23:47 +02:00
public basic implementation 2015-05-08 21:14:16 +05:30
service-docs@7f6cd02e6e Fix FAQ 2015-05-26 04:56:58 +05:30
spec Revert to 'rspec fixes' -- 'Inbox user answers a question' is a mysterious failure 2015-05-11 16:09:12 +05:30
tmp added a few directories in ./tmp 2014-12-13 16:42:00 +01:00
vendor/assets added Particleground to frontpage 2015-05-12 23:53:42 +02:00
.gitignore basic implementation 2015-05-08 21:14:16 +05:30
.gitmodules [skip ci] thanks xalign 2015-05-26 04:30:27 +05:30
.rspec removed a (rrer)rspec option 2014-12-05 06:39:33 +01:00
.travis.yml update Travis config to cache bundler 2015-05-12 23:58:53 +02:00
Gemfile add byebug and web-console as development gems 2015-05-12 10:12:27 +05:30
Gemfile.lock add byebug and web-console as development gems 2015-05-12 10:12:27 +05:30
LICENSE added license (AGPLv3) 2015-04-02 01:39:46 +02:00
Procfile updated procfile 2014-12-13 16:44:33 +01:00
README.md [skip ci] update README.md 2015-05-26 05:28:17 +05:30
Rakefile string != symbol always evaluates to true 2015-05-09 17:01:19 +02:00
TODO Update TODO 2015-04-02 02:07:17 +02:00
config.ru first commit 2014-08-01 11:23:47 +02:00

README.md

Retrospring Build Status Bugs

This is the source code that powers Retrospring. Yep, all of it. Including all the branches where we left off.

Requirements

  • UNIX-like system (Linux, FreeBSD, ...)
  • Ruby 2.0.0+
  • Bundler
  • PostgreSQL
  • Redis (for Sidekiq)
  • ImageMagick (for image processing)

Installation (production)

We've installed justask on FreeBSD 10 using rvm. What we also did was creating a new, seperate user just for justask to run in. On FreeBSD, this is done with:

# pw user add justask

Database

At Retrospring, we were using PostgreSQL as the database backend. The software might work on MySQL too, but that was not tested.

Installation from Ports (using portmaster):

# portmaster databases/postgresql93-server

PostgreSQL

$ sudo -u postgres psql -d template1
template1=# CREATE USER justask CREATEDB;
template1=# CREATE DATABASE justask_production OWNER justask;
template1=# \q

Try connecting to the database:

$ psql -U justask -d justask_production

nginx

See docs/nginx.conf for the configuration we use on Retrospring.

justask

Clone the Source

$ git clone --recursive https://github.com/Retrospring/retrospring.git retrospring

Configure It

# Change into the justask directory
$ cd justask

# Copy the example config
$ cp config/justask.yml.example config/justask.yml

# Edit the configuration file
$ vi config/justask.yml

Database Configuration

$ cp config/database.yml.postgres config/database.yml
$ vi config/database.yml

# Make database.yml readable only for you
chmod o-rwx config/database.yml

Install Gems

# Deployment:
$ bundle install --deployment --without development test mysql

# Development:
$ bundle install --without production mysql

Initialize Database

$ bundle exec rake db:migrate RAILS_ENV=production

Compile Assets

$ bundle exec rake assets:precompile RAILS_ENV=production

Run the server

# Production mode:
$ foreman start

# Development mode:
$ bundle exec rails server

Now, create an account on your justask installation.

To make yourself an admin, just execute:

$ bundle exec rake 'justask:admin[your_username]' RAILS_ENV=production

If you want to remove admin status from a certain user, you can do this:

$ bundle exec rake 'justask:deadmin[get_rekt]' RAILS_ENV=production

Add/remove moderators (this can also be done via the web interface by visiting an user as an admin):

$ bundle exec rake 'justask:mod[someone_else]' RAILS_ENV=production
$ bundle exec rake 'justask:demod[someone_else]' RAILS_ENV=production

Add/remove supporters (this can also be done via the web interface by visiting an user as an admin/mod):

$ bundle exec rake 'justask:sup[someone_else]' RAILS_ENV=production
$ bundle exec rake 'justask:desup[someone_else]' RAILS_ENV=production

Export user data:

$ bundle exec rake 'justask:export[jdoe@example.tld]' RAILS_ENV=production

Find the user(s) with the most self-asked anonymous questions:

$ bundle exec rake justask:loners

Updating Submodules

If you already have an existing copy of justask, you can initialize and update the submodules with;

$ git submodule init
$ git submodule update

The Official Retrospring Closedown Soundtrack™ (now redundant)

License

AGPLv3.