Monday, May 11, 2015

Series: How to create your own website based on Docker (Part 1 - Introduction)

What you are going to learn in this series

This is my first official blog post ever and it's not going to be the last. You probably came here, because you searched for a way to learn how to create a website using Docker and state-of-the-art web technologies. If yes - then you're right. This series will, however, not get into details of the actual implementation, but will basically explain how an Ubuntu machine can be set up to act as Docker host for a web site, based on different docker containers.

In other blog posts, besides writing about new technologies in the world of web development, I will also tell you how to write AngularJS 2.0 applications, what coding guidelines are important for web applications and what can be done to turbo-charge your website so that it performs well in slower networks.

In this series the basic story is that I'm going to build a simple web site using the following technologies:
  • Ubuntu - hosting platform
  • Docker - lightweight container virtualization
  • Docker Compose - orchestration for my Docker containers
  • ioJS- JavaScript backend for the my REST API
  • nginx - reverse proxy and web server for the blog
  • mongodb - database for blog entries and meta data
  • Twitter Bootstrap - the basic grid layout for the page
  • Gulp - the JavaScript build system
  • Yeoman - A scaffolding tool for projects
  • Hapi - A easy-to-use REST API for nodejs.
  • HTML5 - markup language for the front end
  • JavaScript - for the front- and backend code
  • AngularJS 2.0- for the frontend logic (MVVM)
  • CSS3 - we need to style the page somehow, right?
The goal is to create a simple website, that talks to a REST API (and a database) - and everything will be based on docker. You can use this setup later to build your own full blown website.

I will also use this technology to create my own blog later, which means that I'm currently using this blog (http://project-webdev.blogspot.de) only for documenting my way to my own blog, until I switch to the new one. The new blog will be available under the following URL: http://www.project-webdev.com - so stay tuned!

Who I am

Since this is Part 1 of the series, let me just start with an introduction of myself! :)

My name is Sascha Sambale and I'm a Software Engineer specialized in Java and JavaScript (as well as other frontend technologies). I work as a Software Architect (specialized in web development and web performance) for the Robert Bosch GmbH in Stuttgart, Germany. This blog is not affiliated with Robert Bosch GmbH in any kind of way - it's strictly personal and I'm only sharing my personal opinions and thoughts, that are in no way related to my job.

What will be covered

The blog that I'm going to create will be all about web technologies - new trends, tutorials, hints, tips and tricks. All you need to know to get started with new web technologies. It's not my goal to make money with this blog - it's all about knowledge sharing.

About this series

This series will show you how you can set up a web site using the aforementioned technologies (especially Docker). It will consist of several parts and will be updated as soon as I've managed to work on a new chapter. It will basically start with setting up Ubuntu as Docker host. I will include all necessary scripts and steps that will help you to get your system up and running.

Last words

Make sure that you add this blog to your RSS reader to get updated as soon as I publish a new chapter of this series. I am not going to promise that I'll update this blog every day, but you'll get updates as soon as I've implemented the next milestone.

Source code

All files mentioned in this series are available on Github, so you can play around with it! :)

The following parts are/will be available

Have fun and I hope you can learn something from this blog,

Sascha

26 comments:

  1. Wow that's a wonderfull blog having all details & helpful. Web development

    ReplyDelete
  2. Really great post. I enjoyed lot. Thanks to share :)
    Web Design Sydney

    ReplyDelete
  3. Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking san jose web design

    ReplyDelete
  4. Through this post, I know that your good knowledge in playing with all the pieces was very helpful. I notify that this is the first place where I find issues I've been searching for. You have a clever yet attractive way of writing.fleet management companies in lagos

    ReplyDelete
  5. this information is very useful... thanks for sharing....
    web design company in chennai

    ReplyDelete
  6. With the launch of timelines for business Pages, Facebook has rolled out more than just a new aesthetic. They've introduced new ways to engage with your fans. make your own timeline online

    ReplyDelete
  7. I read this article. I think You put a lot of effort to create this article. I appreciate your work. web hosting in Nigeria

    ReplyDelete
  8. I have read your blog its very attractive and impressive. I like it your blog.

    Angularjs Online Training Angularjs Training Angularjs Training Angularjs Training in Chennai Angularjs Training in Chennai

    ReplyDelete
  9. It's true Bluehost is the industry leading hosting provide and they are best For wordpress Hosting,
    BlueHost Basic Plan Discount – $3.49/mo* for first contract
    No coupon or promotion code needed – Just purchase via our promo link (see below) and you’ll get an extra 55% discount from your first BlueHost bill.
    BlueHost WEb Hosting Discount

    ReplyDelete
  10. I like your way of writing! Keep sharing here! I like your support! useful site

    ReplyDelete
  11. There is also searcher intent to consider. When you keep searching the same keywords over and over, Thanks much find more

    ReplyDelete
  12. Appreciable article.Thank you for share your views with us.
    http://pnpuniverse.com/

    ReplyDelete
  13. This is a good job that you are doing! It is a great obligation with bit high quality material and certainly fills great stuff for learning. thejacketzone.com

    ReplyDelete
  14. This is a good job that you are doing! It is a great obligation with bit high quality material and certainly fills great stuff for learning. thejacketzone.com

    ReplyDelete
  15. Appreciate your efforts, great work!!

    CPDESK is Online Web Development Tool Company located in Canada. Our main services include : Web based Software designing Tool, Web based Business Application, Web based SQL form designer, Corporate application form designer. For more details please visit our site - Web Based Software Application Designing Tool | CPDESK

    ReplyDelete
  16. Vielen Dank für Ihre großartige Informationen, die Inhalte sind ruhig interessant. Ich werde für Ihren nächsten Post warten. webdesign firma

    ReplyDelete
  17. Can be set up to act as Docker host for a web site, based on different docker containers.web design tutorials

    ReplyDelete
  18. Now a day’s everyone wants his own business and website of business. It’s true that website is most important factor for the promotion business. We are here to do work with you for website design Toronto. We are professional in web designing in Canada. You will get 100% quality in creative designing of your website.

    ReplyDelete
  19. Hi admin.
    you do such a great thing. This video link will help me to learn Angularjs. Thanks for sharing. Anybody want to learn Angularjs Online Training.


    Angularjs Online Training

    ReplyDelete
  20. Just like you create a notepad or word file and save it in your PC, you can create a website or a blog with the help of WordPress. How To Create WordPress Websites

    ReplyDelete
  21. You provide a very good blog.Thanks for sharing this kind of information.really it is very interesting onto read.Anybody want to build your own website.

    White Label Website Builder

    ReplyDelete
  22. Interesting! Thats pretty cool!Keep up the good work! Web based Software Application Design toolThis site is going to be great resource.Thank You...

    ReplyDelete