apisio / apis.io

V2 of APIs.io
MIT License
36 stars 14 forks source link

Local development version installation? #14

Open kyyberi opened 9 years ago

kyyberi commented 9 years ago

I would love to install this version 2 locally for development under apisuomi.fi community. How do I do that? Would it be possible to provide install instructions in the repo?

kinlane commented 9 years ago

+1 would love to see a step by step setup for APis.io at some point. ;-)

kyyberi commented 9 years ago

Vagrant or alike would be nice :)

kyyberi commented 9 years ago

Is the idea to have one big apis.io used globally or is there possibly distributed approach in the long run? Having multiple apis.io services around and information harvested much like in Open Data CKAN systems seems interesting (to me).

kyyberi commented 9 years ago

Tried...

  1. Install Meteor http://docs.meteor.com/ + Verified that Meteor works by running sample app
  2. Clone source "git clone ..."
  3. Go to folder
  4. Start meteor

kyyberi@kyyberi:~/Github/apis.io$ meteor [[[[[ ~/Github/apis.io ]]]]]

=> Started proxy. => Started MongoDB. npm-container: updating npm dependencies -- keen.io, geoip-lite, ua-parser, URIjs, tv4, tv4-formats, vcard... W20141025-15:25:37.064(3)? (STDERR) W20141025-15:25:37.148(3)? (STDERR) /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/packages/meteorhacks_kadira.js:3078 W20141025-15:25:37.148(3)? (STDERR) throw err;
W20141025-15:25:37.149(3)? (STDERR) ^ W20141025-15:25:37.149(3)? (STDERR) TypeError: Cannot read property 'keen' of undefined W20141025-15:25:37.149(3)? (STDERR) at app/server/analytics_methods.js:3:36 W20141025-15:25:37.149(3)? (STDERR) at app/server/analyticsmethods.js:66:3 W20141025-15:25:37.149(3)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:168:10 W20141025-15:25:37.149(3)? (STDERR) at Array.forEach (native) W20141025-15:25:37.149(3)? (STDERR) at Function..each._.forEach (/home/kyyberi/.meteor/packages/meteor-tool/.1.0.34.1atmdl8++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11) W20141025-15:25:37.149(3)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:82:5 => Exited with code: 7 => Your application is crashing. Waiting for file change.

picsoung commented 9 years ago

hey @kyyberi

You are right, I should have published a step-by-step tutorial on how to deploy your own apis.io locally.

To solve your problem you should put your on keys in the a settings.json file that looks like the one you have here https://github.com/apisio/apis.io/blob/master/settings_tpl.json

Keen is http://keen.io for analytics Kadira is http://kadira.io for Meteor profiling Ga is for Google Analytics and recaptcha is for the captcha on the "Add" page

I should also explain how to disable all of those in your local stuff.

Let me know if it works.

kyyberi commented 9 years ago

Thanks, I'll try this again later this week.

kyyberi commented 9 years ago

Ok. Copied the tempate to "settings.json" and added ID imformation for each service. Then I ran "meteor", and meteor updates kicked in. After the update I'm getting

kyyberi@kyyberi:~/Github/apis.io$ meteor [[[[[ ~/Github/apis.io ]]]]]

=> Started proxy.
=> Started MongoDB.
W20141101-12:33:35.645(2)? (STDERR)
W20141101-12:33:35.681(2)? (STDERR) /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/packages/meteorhackskadira.js:2942 W20141101-12:33:35.681(2)? (STDERR) throw err;
W20141101-12:33:35.682(2)? (STDERR) ^ W20141101-12:33:35.682(2)? (STDERR) TypeError: Object # has no method 'describe' W20141101-12:33:35.682(2)? (STDERR) at app/server/packages/npm-container/package.js:4:11 W20141101-12:33:35.682(2)? (STDERR) at app/server/packages/npm-container/package.js:23:3 W20141101-12:33:35.682(2)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:168:10 W20141101-12:33:35.682(2)? (STDERR) at Array.forEach (native) W20141101-12:33:35.682(2)? (STDERR) at Function..each._.forEach (/home/kyyberi/.meteor/packages/meteor-tool/.1.0.35.4r8a3y++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11) W20141101-12:33:35.682(2)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:82:5 => Exited with code: 7 W20141101-12:33:39.429(2)? (STDERR)
W20141101-12:33:39.430(2)? (STDERR) /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/packages/meteorhackskadira.js:2942 W20141101-12:33:39.431(2)? (STDERR) throw err;
W20141101-12:33:39.431(2)? (STDERR) ^ W20141101-12:33:39.431(2)? (STDERR) TypeError: Object # has no method 'describe' W20141101-12:33:39.431(2)? (STDERR) at app/server/packages/npm-container/package.js:4:11 W20141101-12:33:39.431(2)? (STDERR) at app/server/packages/npm-container/package.js:23:3 W20141101-12:33:39.431(2)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:168:10 W20141101-12:33:39.431(2)? (STDERR) at Array.forEach (native) W20141101-12:33:39.432(2)? (STDERR) at Function..each._.forEach (/home/kyyberi/.meteor/packages/meteor-tool/.1.0.35.4r8a3y++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11) W20141101-12:33:39.432(2)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:82:5 => Exited with code: 7 ^C kyyberi@kyyberi:~/Github/apis.io$ ^C kyyberi@kyyberi:~/Github/apis.io$ meteor --version Meteor 1.0

