So far I’m satisfied with what I get from docker-playsms project, in such a short time. From the project I have built the Docker image and push it to the registry so that people can use it right away. The project also intended for people who want to build the image them self, customize it, fix it, add or remove stuffs, re-package it and then push it under their own name, for their own purposes.
I might be too early to get satisfied, but I do, so be it :)
I realize that so much things can be improved, so much stuffs can be added and enhanced. But I leave that to us all, can’t do it my self for sure, for now.
This article is the tutorial on how to install playSMS, a Free and Open Source SMS portal or SMS gateway, using Docker in DigitalOcean. We will be using the Docker application image available on DigitalOcean and playSMS Docker image available in Docker hub.
The tutorial can be followed in about 30 minutes. Once you learnt then you can do this again faster, I’d say less than 15 minutes.
Login to DigitalOcean.
Of course if you don’t have an account then you must sign up for one first.
Picture 1: Login to DigitalOcean
After logged in go to Create Droplet page by clicking the Create Droplet green button on your top-right corner.
Fill the droplet HOSTNAME and then select size. I filled docker.playsms.org as the droplet HOSTNAME and I chose smallest size just for this tutorial.
Picture 2: Create Droplet
At the bottom of the same page click on Applications tab and then you must select Docker image.
Picture 3: Select Image
Make the droplet and wait for about 1 minute until finished.
The root password will be emailed to your email address, but if you chose to use SSH key then you don’t need to use password for SSH from your laptop or PC.
Once the making is done you need to get the droplet IP address (DROPLET_IP).
Picture 4: Droplet IP
SSH to DROPLET_IP, in this tutorial the DROPLET_IP is 188.8.131.52.
Picture 5: SSH to DROPLET_IP
Begin playSMS installation, the Docker style, search for image, pull it:
docker search playsms docker pull antonraharja/playsms
Picture 6: Search and Pull
Pull completed, make sure the image is there:
Picture 7: Pull completed
You have pulled the image, Install playSMS by running the image. The docker run command will print out the CONTAINER_ID, which then you can use it to view what’s going on inside the container, executing commands on the inside of the container from host, stop it, start it and other management operation.
You don’t need to copy or remember that lengthy CONTAINER_ID, just 4 or 5 first digits of it will suffice.
So, run the image and follows it:
docker run -d -p 2222:22 -p 80:80 antonraharja/playsms docker logs -f CONTAINER_ID
Picture 8: Run image
Note, as displayed on the picture above, in this tutorial the CONTAINER_ID is 4f4f. Remember, only 4 or 5 first digits will suffice.
Wait for a while, probably 2 to 5 minutes, keep watching the log. You should see it on the log command if the installation has finished.
Picture 9: Installation finished
Verify if playSMS is installed correctly by running playsmsd check on the inside of the container, run this:
docker exec CONTAINER_ID playsmsd check
Picture 10: playsmsd check
Successful installation means that you see all playSMS daemons are running (they are all have PIDS) as displayed on above example picture.
Next, change the default root password. This is very important. The root password can be use to login via SSH from remote, so you do need change the default root password with your own strong and secure password.
The default root password is changemeplease
ssh -p 2222 root@localhost passwd root
Picture 11: Change the default root password
All done, last step. Now tests.
First test, SSH from remote, from your laptop or PC:
ssh -p 2222 root@DROPLET_IP ps ax
Picture 12: SSH to the container from remote
Next, browse installed playSMS:
Picture 13: Browse the container from remote
When you have successfully SSH from remote using your own strong and secure password, and login to playSMS using default playSMS username and password (admin / admin), then the installation is finished.
You may now try again one more time, without reading this tutorial :)