export default { "/search.json": { users: [ { id: 19, username: "eviltrout", uploaded_avatar_id: 5275, avatar_template: "/user_avatar/meta.discourse.org/eviltrout/{size}/5275_1.png" }, { id: 8617, username: "Mittineague", uploaded_avatar_id: 40997, avatar_template: "/user_avatar/meta.discourse.org/mittineague/{size}/40997_1.png" }, { id: 12662, username: "singmajesty", uploaded_avatar_id: 36342, avatar_template: "/user_avatar/meta.discourse.org/singmajesty/{size}/36342_1.png" }, { id: 6626, username: "riking", uploaded_avatar_id: 40212, avatar_template: "/user_avatar/meta.discourse.org/riking/{size}/40212_1.png" }, { id: 8300, username: "cpradio", uploaded_avatar_id: 4970, avatar_template: "/user_avatar/meta.discourse.org/cpradio/{size}/4970_1.png" }, { id: 2602, username: "georgekaplan59", uploaded_avatar_id: 31197, avatar_template: "/user_avatar/meta.discourse.org/georgekaplan59/{size}/31197_1.png" }, { id: 754, username: "danneu", uploaded_avatar_id: 6540, avatar_template: "/user_avatar/meta.discourse.org/danneu/{size}/6540_1.png" }, { id: 1995, username: "zogstrip", uploaded_avatar_id: 8630, avatar_template: "/user_avatar/meta.discourse.org/zogstrip/{size}/8630_1.png" }, { id: 1, username: "sam", uploaded_avatar_id: 5243, avatar_template: "/user_avatar/meta.discourse.org/sam/{size}/5243_1.png" }, { id: 8810, username: "fantasticfears", uploaded_avatar_id: 36351, avatar_template: "/user_avatar/meta.discourse.org/fantasticfears/{size}/36351_1.png" }, { id: 14446, username: "ladydanger", uploaded_avatar_id: null, avatar_template: "/letter_avatar/ladydanger/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 14474, username: "dnatoli_redbubble", uploaded_avatar_id: null, avatar_template: "/letter_avatar/dnatoli_redbubble/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 14514, username: "adelsmee", uploaded_avatar_id: 40445, avatar_template: "/user_avatar/meta.discourse.org/adelsmee/{size}/40445_1.png" }, { id: 32, username: "codinghorror", uploaded_avatar_id: 5297, avatar_template: "/user_avatar/meta.discourse.org/codinghorror/{size}/5297_1.png" }, { id: 14448, username: "snjqi188", uploaded_avatar_id: null, avatar_template: "/letter_avatar/snjqi188/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 14657, username: "Alex_Flom", uploaded_avatar_id: 41037, avatar_template: "/user_avatar/meta.discourse.org/alex_flom/{size}/41037_1.png" }, { id: 14353, username: "Simon_Cossar", uploaded_avatar_id: 40130, avatar_template: "/user_avatar/meta.discourse.org/simon_cossar/{size}/40130_1.png" }, { id: 14184, username: "takaminacchan", uploaded_avatar_id: 39685, avatar_template: "/user_avatar/meta.discourse.org/takaminacchan/{size}/39685_1.png" }, { id: 9931, username: "Frank", uploaded_avatar_id: null, avatar_template: "/letter_avatar/frank/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 8364, username: "codetricity", uploaded_avatar_id: 3773, avatar_template: "/user_avatar/meta.discourse.org/codetricity/{size}/3773_1.png" }, { id: 4949, username: "brodock", uploaded_avatar_id: 13541, avatar_template: "/user_avatar/meta.discourse.org/brodock/{size}/13541_1.png" }, { id: 14, username: "clay", uploaded_avatar_id: 5265, avatar_template: "/user_avatar/meta.discourse.org/clay/{size}/5265_1.png" }, { id: 8385, username: "zchrykng", uploaded_avatar_id: 18517, avatar_template: "/user_avatar/meta.discourse.org/zchrykng/{size}/18517_1.png" }, { id: 3520, username: "arlyxiao", uploaded_avatar_id: 11206, avatar_template: "/user_avatar/meta.discourse.org/arlyxiao/{size}/11206_1.png" }, { id: 3493, username: "richp10", uploaded_avatar_id: 11160, avatar_template: "/user_avatar/meta.discourse.org/richp10/{size}/11160_1.png" }, { id: 2395, username: "lookingsideways", uploaded_avatar_id: 9290, avatar_template: "/user_avatar/meta.discourse.org/lookingsideways/{size}/9290_1.png" }, { id: 2477, username: "billybonks", uploaded_avatar_id: 9430, avatar_template: "/user_avatar/meta.discourse.org/billybonks/{size}/9430_1.png" }, { id: 7301, username: "jasonwhat", uploaded_avatar_id: null, avatar_template: "/letter_avatar/jasonwhat/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 1819, username: "stephan", uploaded_avatar_id: 8327, avatar_template: "/user_avatar/meta.discourse.org/stephan/{size}/8327_1.png" }, { id: 2, username: "neil", uploaded_avatar_id: 5245, avatar_template: "/user_avatar/meta.discourse.org/neil/{size}/5245_1.png" }, { id: 2471, username: "robconery", uploaded_avatar_id: 9418, avatar_template: "/user_avatar/meta.discourse.org/robconery/{size}/9418_1.png" } ], topic_list: { can_create_topic: false, draft: null, draft_key: "new_topic", draft_sequence: null, per_page: 30, topics: [ { id: 9318, title: "Discourse has a new Markdown Parser!", fancy_title: "Discourse has a new Markdown Parser!", slug: "discourse-has-a-new-markdown-parser", posts_count: 1, reply_count: 0, highest_post_number: 1, image_url: null, created_at: "2013-08-24T18:08:06.063Z", last_posted_at: "2013-08-24T18:08:06.259Z", bumped: true, bumped_at: "2015-03-09T04:54:43.977Z", unseen: false, linked_post_number: 1, pinned: false, unpinned: null, excerpt: '...0 lines of Javascript code! An inline example Let\'s say you want to replace all occurances of "evil trout" with a link that says "EVIL TROUT IS AWESOME": Discourse.Dialect.on("register", function(event) {...', visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 2645, like_count: 21, has_summary: false, archetype: "regular", last_poster_username: "eviltrout", category_id: 7, pinned_globally: false, posters: [ { extras: "latest single", description: "Original Poster, Most Recent Poster", user_id: 19 } ] }, { id: 21792, title: "Adding custom emoji/emoticons via a plugin", fancy_title: "Adding custom emoji/emoticons via a plugin", slug: "adding-custom-emoji-emoticons-via-a-plugin", posts_count: 34, reply_count: 24, highest_post_number: 35, image_url: null, created_at: "2014-11-03T21:48:48.283Z", last_posted_at: "2014-12-23T12:45:11.245Z", bumped: true, bumped_at: "2014-12-23T12:45:11.245Z", unseen: false, linked_post_number: 1, pinned: false, unpinned: null, excerpt: "...plugin that executes the following method to register a new emoji: Discourse.Dialect.registerEmoji('trout', 'http://cdn.eviltrout.com/images/trout-square.jpg'); Here's a sample plugin that adds a :trout: e...", visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 1260, like_count: 25, has_summary: false, archetype: "regular", last_poster_username: "cpradio", category_id: 22, pinned_globally: false, posters: [ { extras: null, description: "Original Poster", user_id: 19 }, { extras: null, description: "Frequent Poster", user_id: 8617 }, { extras: null, description: "Frequent Poster", user_id: 12662 }, { extras: null, description: "Frequent Poster", user_id: 6626 }, { extras: "latest", description: "Most Recent Poster", user_id: 8300 } ] }, { id: 3071, title: "Would it be possible to make Slug localizable?", fancy_title: "Would it be possible to make Slug localizable?", slug: "would-it-be-possible-to-make-slug-localizable", posts_count: 12, reply_count: 7, highest_post_number: 12, image_url: null, created_at: "2013-02-14T11:48:21.474Z", last_posted_at: "2014-09-18T14:38:59.064Z", bumped: true, bumped_at: "2014-09-18T14:38:59.064Z", unseen: false, linked_post_number: 10, pinned: false, unpinned: null, excerpt: "...in `block (2 levels) in < top (required) > ' 3) Slug replaces symbols Failure/Error: Slug.for('evil#trout').should == 'evil-trout' expected: \"evil-trout\" got: \"evil-number-trout\" (using ==) # ./spec/compon...", visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 766, like_count: 5, has_summary: false, archetype: "regular", last_poster_username: "fantasticfears", category_id: 17, pinned_globally: false, posters: [ { extras: null, description: "Original Poster", user_id: 2602 }, { extras: null, description: "Frequent Poster", user_id: 754 }, { extras: null, description: "Frequent Poster", user_id: 1995 }, { extras: null, description: "Frequent Poster", user_id: 1 }, { extras: "latest", description: "Most Recent Poster", user_id: 8810 } ] }, { id: 26875, title: "Rails Girls SoC Banter", fancy_title: "Rails Girls SoC Banter", slug: "rails-girls-soc-banter", posts_count: 48, reply_count: 30, highest_post_number: 48, image_url: null, created_at: "2015-03-27T11:26:09.903Z", last_posted_at: "2015-07-13T23:11:31.481Z", bumped: true, bumped_at: "2015-07-13T23:11:31.481Z", unseen: false, linked_post_number: 42, pinned: false, unpinned: null, excerpt: '...e inserted by plugins. ## Usage If you handlebars template has: ```handlebars {{plugin-outlet "evil-trout"}} ``` Then any handlebars files you create in the `connectors/evil-trout` directory will automatic...', visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 1224, like_count: 81, has_summary: false, archetype: "regular", last_poster_username: "snjqi188", category_id: 7, pinned_globally: false, posters: [ { extras: null, description: "Original Poster", user_id: 14446 }, { extras: null, description: "Frequent Poster", user_id: 14474 }, { extras: null, description: "Frequent Poster", user_id: 14514 }, { extras: null, description: "Frequent Poster", user_id: 32 }, { extras: "latest", description: "Most Recent Poster", user_id: 14448 } ] }, { id: 31001, title: "Beginner's Guide to Creating Discourse Plugins Part 2: Plugin Outlets", fancy_title: "Beginner’s Guide to Creating Discourse Plugins Part 2: Plugin Outlets", slug: "beginners-guide-to-creating-discourse-plugins-part-2-plugin-outlets", posts_count: 1, reply_count: 0, highest_post_number: 1, image_url: null, created_at: "2015-07-12T17:48:27.322Z", last_posted_at: "2015-07-12T17:48:27.403Z", bumped: true, bumped_at: "2015-07-13T04:18:14.901Z", unseen: false, linked_post_number: 1, pinned: false, unpinned: null, excerpt: '...nectors/ < outlet name > in it. For example, if your handlebars template has: {{plugin-outlet "evil-trout"}} Then any handlebars files you create in the connectors/evil-trout directory will automatically b...', visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 220, like_count: 16, has_summary: false, archetype: "regular", last_poster_username: "eviltrout", category_id: 10, pinned_globally: false, posters: [ { extras: "latest single", description: "Original Poster, Most Recent Poster", user_id: 19 } ] }, { id: 29176, title: "How can I add some custom html to the bottom of the categories page?", fancy_title: "How can I add some custom html to the bottom of the categories page?", slug: "how-can-i-add-some-custom-html-to-the-bottom-of-the-categories-page", posts_count: 12, reply_count: 10, highest_post_number: 13, image_url: null, created_at: "2015-05-23T19:08:35.447Z", last_posted_at: "2015-05-25T08:16:25.989Z", bumped: true, bumped_at: "2015-05-25T08:16:25.989Z", unseen: false, linked_post_number: 12, pinned: false, unpinned: null, excerpt: '...e inserted by plugins. ## Usage If you handlebars template has: ```handlebars {{plugin-outlet "evil-trout"}} ``` Then any handlebars files you create in the `connectors/evil-trout` directory will automatic...', visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 190, like_count: 8, has_summary: false, archetype: "regular", last_poster_username: "sam", category_id: 6, pinned_globally: false, posters: [ { extras: null, description: "Original Poster", user_id: 14657 }, { extras: null, description: "Frequent Poster", user_id: 6626 }, { extras: null, description: "Frequent Poster", user_id: 8617 }, { extras: null, description: "Frequent Poster", user_id: 14353 }, { extras: "latest", description: "Most Recent Poster", user_id: 1 } ] }, { id: 26192, title: "403 when embedding a DigitalOcean droplet", fancy_title: "403 when embedding a DigitalOcean droplet", slug: "403-when-embedding-a-digital-ocean-droplet", posts_count: 7, reply_count: 3, highest_post_number: 7, image_url: null, created_at: "2015-03-10T21:22:19.206Z", last_posted_at: "2015-03-11T22:31:04.520Z", bumped: true, bumped_at: "2015-03-11T22:31:04.520Z", unseen: false, linked_post_number: 4, pinned: false, unpinned: null, excerpt: "Yes I am Robin as well as Evil Trout smile :smile: If you followed those instructions and are getting access errors, you might want to d...", visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 232, like_count: 2, has_summary: false, archetype: "regular", last_poster_username: "codinghorror", category_id: 6, pinned_globally: false, posters: [ { extras: null, description: "Original Poster", user_id: 14184 }, { extras: null, description: "Frequent Poster", user_id: 19 }, { extras: "latest", description: "Most Recent Poster", user_id: 32 } ] }, { id: 20883, title: "S3 competitor integration", fancy_title: "S3 competitor integration", slug: "s3-competitor-integration", posts_count: 3, reply_count: 1, highest_post_number: 3, image_url: "https://discourse-cdn.global.ssl.fastly.net/meta/images/emoji/twitter/smile.png?v=1", created_at: "2014-10-07T13:37:19.628Z", last_posted_at: "2014-10-07T18:46:22.493Z", bumped: true, bumped_at: "2014-10-07T18:46:22.493Z", unseen: false, linked_post_number: 3, pinned: false, unpinned: null, excerpt: "I have seem some of your testing 'stuff' (evil trout's actually). And it looks like a HUUUUUUUUGGGE time sink (ice pick to the eyeballs). but...I believ...", visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 141, like_count: 2, has_summary: false, archetype: "regular", last_poster_username: "Frank", category_id: 2, pinned_globally: false, posters: [ { extras: "latest", description: "Original Poster, Most Recent Poster", user_id: 9931 }, { extras: null, description: "Frequent Poster", user_id: 1995 } ] }, { id: 13534, title: "Blogging Platforms, Ghost, and Discourse", fancy_title: "Blogging Platforms, Ghost, and Discourse", slug: "blogging-platforms-ghost-and-discourse", posts_count: 18, reply_count: 13, highest_post_number: 18, image_url: null, created_at: "2014-03-08T15:46:35.174Z", last_posted_at: "2014-03-26T18:25:45.895Z", bumped: true, bumped_at: "2014-03-26T18:25:45.895Z", unseen: false, linked_post_number: 1, pinned: false, unpinned: null, excerpt: "...urse, do you mean that the blog comments for Ghost will be driven by Discourse, similar to the Evil Trout blog ? What about using Discourse as the blog platform itself, not as the comment engine at the end...", visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 2182, like_count: 17, has_summary: false, archetype: "regular", last_poster_username: "codetricity", category_id: 17, pinned_globally: false, posters: [ { extras: "latest", description: "Original Poster, Most Recent Poster", user_id: 8364 }, { extras: null, description: "Frequent Poster", user_id: 4949 }, { extras: null, description: "Frequent Poster", user_id: 14 }, { extras: null, description: "Frequent Poster", user_id: 32 }, { extras: null, description: "Frequent Poster", user_id: 8385 } ] }, { id: 4859, title: "All of the site functions based on ajax?", fancy_title: "All of the site functions based on ajax?", slug: "all-of-the-site-functions-based-on-ajax", posts_count: 28, reply_count: 20, highest_post_number: 28, image_url: null, created_at: "2013-03-18T08:59:46.135Z", last_posted_at: "2013-10-18T20:22:30.677Z", bumped: true, bumped_at: "2013-10-18T20:22:30.677Z", unseen: false, linked_post_number: 21, pinned: false, unpinned: null, excerpt: "please see evil trouts blog post http://eviltrout.com/2013/02/27/adding-to-discourse-part-1.html", visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 1629, like_count: 17, has_summary: false, archetype: "regular", last_poster_username: "jasonwhat", category_id: 17, pinned_globally: false, posters: [ { extras: null, description: "Original Poster", user_id: 3520 }, { extras: null, description: "Frequent Poster", user_id: 3493 }, { extras: null, description: "Frequent Poster", user_id: 2395 }, { extras: null, description: "Frequent Poster", user_id: 2477 }, { extras: "latest", description: "Most Recent Poster", user_id: 7301 } ] }, { id: 7220, title: "Javascript dependencies", fancy_title: "Javascript dependencies", slug: "javascript-dependencies", posts_count: 8, reply_count: 5, highest_post_number: 8, image_url: null, created_at: "2013-06-06T11:11:18.522Z", last_posted_at: "2013-06-07T18:43:51.449Z", bumped: true, bumped_at: "2013-06-07T18:43:51.449Z", unseen: false, linked_post_number: 3, pinned: false, unpinned: null, excerpt: "...ould be in vendor directory of one of the gems Ahh I need to look at Gemfile Ahh I need to use Evil Trouts bundle open handlebars trick. I am completely against this new best practice, its inconsistent wit...", visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 1010, like_count: 0, has_summary: false, archetype: "regular", last_poster_username: "eviltrout", category_id: 7, pinned_globally: false, posters: [ { extras: null, description: "Original Poster", user_id: 1819 }, { extras: null, description: "Frequent Poster", user_id: 2 }, { extras: null, description: "Frequent Poster", user_id: 1 }, { extras: null, description: "Frequent Poster", user_id: 2471 }, { extras: "latest", description: "Most Recent Poster", user_id: 19 } ] } ] } }, "search/query": { posts: [ { id: 3833, name: "Bill Dudney", username: "bdudney", avatar_template: "/user_avatar/meta.discourse.org/bdudney/{size}/8343_1.png", uploaded_avatar_id: 8343, created_at: "2013-02-07T17:46:57.469Z", cooked: "
I've gotten vagrant up and running with a development environment but it's taking forever to load.
\n\nFor example http://192.168.10.200:3000/ takes tens of seconds to load.
\n\nI'm running the whole stack on a new rMBP with OS X 10.8.2.
\n\nAny ideas of what I've done wrong? Or is this just a function of being on the bleeding edge?
\n\nThanks,
\n\n-bd
", post_number: 1, post_type: 1, updated_at: "2013-02-07T17:46:57.469Z", like_count: 0, reply_count: 1, reply_to_post_number: null, quote_count: 0, avg_time: 24, incoming_link_count: 4422, reads: 327, score: 21978.4, yours: false, topic_id: 2179, topic_slug: "development-mode-super-slow", display_username: "Bill Dudney", primary_group_name: null, version: 2, can_edit: false, can_delete: false, can_recover: false, user_title: null, actions_summary: [ { id: 2, count: 0, hidden: false, can_act: false }, { id: 3, count: 0, hidden: false, can_act: false }, { id: 4, count: 0, hidden: false, can_act: false }, { id: 5, count: 0, hidden: true, can_act: false }, { id: 6, count: 0, hidden: false, can_act: false }, { id: 7, count: 0, hidden: false, can_act: false }, { id: 8, count: 0, hidden: false, can_act: false } ], moderator: false, admin: false, staff: false, user_id: 1828, hidden: false, hidden_reason_id: null, trust_level: 1, deleted_at: null, user_deleted: false, edit_reason: null, can_view_edit_history: true, wiki: false, blurb: "I've gotten vagrant up and running with a development environment but it's taking forever to load. For example http://192.168.10.200:3000/ takes..." }, { id: 48887, name: "Arpit Jalan", username: "techAPJ", avatar_template: "/user_avatar/meta.discourse.org/techapj/{size}/3281_1.png", uploaded_avatar_id: 3281, created_at: "2014-04-12T22:22:07.930Z", cooked: 'So you want to set up Discourse on Ubuntu to hack on and develop with?
\n\nWe\'ll assume that you don\'t have Ruby/Rails/Postgre/Redis installed on your Ubuntu system. Let\'s begin!
\n\nAlthough this guide assumes that you are using Ubuntu, but the set-up instructions will work fine for any Debian based ditribution.
\n\n(If you want to install Discourse for production use, see our install guide)
\n\nRun this script in terminal, to setup Rails development environment:
\n\nbash <(wget -qO- https://raw.githubusercontent.com/techAPJ/install-rails/master/linux)
\n\n \n\nThis will install following new packages on your system:
\n\nInstall Phantomjs:
\n\nFor 32 bit macine:
\n\ncd /usr/local/share\nsudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-i686.tar.bz2\nsudo tar xvf phantomjs-1.9.8-linux-i686.tar.bz2\nsudo rm phantomjs-1.9.8-linux-i686.tar.bz2\nsudo ln -s /usr/local/share/phantomjs-1.9.8-linux-i686/bin/phantomjs /usr/local/bin/phantomjs\ncd
\n\nFor 64 bit machine:
\n\ncd /usr/local/share\nsudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2\nsudo tar xvf phantomjs-1.9.8-linux-x86_64.tar.bz2\nsudo rm phantomjs-1.9.8-linux-x86_64.tar.bz2\nsudo ln -s /usr/local/share/phantomjs-1.9.8-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs\ncd
\n\n \n\nIn case you have any of this package pre-installed and don\'t want to run entire script, see the script and pick the packages you don\'t have currently installed. The script is fine-tuned for Discourse, and includes all the packages required for Discourse installation.
\n\nNow that we have installed Discourse dependencies, let\'s move on to install Discourse itself.
\n\nClone the Discourse repository in ~/discourse
folder:
git clone https://github.com/discourse/discourse.git ~/discourse
\n\n \n\nOpen psql prompt as postgre user
\n\nsudo -u postgres psql postgres
\n\n \n\nCreate role with the same name as your ubuntu system username with discourse as password:
\n\nCREATE ROLE discourse WITH LOGIN ENCRYPTED PASSWORD \'discourse\' CREATEDB SUPERUSER;
\n\nIn the above command, I named the role as discourse, this means that my ubuntu system username is discourse. (It is necessary for role name to be same as system username, otherwise migrations will not run)
\n\nCheck that you have successfully created discourse role:
\n\n\\du
\n\n \n\nCreate discourse_development and discourse_test database:
\n\nCREATE DATABASE discourse_development WITH OWNER discourse ENCODING \'UTF8\' TEMPLATE template0;\nCREATE DATABASE discourse_test WITH OWNER discourse ENCODING \'UTF8\' TEMPLATE template0;
\n\n \n\nExit psql prompt by pressing ctrld
\n\nNow access psql prompt in discourse_development database as discourse user:
\n\npsql -d discourse_development -U discourse -h localhost
\n\nWhen prompted for password, provide the password which you set at the time of creating role, if you followed the guide as is, the password is discourse
\n\nRun following commands, separately:
\n\nCREATE EXTENSION pg_trgm;\nCREATE EXTENSION hstore;
\n\n\n\nExit psql prompt by pressing ctrld
\n\nNow access psql prompt in discourse_test database as discourse user:
\n\npsql -d discourse_test -U discourse -h localhost
\n\nWhen prompted for password, provide the password which you set at the time of creating role, if you followed the guide as is, the password is discourse
\n\nRun following commands, separately:
\n\nCREATE EXTENSION pg_trgm;\nCREATE EXTENSION hstore;
\n\n \n\nExit psql prompt by pressing ctrld
\n\nYou have set-up the database successfully!
\n\nSwitch to your Discourse folder:
\n\ncd ~/discourse
\n\nInstall the needed gems
\n\nbundle install
\n\n \n\nNow that you have successfully configured database connection, run this command:
\n\nbundle exec rake db:migrate db:test:prepare db:seed_fu
\n\nNow, try running the specs:
\n\nbundle exec rake autospec
\n\n \n\nStart rails server:
\n\nbundle exec rails server
\n\n \n\nYou should now be able to connect to discourse app on http://localhost:3000 - try it out!
\n\n \n\nWe will use MailCatcher to serve emails in development environment. Install and run MailCatcher:
\n\ngem install mailcatcher\nmailcatcher --http-ip 0.0.0.0
\n\nCreate new account:
\n\n \n\nCheck confirmation email by going to MailCatcher web interface at http://localhost:1080/
\n\n \n\nIf you did not receive the email, try running this in console: bundle exec sidekiq -q default
Click the confirmation link and your account will be activated!
\n\n \n\nNow, to make your account as admin, run the following commands in rails console:
\n\nRAILS_ENV=development bundle exec rails c\nu = User.last\nu.admin = true\nu.save
\n\n \n\nOnce you execute the above commands successfully, check out your Discourse account again:
\n\n \n\nCongratulations! You are now the admin of your own Discourse installation!
\n\nHappy hacking!
\n\nIf anything needs to be improved in this guide, feel free to ask on meta.discourse.org, or even better, submit a pull request.
', post_number: 1, post_type: 1, updated_at: "2015-06-22T17:24:20.607Z", like_count: 15, reply_count: 2, reply_to_post_number: null, quote_count: 0, avg_time: 36, incoming_link_count: 4680, reads: 491, score: 23815.8, yours: false, topic_id: 14727, topic_slug: "beginners-guide-to-install-discourse-on-ubuntu-for-development", display_username: "Arpit Jalan", primary_group_name: null, version: 26, can_edit: false, can_delete: false, can_recover: false, user_title: "team", actions_summary: [ { id: 2, count: 15, hidden: false, can_act: false }, { id: 3, count: 0, hidden: false, can_act: false }, { id: 4, count: 0, hidden: false, can_act: false }, { id: 5, count: 0, hidden: true, can_act: false }, { id: 6, count: 0, hidden: false, can_act: false }, { id: 7, count: 0, hidden: false, can_act: false }, { id: 8, count: 0, hidden: false, can_act: false } ], moderator: true, admin: true, staff: true, user_id: 8222, hidden: false, hidden_reason_id: null, trust_level: 4, deleted_at: null, user_deleted: false, edit_reason: null, can_view_edit_history: true, wiki: true, blurb: "So you want to set up Discourse on Ubuntu to hack on and develop with? We'll assume that you don't have Ruby/Rails/Postgre/Redis installed on your Ubuntu system..." }, { id: 53437, name: "Arpit Jalan", username: "techAPJ", avatar_template: "/user_avatar/meta.discourse.org/techapj/{size}/3281_1.png", uploaded_avatar_id: 3281, created_at: "2014-05-19T16:59:51.082Z", cooked: 'So you want to set up Discourse on Mac OS X to hack on and develop with?
\n\nWe\'ll assume that you don\'t have Ruby/Rails/Postgre/Redis installed on your Mac. Let\'s begin!
\n\n(If you want to install Discourse for production use, see our install guide)
\n\nRun this script in terminal, to setup Rails development environment:
\n\nbash <(curl -s https://raw.githubusercontent.com/techAPJ/install-rails/master/mac)
\n\nThis script will install following new packages on your system:
\n\nIn case you have any of this package pre-installed and don\'t want to run entire script, see the script and pick the packages you don\'t have currently installed. The script is fine-tuned for Discourse, and includes all the packages required for Discourse installation.
\n\nNow that we have installed Discourse dependencies, let\'s move on to install Discourse itself.
\n\nClone the Discourse repository in ~/discourse
folder:
git clone https://github.com/discourse/discourse.git ~/discourse
\n\n\n\n
~
indicates home folder, so Discourse source code will be available in your home folder.
Open psql prompt:
\n\npsql postgres
\n\n\n\n
Create discourse_development and discourse_test database with your account short name specified as role:
\n\nCREATE DATABASE discourse_development WITH OWNER techapj ENCODING \'UTF8\' TEMPLATE template0;\nCREATE DATABASE discourse_test WITH OWNER techapj ENCODING \'UTF8\' TEMPLATE template0;
\n\nNote that in above commands I specified the role as techapj, this means that my short name is techapj, replace this with your own short name.
\n\n\n\n
Exit psql prompt by pressing controld
\n\nNow access psql prompt in discourse_development database as your short name user:
\n\npsql -d discourse_development -U techapj -h localhost
\n\nRun following commands, separately:
\n\nCREATE EXTENSION pg_trgm;\nCREATE EXTENSION hstore;
\n\n\n\n
Exit psql prompt by pressing controld
\n\nNow access psql prompt in discourse_test database as your short name user:
\n\npsql -d discourse_test -U techapj -h localhost
\n\nRun following commands, separately:
\n\nCREATE EXTENSION pg_trgm;\nCREATE EXTENSION hstore;
\n\n\n\n
Exit psql prompt by pressing controld
\n\nYou have set-up the database successfully!
\n\nSwitch to your Discourse folder:
\n\ncd ~/discourse
\n\nInstall the needed gems
\n\nbundle install
\n\n\n\n
Now that you have successfully installed gems, run this command:
\n\nbundle exec rake db:migrate db:test:prepare db:seed_fu
\n\nTry running the specs:
\n\nbundle exec rake autospec
\n\n\n\n
All the tests should pass.
\n\nStart rails server:
\n\nbundle exec rails server
\n\n\n\n
You should now be able to connect with your Discourse app on http://localhost:3000 - try it out!
\n\n \n\nTo create a new admin, run the following commands in rails console:
\n\nRAILS_ENV=development bundle exec rake admin:create
\n\nJust enter your input as suggested, you can create an admin account.
\n\n \n\n \n\nHappy hacking!
', post_number: 1, post_type: 1, updated_at: "2015-04-26T06:51:23.549Z", like_count: 13, reply_count: 1, reply_to_post_number: null, quote_count: 0, avg_time: 36, incoming_link_count: 1483, reads: 274, score: 7985.4, yours: false, topic_id: 15772, topic_slug: "beginners-guide-to-install-discourse-on-mac-os-x-for-development", display_username: "Arpit Jalan", primary_group_name: null, version: 12, can_edit: false, can_delete: false, can_recover: false, user_title: "team", actions_summary: [ { id: 2, count: 13, hidden: false, can_act: false }, { id: 3, count: 0, hidden: false, can_act: false }, { id: 4, count: 0, hidden: false, can_act: false }, { id: 5, count: 0, hidden: true, can_act: false }, { id: 6, count: 0, hidden: false, can_act: false }, { id: 7, count: 0, hidden: false, can_act: false }, { id: 8, count: 0, hidden: false, can_act: false } ], moderator: true, admin: true, staff: true, user_id: 8222, hidden: false, hidden_reason_id: null, trust_level: 4, deleted_at: null, user_deleted: false, edit_reason: "", can_view_edit_history: true, wiki: true, blurb: "So you want to set up Discourse on Mac OS X to hack on and develop with? We'll assume that you don't have Ruby/Rails/Postgre/Redis installed on your Mac. Let's be..." }, { id: 38398, name: "Eric Carlson", username: "ecuk", avatar_template: "/letter_avatar/ecuk/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png", uploaded_avatar_id: null, created_at: "2014-01-24T15:08:06.111Z", cooked: 'Continuing the discussion from Log of setting up Docker in Virtualbox:
\n\n\n\nWhat is the preferred development environment these days? I have Vagrant up and running as recommended in Discourse as Your First Rails App and Discourse Vagrant Developer Guide, but much of the recent discussion has been about Discourse Docker (which I freely admit I haven\'t really looked at for lack of time).
\n\nFor development purposes, should I carry on using Vagrant for the time being? Or should I be setting up a VM with Ubuntu and then installing Docker and Discourse Docker?
\n\n(As a related side issue, my current production environment was built by following the Discourse Install Guide. Would it be prudent to switch that over to Docker at some point as well? Meaning, is version 1.0 likely to recommend Docker instead of a raw installation? This question deserves a topic of its own in some other category, but it seems best to see what people have to say about development environments before launching a second, better-informed discussion about production environments.)
\n\nSo, for development, Vagrant or Docker?
', post_number: 1, post_type: 1, updated_at: "2014-01-24T15:08:06.111Z", like_count: 0, reply_count: 0, reply_to_post_number: null, quote_count: 0, avg_time: 39, incoming_link_count: 1241, reads: 149, score: 6161.35, yours: false, topic_id: 12170, topic_slug: "development-environment-vagrant-or-docker", display_username: "Eric Carlson", primary_group_name: null, version: 3, can_edit: false, can_delete: false, can_recover: false, user_title: null, actions_summary: [ { id: 2, count: 0, hidden: false, can_act: false }, { id: 3, count: 0, hidden: false, can_act: false }, { id: 4, count: 0, hidden: false, can_act: false }, { id: 5, count: 0, hidden: true, can_act: false }, { id: 6, count: 0, hidden: false, can_act: false }, { id: 7, count: 0, hidden: false, can_act: false }, { id: 8, count: 0, hidden: false, can_act: false } ], moderator: false, admin: false, staff: false, user_id: 7190, hidden: false, hidden_reason_id: null, trust_level: 2, deleted_at: null, user_deleted: false, edit_reason: null, can_view_edit_history: true, wiki: false, blurb: "...ed to do is go to /admin/docker , refresh once, hit upgrade, and test it out. What is the preferred development environment these days? I have Vagrant up and running as recommended in Discourse as Your F..." }, { id: 4782, name: "hamburglar", username: "hamburglar", avatar_template: "/user_avatar/meta.discourse.org/hamburglar/{size}/7895_1.png", uploaded_avatar_id: 7895, created_at: "2013-02-08T23:14:40.018Z", cooked: "Is there any trick to getting a dev instance to send email? I managed to get a copy set up and running, but when I sign up, the email never gets sent. I have sendmail installed and I don't see any errors in the app log, but I also don't see any activity in the system mail log. Any hints as to what to look at?
", post_number: 1, post_type: 1, updated_at: "2013-02-08T23:14:40.018Z", like_count: 0, reply_count: 1, reply_to_post_number: null, quote_count: 0, avg_time: 22, incoming_link_count: 386, reads: 163, score: 1953.7, yours: false, topic_id: 2507, topic_slug: "getting-dev-instance-to-send-email", display_username: "hamburglar", primary_group_name: null, version: 2, can_edit: false, can_delete: false, can_recover: false, user_title: null, actions_summary: [ { id: 2, count: 0, hidden: false, can_act: false }, { id: 3, count: 0, hidden: false, can_act: false }, { id: 4, count: 0, hidden: false, can_act: false }, { id: 5, count: 0, hidden: true, can_act: false }, { id: 6, count: 0, hidden: false, can_act: false }, { id: 7, count: 0, hidden: false, can_act: false }, { id: 8, count: 0, hidden: false, can_act: false } ], moderator: false, admin: false, staff: false, user_id: 1566, hidden: false, hidden_reason_id: null, trust_level: 1, deleted_at: null, user_deleted: false, edit_reason: null, can_view_edit_history: true, wiki: false, blurb: "Is there any trick to getting a dev instance to send email? I managed to get a copy set up and running, but when I sign up, the email n..." } ], topics: [ { id: 2179, title: "Development mode super slow", fancy_title: "Development mode super slow", slug: "development-mode-super-slow", posts_count: 72, reply_count: 53, highest_post_number: 73, image_url: null, created_at: "2013-02-07T17:46:57.262Z", last_posted_at: "2015-04-17T08:08:26.671Z", bumped: true, bumped_at: "2015-04-17T08:08:26.671Z", unseen: false, pinned: false, unpinned: null, visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 9538, like_count: 45, has_summary: true, archetype: "regular", last_poster_username: null, category_id: 7, pinned_globally: false, posters: [] }, { id: 14727, title: "Beginners Guide to Install Discourse on Ubuntu for Development", fancy_title: "Beginners Guide to Install Discourse on Ubuntu for Development", slug: "beginners-guide-to-install-discourse-on-ubuntu-for-development", posts_count: 52, reply_count: 35, highest_post_number: 59, image_url: "//discourse-meta.s3-us-west-1.amazonaws.com/optimized/2X/9/9df737ab44032f2f671ac15513456bc668314591_1_690x189.png", created_at: "2014-04-12T22:22:07.751Z", last_posted_at: "2015-05-21T00:29:57.769Z", bumped: true, bumped_at: "2015-05-21T00:29:57.769Z", unseen: false, pinned: false, unpinned: null, visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 6878, like_count: 46, has_summary: true, archetype: "regular", last_poster_username: null, category_id: 10, pinned_globally: false, posters: [] }, { id: 15772, title: "Beginners Guide to Install Discourse on Mac OS X for Development", fancy_title: "Beginners Guide to Install Discourse on Mac OS X for Development", slug: "beginners-guide-to-install-discourse-on-mac-os-x-for-development", posts_count: 51, reply_count: 28, highest_post_number: 52, image_url: "//discourse-meta.s3-us-west-1.amazonaws.com/original/2X/e/ed047a1077c7d3af966434d093fbf9ddd3db51d9.png", created_at: "2014-05-19T16:59:50.976Z", last_posted_at: "2015-04-24T14:51:48.315Z", bumped: true, bumped_at: "2015-04-24T14:51:48.315Z", unseen: false, pinned: false, unpinned: null, visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 3668, like_count: 47, has_summary: true, archetype: "regular", last_poster_username: null, category_id: 10, pinned_globally: false, posters: [] }, { id: 12170, title: "Development environment: Vagrant or Docker?", fancy_title: "Development environment: Vagrant or Docker?", slug: "development-environment-vagrant-or-docker", posts_count: 16, reply_count: 4, highest_post_number: 16, image_url: null, created_at: "2014-01-24T15:08:05.980Z", last_posted_at: "2014-12-22T12:02:39.197Z", bumped: true, bumped_at: "2014-12-22T12:02:39.197Z", unseen: false, pinned: false, unpinned: null, visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 2666, like_count: 9, has_summary: false, archetype: "regular", last_poster_username: null, category_id: 7, pinned_globally: false, posters: [] }, { id: 2507, title: "Getting dev instance to send email?", fancy_title: "Getting dev instance to send email?", slug: "getting-dev-instance-to-send-email", posts_count: 19, reply_count: 13, highest_post_number: 21, image_url: null, created_at: "2013-02-08T23:14:39.746Z", last_posted_at: "2014-07-25T01:55:43.505Z", bumped: true, bumped_at: "2014-07-25T01:55:43.505Z", unseen: false, pinned: false, unpinned: null, visible: true, closed: false, archived: false, bookmarked: null, liked: null, views: 1881, like_count: 15, has_summary: false, archetype: "regular", last_poster_username: null, category_id: 7, pinned_globally: false, posters: [] } ], users: [ { id: 3229, username: "dev", uploaded_avatar_id: null, avatar_template: "/letter_avatar/dev/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 13166, username: "devon", uploaded_avatar_id: 37175, avatar_template: "/user_avatar/meta.discourse.org/devon/{size}/37175_1.png" }, { id: 12979, username: "devlesedi", uploaded_avatar_id: null, avatar_template: "/letter_avatar/devlesedi/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 13381, username: "devwizard", uploaded_avatar_id: null, avatar_template: "/letter_avatar/devwizard/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" }, { id: 5993, username: "devmach", uploaded_avatar_id: null, avatar_template: "/letter_avatar/devmach/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png" } ], categories: [ { id: 7, name: "dev", color: "000", text_color: "FFFFFF", slug: "dev", topic_count: 701, post_count: 5320, description: "This category is for topics related to hacking on Discourse: submitting pull requests, configuring development environments, coding conventions, and so forth.", description_text: "This category is for topics related to hacking on Discourse: submitting pull requests, configuring development environments, coding conventions, and so forth.", topic_url: "/t/category-definition-for-dev/1026", read_restricted: false, permission: null, notification_level: null, logo_url: null, background_url: null } ], grouped_search_result: { term: "dev", more_posts: true, more_users: true, more_categories: null, post_ids: [3833, 48887, 53437, 38398, 4782], user_ids: [3229, 13166, 12979, 13381, 5993], category_ids: [7] } } };