How to use Digital Ocean and Docker to setup Test CMS for Phimpme
One of the core feature of Phimpme app is sharing images to other different accounts, including various open source CMS such as WordPress, Drupal etc and other open source data storage account such as OwnCloud, NextCloud etc.
One can not have everything at place, but for development and testing purpose it is required in our end. So problem I was facing to get things done in most optimize way. I thought setting things on hosted server would be good, because it saves lots of time in setting locally in our system, adding all the dependencies. And also we cannot share the account as it is limited to our local environment.
Digital Ocean caught my attention in providing hosting service. It is very easy to use with their droplet creation. Select as per your system requirement and service requirement, the droplet will be ready in few moments and we can use it anywhere.
Note: DigitalOcean is a paid service. Student can use Github Education Pack for free credits on Digital Ocean. I used the same.
I currently worked on Nextcloud integration so here in this blog I will tell how to quickly create nextcloud server using Digital Ocean and Docker.
Step 1: Creating Droplet
DigitalOcean completely work on droplets and one can anytime create and destroy different droplets associated with their account.
Choose an Image
So there are three options of choosing the image of Droplet.
Distributions : Which is other operating systems you want to use
One Click app: It is a very good feature as it creates everything for use in just one click. But again, it doesn’t provide everything, like there is no NextCloud. That’s why I used docker to take its image.
Snapshots: This is if you saved your droplet already, so it will pick it and creates similar to the saved image. Here I selected Docker from one-click apps section.
Selecting the size
This is for selecting the size of the server we are creating, For small development purpose $5 plan is good. There is a good thing in DigitalOcean as it didn’t charge on the monthly basis to the use. It works on hourly basis and charge according to that. Also providing the SSD Disk for fast IO operations.
Choose a datacenter Region
This is very important to add a ssh key. Otherwise you have to setup root password or used the shell they provide. To work on your computer terminal, its good that you setup an ssh key already and it to the account.
How to get ssh key in your system: https://help.github.com/
Rename the number of droplet and name of the droplet and create.
Now it will show there in your droplet section
Step 2: Access the Server
As we have already added the ssh key to our droplet. Now we can access it from our terminal. Open the terminal and type this
➜ ~ ssh root@<your IP>
It will logged in to you
Our objective is setting a NextCloud Account.
Here now I will use Docker. Firstly, What is Docker?
Go here to read: https://www.docker.com/what-docker
I will explain docker in other words. Like I setted up everything which I need. Now If I have to destroy this all and want to use it after some days. Or if my friends wants to use the setted platform. What is the option here?
Recreate and everything everytime? NO.
Just create docker image, save it pull the image when you want, and run it to serve on the serve. Your friends need, provide them the docker image.
Isn’t it cool and much time saving.
Browse the Docker Hub
In the hub we can find docker images for various platforms officially maintained by the authors.
Nextcloud have their official account on Docker to provide latest images to the developers.
Here is the link : https://hub.docker.com/_/nextcloud/
Pull the image in your server.
root@docker-512mb-blr1-01:~# docker pull nextcloud Using default tag: latest latest: Pulling from library/nextcloud 9f0706ba7422: Pull complete 4c407763908f: Pull complete 82e2bc3a45c1: Pull complete c84e1013aed1: Pull complete a3b5e03d7e24: Pull complete 917f836a88be: Pull complete b2dc54431819: Pull complete a60b574790b8: Pull complete 49ef0f1aff88: Pull complete 7773a865ee49: Pull complete 9e0e5cc56a9d: Pull complete bfade1c7421e: Pull complete ece8ceb33bed: Pull complete c691d2747a3e: Pull complete 4b5e96bf54c9: Pull complete 6fbe30ae456b: Pull complete e0c534b35a6b: Pull complete 4d2687f4b6f3: Pull complete 00197422846a: Pull complete 6ab57168c49c: Pull complete 9e1260db005f: Pull complete Digest: sha256:1bb5c256f19dcec60d8468c00bc7dc74efdf93390666cb82e20bcacbbbd9746c Status: Downloaded newer image for nextcloud:latest root@docker-512mb-blr1-01:~#
Following the documentation
I need to run this command $ docker run -d -p 8080:80 nextcloud
It serves the account on localhost.
Check on your https://<IP>:8080
So in this way I easily setup different account for testing and integration purpose in Phimpme Android app. It really saves lots of time and speed up the process.
You can easily destroy the droplet after work is done.
Student can use the free credits from GitHub Education Pack.
- Digita Ocean: https://cloud.digitalocean.com/
- Docker Information (Official): https://www.docker.com/what-docker
- Nextcloud docker hub: https://hub.docker.com/_/nextcloud/
- How to install docker (official) : https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-getting-started
You must be logged in to post a comment.