Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm currently trying to set up automated deployment for our node.js based system. I've been doing quite a bit of research, but nothing really has jumped out as the obvious choice of tool to automate what I'm trying to do, which can be summarised as:
Pull code from central Mercurial repo into build-server build directory.
Concat/Minify relevant client side JS
For each server :
SSH into box
copy relevant files over SSH (SCP or whatever) (different code for different server roles)
restart relevant processes.
I'm probably going to use Jenkins for the high-level management of this, but am undecided on the tool to use to actually script the work.
It doesn't have to be a JS based build script, but that's an option (although I'm not entirely convinced that JS is the right language for this stuff anyway). Would be ok with Python or Bash style solutions.
What's a sane/robust choice capable of the tasks listed above?
Thank you!
UPDATE: Sorry, I didn't mention before, but ideally I'd like to have the build tasks run on a central Build/Deployment server, and not locally on the development machines.
Nowadays I am using Capistrano for all my deployment needs. Be it PHP, Ruby or Node.
There are recipes for almost all situations, but with experience, it is easy to build your own. You can hook your own commands to certain events in deployment process.
Capistrano uses SSH to access production or staging servers and issue commands remotely.
Here are some recipes for node.js (but I have not tried them):
https://github.com/loopj/capistrano-node-deploy
In case it is of any value to users in the future, I ended up going with Fabric.
If you insist on using your own servers to host the app, you can always use grunt.js for the automation. You can write custom tasks for it and do whatever you want, or find some for the mentioned cases in the community. I believe minification and such already exist.
As a personal recommendation, though, I can say I've been happy with hosting my node apps on NodeJitsu (paid service). They provide a command-line utility installed through npm, which can copy your code to their cloud, do a snapshot and start the app automatically. This is the easiest deployment scenario I've ever done.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am looking for a tool to keep track of my servers, we use chef-solo everywhere but its hard to keep track. Any simple tool to keep track of servers like Spacewalk, but then simplified?
I use spacewalk for some servers I admin, but its a bit too bloated for what I want now. But how it does work great. We kickstart servers using chef-solo then register it with a static key with spacewalk. So we have a nice overview of all the servers and servers that didnt callback after X time.
We really like the concept of chef-solo and does not want chef-server for many reasons. But what is missing in our infrastructure is a simple tool, a simple web interface to keep track of the servers.
Thank you.
You discard the obvious answer to your question... chef-server :-)
I used to advocate chef-solo, but there have been some recent improvements in both tools and processes surrounding chef server. I now firmly believe you're not using chef properly if you omit the server.
In brief:
Chef 11 has made massive improvements in setting up your own chef server. You can even use chef-solo to bootstrap your chef infrastructure using the chef-server cookbook.
Bootstrapping nodes against chef server provides the tracking features you're missing. For example you can write handlers that can store pretty much anything about your nodes at runtime. This data is indexed by chef server and available via its REST API.
Some great new tools are available for managing cookbooks. Berkshelf will manage the download and upload of cookbooks and spiceweasel will generate all those nasty knife commands.
chef zero is being positioned as a better chef solo. I personally think it serves a different use-case, but an interesting tool especially for testing your chef recipes that require searching.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
My goal is to create a chatting website. Not so much for the sake of the website, but for the experience so I know how; just something to work towards gradually. I tried long polling, but that always ends up pissing off the webhosts whose servers I'm using. I was told to use nodejs instead. I have some idea of what it is, but no idea how to use it.
I'm guessing that the reason I can't find the answer to this question anywhere is because of how obvious it is... to everyone else.
I've been looking around and all I see are tutorials on installing it on your server when you own the server. I know you can install forums on webhost's servers, so can you also install nodejs?
Yes. You can check the full listing at https://github.com/joyent/node/wiki/Node-Hosting to check each site but it does not categorize it by free hosting..
Some I know of, I personally use Heroku.
Heroku
Nodester
Most standard LAMP hosting companies don't let you run node.js.
I currently recommend you use the Cloud9 IDE to get up and running with not only your tests and development, but also potential deployment. Cloud9 allows you to run your app from their IDE and will provide you with URL to see your app running and get familiar with node.js development.
A more manual way is to find a node.js PAAS (Platform as a Service) such as Joyent or Nodester.
Another one is Open Shift. I use them a lot and they allow you to use your own domain on the free plan. I use Heroku as well and have tried AppFog and Modulus.
But what it comes down to is whether I can use my own domain and how much they throttle my traffic. AppFog and Modulus don't allow custom domains on their free plans and seriously throttle traffic. They will cut your website off if you have one visitor an hour.
Another issue I was concerned about was with the upload of files. In particular, with my website content is added via markdown files. Most node webhosts use a variation on git deploys to update websites, with content supplied by databases. However, if you are trying to run a website without a database, using flat files, then each update must be done by a git deploy. This takes the whole website down and recreates a new website altogether (it just happens to look like the previous one). This will normally take a few minutes. Probably not a problem for a low volume website. But imagine if you are making a blog entry and you deploy it and then notice you've made a spelling mistake. You need to do a deploy all over again.
So, one of the things that attracted me to Open Shift was that they have a reserved area for flat files within your project. You can upload your files there and when your project is re-started these files will be preserved.
Appfog provides a free plan where you can host NodeJS and many other technos.
However, free plans don't allow custom domain name anymore.
There is also the Node.js Smart Machine service from Joyent.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I'm looking for a simple self hosted website monitoring tool.
It should be somthing similar to watchmouse.com or pimgdom.com, with a nice UI, colorful charts and so on (Customers like that :)).
At the moment we use Zabbix also for HTTP monitoring, but since now our hoster care about the hardware and software monitoring on the machine directly, we don't need Zabbix anymore.
For pure http-monitoring zabbix or an other monitoring suite is really an overkill.
So what I'm not looking for is:
Zabbix
Nagios
Hyperic
...
Sadly but the truth, after some hours of researching I wasn't able to find a fitting application. My hope is now on you.
I realize this is an old question but I was looking for something like this today and came across Cabot which is self hosted and free, and according to the project's description: "provides some of the best features of PagerDuty, Server Density, Pingdom and Nagios".
Hope this helps someone in the future.
I found this a while ago for my purposes. Nice and simple and self hosted.
You do need shell access to setup cron jobs for it so it probably won't work in a shared environment.
php Server Monitor
Hope this helps.
Peter
I had a lot of success with Groundwork in the past, It's a BEAST and does just about everything imaginable and can be configured in so many ways. It might be overkill if you are just looking for something to schedule some http responses then graph the logs.
Groundwork is more for enterprise level deployments and has both Paid and Community editions with a pretty active community behind it too.
Not sure if you have already found a solution to this or not but give a shot to Apica System's Synthetic Monitoring. You can use the full SaaS, full on-premise, or hybrid model of this system. Take a look at the free trial and if you like what you see, the full portal as well as monitoring agents (with tons of more features than the trial) can be hosted behind your firewall in your own network. As per for monitoring, you can monitor websites/mobile apps, API endpoints, DNS, etc. You can also run complex use cases and see how the web app responds using Selenium or ZebraTester scripts.
If all you want to monitor is website uptime/downtime and response time, I'd have a look at TurboMonitor - it doesn't have all the bells and whistles provided by some other monitoring websites but it's quick and accurate for those two things.
Price-wise, I wouldn't take what they have on their website too seriously. I only actually found out about them when I met them in person and they were very happy to give me a "professional" account for free, supposedly like 5€/month or something on their website.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I'm looking for a web host that will let me run a Haskell web application. VPS's seem attractive to me because you can run essentially anything you want. But some of the cloud hosts offer really nice scalability in terms of hard disk space and bandwidth.
Does anyone know of a host that will let me run exotic languages like Haskell but can also seamlessly scale up the hard disk space/RAM/bandwidth/CPU available to my host?
If you just want very simple hosting with CGI, NearlyFreeSpeech.net supports Haskell and some other less common languages. I personally also like their overall nonsense-free approach and sensible pricing model (pre-pay metered charges, instead of the usual model of a fixed monthly charge, oversold server capacity, and absurd overage fees).
There are a few caveats however, mainly that they don't permit standalone servers or persistent daemons, only things invoked via CGI from Apache. This might be a problem for some Haskell web app frameworks.
Maybe this is obvious, but you can always use Amazon EC2. You'll have full control, and definitely meets your requirement for seamlessly scaling up.
This may be a very late answer but I found that hosting on Heroku with its Cedar stack is the easiest. Yesod has a very clear explanation.
Apparently, it's possible to get ghc running on Webfaction. There are also threads about it in the Webfaction support forums, and the admins/techs are quite willing to make an effort to make it work, though it's clearly not something that is supposed to be available out of the box.
EDIT, 2011-08-23: Fixed link.
In theory all you need is CGI/FastCGI support. I've had some luck playing around with Happstack on a very basic Dreamhost account by following these instructions:
While non-trivial to get running, this
web experiment proves that it is at
the very least possible to run
Happstack applications on cheap
hosting providers such as Dreamhost
with little more than a shell account
and CGI support.
I've only tried this with toy applications, and don't know how it would scale.
Looks like you can also run Haskell in Azure Functions.
If you are using IHP (Integrated Haskell Platform), you can use their free cloud hosting service at https://ihpcloud.com/.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
The situation:
I want to play around with IRC bots as general communications interfaces to other code I am investigating. The server hardware would be old and low-memory, but running on a relatively up-to-date Debian GNU/Linux install. I don't expect more than a hundred users at a time, tops, and probably in the single-digits most of the time. The interfaces are more of interest here than the server itself, so I'd prefer something relatively simple to maintain over something with a huge number of configuration and tuning options more useful to a larger site.
Referencing the Wikipedia comparison and the Google PageRank list against the available package list for Debian comes up with the following top contenders: Undernet (ircd-ircu), Ratbox (ircd-ratbox), and Inspire (inspircd). Unfortunately, I can't find any serious comparisons of them, so I'm hoping that asking here will provide a faster solution than just trying them one at a time until something frustrates me enough to move.
Unreal IRCd is full featured if a little complex on the setup.
During the past couple days I have been coding a bot with Python and IRCLib. Since I am coding the communication interface I needed to see the raw data transfered between the server and the client. So, I needed an IRC server which would support that. At first I was using IRCD, and it was totally fine. But after a while I realized that I was missing some features that IRCD did not have since it's outdated. So, after further research I found ngIRCd.
I compiled it from source with those options "--enable-sniffer --enable-debug". Now when I want to see the information sent between my bot and my client I only need to start the server with the -n and -s option. Like that : ngircd -n -s
Here is the website of the server : http://ngircd.barton.de/
Unreal IRCd is what I finally picked for hosting an IRCD. Why? Halfop, admin/protect, founder/owner, advanced operator acl, vHost via i:line and etc...
Also see
http://en.wikipedia.org/wiki/Comparison_of_IRC_daemons
http://www.howtoforge.com/linux_irc_server_anope_services
Use XMPP instead. IRC is not very well designed for your situation; it can be made to work, but it is a big pain.