So far I haven't been able to run server at local host.

I believe that the current error is due to update of meteor.

picsoung commented 9 years ago

Did you run meteor update before? it will get the latest version of the different packages.

That might help.

amanda-hua commented 9 years ago

Hi, I am seeing the following errors after updating the keys in settings_tpl.json and running meteor update

W20150113-20:43:47.238(-8)? (STDERR)
W20150113-20:43:47.307(-8)? (STDERR) /Users/john/.meteor/packages/meteor-tool/.1.0.38.z83ibe++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:173
W20150113-20:43:47.307(-8)? (STDERR) throw(ex);
W20150113-20:43:47.307(-8)? (STDERR) ^
W20150113-20:43:47.307(-8)? (STDERR) TypeError: Object # has no method 'describe'
W20150113-20:43:47.307(-8)? (STDERR) at app/server/packages/npm-container/package.js:4:11
W20150113-20:43:47.308(-8)? (STDERR) at app/server/packages/npm-container/package.js:23:3
W20150113-20:43:47.308(-8)? (STDERR) at /Users/john/git/apis.io.git/trunk/.meteor/local/build/programs/server/boot.js:175:10
W20150113-20:43:47.308(-8)? (STDERR) at Array.forEach (native)
W20150113-20:43:47.308(-8)? (STDERR) at Function..each..forEach (/Users/john/.meteor/packages/meteor-tool/.1.0.38.z83ibe++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20150113-20:43:47.308(-8)? (STDERR) at /Users/john/git/apis.io.git/trunk/.meteor/local/build/programs/server/boot.js:86:5
=> Exited with code: 8
W20150113-20:43:49.263(-8)? (STDERR)

W20150113-20:43:49.264(-8)? (STDERR) /Users/john/.meteor/packages/meteor-tool/.1.0.38.z83ibe++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:173
W20150113-20:43:49.265(-8)? (STDERR) throw(ex);
W20150113-20:43:49.265(-8)? (STDERR) ^
W20150113-20:43:49.265(-8)? (STDERR) TypeError: Object # has no method 'describe'
W20150113-20:43:49.265(-8)? (STDERR) at app/server/packages/npm-container/package.js:4:11
W20150113-20:43:49.265(-8)? (STDERR) at app/server/packages/npm-container/package.js:23:3
W20150113-20:43:49.265(-8)? (STDERR) at /Users/john/git/apis.io.git/trunk/.meteor/local/build/programs/server/boot.js:175:10
W20150113-20:43:49.266(-8)? (STDERR) at Array.forEach (native)
W20150113-20:43:49.266(-8)? (STDERR) at Function..each..forEach (/Users/john/.meteor/packages/meteor-tool/.1.0.38.z83ibe++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20150113-20:43:49.266(-8)? (STDERR) at /Users/john/git/apis.io.git/trunk/.meteor/local/build/programs/server/boot.js:86:5
=> Exited with code: 8
W20150113-20:43:51.173(-8)? (STDERR)

W20150113-20:43:51.174(-8)? (STDERR) /Users/john/.meteor/packages/meteor-tool/.1.0.38.z83ibe++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:173
W20150113-20:43:51.175(-8)? (STDERR) throw(ex);
W20150113-20:43:51.175(-8)? (STDERR) ^
W20150113-20:43:51.175(-8)? (STDERR) TypeError: Object # has no method 'describe'
W20150113-20:43:51.175(-8)? (STDERR) at app/server/packages/npm-container/package.js:4:11
W20150113-20:43:51.175(-8)? (STDERR) at app/server/packages/npm-container/package.js:23:3
W20150113-20:43:51.175(-8)? (STDERR) at /Users/john/git/apis.io.git/trunk/.meteor/local/build/programs/server/boot.js:175:10
W20150113-20:43:51.175(-8)? (STDERR) at Array.forEach (native)
W20150113-20:43:51.176(-8)? (STDERR) at Function..each..forEach (/Users/john/.meteor/packages/meteor-tool/.1.0.38.z83ibe++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20150113-20:43:51.176(-8)? (STDERR) at /Users/john/git/apis.io.git/trunk/.meteor/local/build/programs/server/boot.js:86:5
=> Exited with code: 8
=> Your application is crashing. Waiting for file change.

Any suggestions?

grayside commented 9 years ago

Unless there's some other software out there for parsing APIs.json manifests, the lack of clear, repeatable steps to deploy this project is a barrier to considering the description format for internal APIs and a number of API brokering use cases.

picsoung commented 9 years ago

Parsing an APIs.json file is totally independent from the APIs.io project.

You can use the json-schema schema to parse any APIs.json file and find if it is well formatted.

Latest schema is available here https://github.com/api-commons/api-json/pull/56

You can also use http://apis.io/lint to valide any file.

We are working on the documentation to make it easier to deploy your own instance of APIs.io search engine. Until then, feel free to ask any question regarding APIs.json file or APIs.io

grayside commented 9 years ago

I appreciate parsing a clean JSON spec isn't hard, but I expect there are many internal evangelists that would like to roll out some tools for quick wins, and building an app seems like unnecessary friction if there's an open source project that will be more impressive. Maybe I misinterpreted the idea that this is intended for use as a private apis.io instance?

kinlane commented 9 years ago

Hi Adam,

Thanks for your concerns--well received.

To get where you wish, I think maybe you have to expand your understanding of APIs.json.

It is a brand new discovery / collection format for APIs. We understand that people would need tools to make this deliver value.

This is why we created APIs.io, which is a public open source search engine.

I'm also now working with WSO2 to create an internal, enterprise version of the search.

I'm also working on other embeddable, and other supporting tools on my own.

I'm also working to generate thousands of APis.json for existing APIs out there, so that the tooling matters.

We fully get that practitioners will need easy to implement tools to make APIs.json a reality--that is the phase we are in, and where we are working to.

APIs.json + APIs.io is only about 10 months old. We are making progress towards what you are seeking, but it is taking a lot of work from a lot of innovators.

You can't just snap your fingers and solve a problem like API discovery, and have all the frictionless, plug and play tools you wish. It takes a community, and time.

Stay in tune, there is a lot coming down the pipes.

Kin Lane (API Evangelist) kinlane@gmail.com

@kinlane https://twitter.com/kinlane

apievangelist.com apisjson.org http://apisjson.org/ apicommons.org

apistrategyconference.com

On Mon, Feb 9, 2015 at 9:21 AM, Adam Ross notifications@github.com wrote:

I appreciate parsing a clean JSON spec isn't hard, but I expect there are many internal evangelists that would like to roll out some tools for quick wins, and building an app seems like unnecessary friction if there's an open source project that will be more impressive. Maybe I misinterpreted the idea that this is intended for use as a private apis.io instance?

— Reply to this email directly or view it on GitHub https://github.com/apisio/apis.io/issues/14#issuecomment-73549739.

kyyberi commented 9 years ago

After updating Meteor to 1.1.0.2.:
kyyberi@kyyberi:~/Github/apis.io$ meteor --version Meteor 1.1.0.2

I'm still getting:

W20150411-10:58:53.471(3)? (STDERR) W20150411-10:58:53.472(3)? (STDERR) /home/kyyberi/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245 W20150411-10:58:53.472(3)? (STDERR) throw(ex); W20150411-10:58:53.472(3)? (STDERR) ^ W20150411-10:58:53.472(3)? (STDERR) TypeError: Cannot read property 'key' of undefined W20150411-10:58:53.472(3)? (STDERR) at app/server/kadira.js:5:52 W20150411-10:58:53.472(3)? (STDERR) at app/server/kadira.js:8:3 W20150411-10:58:53.472(3)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:222:10 W20150411-10:58:53.472(3)? (STDERR) at Array.forEach (native) W20150411-10:58:53.473(3)? (STDERR) at Function._.each._.forEach (/home/kyyberi/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11) W20150411-10:58:53.473(3)? (STDERR) at /home/kyyberi/Github/apis.io/.meteor/local/build/programs/server/boot.js:117:5 => Exited with code: 8