# Insoshi social software
Here's how to get started with Insoshi. If you encounter problems, be sure to refer to the Trac wiki at http://trac.insoshi.com/, which expands on some of the points here.
## Get Git
The source code to Insoshi is hosted by Git, a version control system developed by Linus Torvalds to host the Linux kernel. The first step is to install it from here:
http://git.or.cz/
Linux and Mac users should have no problems; Windows users might have to install Cygwin (http://cygwin.com/) first.
## Install libraries and gems
### Libraries
You'll need to install FreeImage, SQLite, and (optionally) MySQL. Install instructions for all three are easy to find using Google.
### Gems
You probably have Rails already, but might not have the others.
$ sudo gem install rails
$ sudo gem install image_science
$ sudo gem install ferret
$ sudo gem install mysql
$ sudo gem install sqlite3-ruby
## Installing the app
Here are the steps to get up and running with the Insoshi Rails app.
### Git steps
The repository is large enough (mainly due to the frozen Rails gems) that it may take a while to finish the first step, which is to clone the repository:
$ git clone git://git.insoshi.com/insoshi.git
Then make a Git branch for yourself:
$ git checkout -b <firstname_lastname>
where you should replace <firstname_lastname> with your name (without angle brackets!).
At some later point, follow the steps at
http://trac.insoshi.com/insoshi/wiki/ContributingBack
Also be sure to get in the habit of syncing with the main repository:
$ git add .
$ git commit -v
$ git checkout master
$ git pull
$ git checkout <firstname_lastname>
$ git rebase master
### Config files and tests
Now create the config files and run the tests (which are actually RSpec examples in the spec/ directory):
$ cp config/database.example config/database.yml
$ cp config/initializers/preferences.rb.example \
config/initializers/preferences.rb
$ rake db:migrate:both
$ rake spec
(If the tests fail in the Photos controller test, double-check that FreeImage and ImageScience are installed.)
The migration creates an admin user with password "admin".
### Loading sample data
Now load the sample data and start the server:
$ rake db:sample_data:reload
$ script/server
The rake task loads sample data to make developing easier. All the sample users have email logins <name>@example.com, with password foobar.
Go to http://localhost:3000 and log in as follows:
email: michael@example.com
password: foobar
Now open the source code with your favorite editor and start hacking!
## Stat tracker
Note that there is a minimalist stat tracker that lets us keep track of how many different installs of Isoshi are out there. We don't collect any personal information, but if you don't want to be tracked just open application.html.erb and comment out the line after this one:
<%# A tracker to tell us about the activity of Insoshi installs %>
## License
See the file LICENSE.