I very much agree. At work, we deploy to bare metal hardware (mostly). We have automated deployment systems that run on git push. It works great. It did take some effort to get up and running but, it works better for our needs than anything else would.
My own projects, like this site, run on Mac Mini running on Ubuntu and hosted by Mac Mini Vault. Before that, I ran a number of VPSes on varying providers like Digital Ocean(affiliate link), Linode and Rackspace. VPSes are great to learn on. If you do happen to mess up, you can always throw it away and start from scratch. Its pretty forgiving. The one issue I have with VPSes is that their performance feels pretty inconsistent.
It does take some time to get everything up and running. Once its up and running, you don’t have to do too much. You do need to keep the packages updated. You have to figure out how to do backups. Eventually, you have to deal with the logs building up or hard drives filling up. Its not set and forget but, I don’t think any platform is really set and forget.
Eventually, you’re going to run into issues with anything. When that happens, you’ll want as much access to your servers as possible. Having set things up yourself, you’ll have a pretty good idea on where to look to find the problem.
I do take issue with one thing that Marco says:
6. I also maintain a giant shell script that configures everything I need on a clean install of CentOS. Once you’re comfortable with the basics, I suggest doing this, as it makes it easier to set up new servers or switch hosts. Making such a script is much easier with VPSes, where you can start a new one, test it out, change it as needed, delete the instance, and try again on a clean one. Ideally, your servers should be disposable and easily recreated. The only backups you should need are your source code (which should include any required server-setup scripts) and your database’s data.
There is no reason to make this a shell script (The rest of this is great). There are a plethora of tools that are designed for this exact purpose: Ansible, Chef, Puppet, and Salt. I’ve used all of them except Salt. They are all good and all fit into their own niche.
Ansible is by far the quickest to get started.
Chef is best for extremely large deployments. It seems to be leading in Infrastructure as code space. It feels the most like programming.
Puppet seems to be about in between Ansible and Chef. It doesn’t feel quite as much like programming as Chef does but it does seem to be quite a bit harder to get going with than Ansible. I found their getting started guide to be horrendous. Puppet is what we use at my day job.
If you are looking to get started with one of these, I’d recommend getting vagrant set up. It supports all of these configuration management tools and it will allow you to rapidly develop and test your scripts.
Starting with the most recent release, 0.4.2, Ghost is now published as an npm module. I found the upgrade instructions to be rather horrifying and it just makes sense to abstract away Ghost core. There isn’t a reason to modify core, just like WordPress. There is a wiki page for running ghost as an npm module but, they don’t include everything that is needed.
I’m starting with the assumption that you have your Ghost site in git already.
Delete everything in you the sites folder except config.js and your content directory.
Add a package.json file:
Modify your config.js file to add to add a paths section like:
To both the development and production sections
Add an app.js file:
Install the dependencies by running npm install --production
Restart/Redeploy your blog and enjoy running Ghost as an npm module
I spent some time looking for a script to keep Ghost running. I had 3 things that I wanted to accomplish: to start Ghost on boot, restart Ghost if it dies and to not run Ghost as root. I found a whole bunch that fulfilled the first. A few that fulfilled the first two. The page on deploying Ghost has a few that fulfill the first two. There are way too many that expect you to run Ghost as root, which is not a good idea. Here is the upstart script that I came up with to fulfill all 3 requirements on my Ubuntu server.
I’m sure, its not great. It probably could be improved. If you know something that could make it better, please leave a comment on the gist
I very much agree. This is why I run my own blog, both here and on tobolaski.com. I feel like if you want to write, you should take credit for it. You also also own your online presence. You should own the domain. You should be able to choose how your words are presented.
I would never use something like Medium. While it looks great and great to use, it is made to be exactly opposite of what I just described. Building an audience is tough but, its a worthwhile pursuit.
I think that Docker goes to be the next big thing in server management and virtualization. In particular, appliances could be a big thing. In this instance I didn’t have to know anything about setting up Discourse to get it up and running. I just had to follow the short set of instructions and now its whole stack is up and running with optimizations done by the creators.
This sort of thing is extremely powerful. It allows you to run great software easily. I have absolutely no experience in setting up Postgresql and yet I’m running a container with Discourse in it.
As the biggest defender of the NSA programs, it seems pretty hypocritical to complain about the CIA infiltrating her computer systems. Certainly, what the CIA did was illegal but, so are the NSA’s programs. If she wants to complain about this, she should also be against the illegal NSA programs. I think this sums it up pretty well.
None of that should downplay what is actually happening. The CIA is spying on the people that oversee them. Both the NSA and CIA have greatly exceeded their authorizations. Neither of these organizations should have the power that they do and now it appears that they are willing to fight to keep it. The CIA is willing to spy on even their biggest supporter. This should not be acceptable under any condition. Even if you think that the surveillance is something that is needed, this should not be allowed. The intelligence agencies need to have oversight. Dianne Feinstein is on the oversight committee and as such needs to be free from this sort of activity. The Intelligence agencies need to be reigned in.
On the eve of the launch of Microsoft’s major exclusive launch, Titanfall, it has occurred to me what a major opportunity Microsoft has missed. This generation, both the PS4 and Xbox One are basically gaming pcs. Microsoft should have had a huge advantage as they power around 90% of desktops. Microsoft could have created a unified gaming platform.
The Xbox would have the reference design. Most people would have gotten it but, other people would have had the option to build their own. It certainly wouldn’t have been easy. There are a bunch of hurdles for them to jump through in order to get it to work.
There is the huge issue of drivers. This alone is probably enough to prevent this unification from ever happening. Then there is the performance differences. Console’s typically get much better gaming performance out of the same chips. They might have been able to just ignore this one if (this is a big if) the console’s performance could remain the same. A custom build would require much beefier hardware than the console. thats just the beginning but, that would have been a huge win for Microsoft.
I realize that would have been extremely difficult to pull off. Microsoft did have another option that would have worked nearly as well, release an Xbox Store on Windows. This would allow game publishers to allow you to purchase a single copy of the a game and play it on the system of your choice.
That would have been great for gamers. The first option would have been amazing but, it won’t happen. The second option, sadly, also won’t happen. It would be great for gamers but, publishers would never go for it.
Does anyone think our way is better? I would hope not. Cancer is awful in every way. Why is our method of treating have to be awful as well? Surely we can do better.
You would think that, given how much how well the patient is treated, the French treatment would cost considerably more but, judging from the county’s healthcare spending, they do not. We spend far more on healthcare than any other country and we don’t have the results to show for it.
The situation is rediculous. There has been a huge amount of backlash against the Affordable Care Act (or Obamacare if you prefer). Most of the backlash seems to be that it goes too far. In all reality, it doesn’t go far enough. At the very least, we should have gotten the public option. Ideally we would have gotten single payer.
In what universe is this right? This is terrible in every single way. If your religion tells you that you need to reject gay people, its wrong. Time to find a new religion, or better yet, realize that the sky fairies that you believe in, don’t exist.
I don’t understand the fear of gay people that clearly exists. Are you afraid that they might make you gay? A gay person can’t make you gay any more than an intelligent person can make you smart. What exactly have gay people done to cause all of this hate to be directed towards them? Surely the atrocities committed in the name of religion should make us more afraid of religious people instead of gay people.