If you are reading this, then you probably followed the [tutorial](/steemit/@codydeeds/the-simple-no-hassle-bot-setup-guide-to-upvote-the-same-posts-as-any-top-curator) posted by @codydeeds on setting up the Steem FOSSbot voter bot. You may even have set it to run every 5 minutes like I did. Unfortunately this leads to the exhaustion of the free dyno hours offered on the free tier of of the Heroku plans. Now, Heroku does not show you how many free dyno hours you have left, so what are you to do when they run out? I decided to try and see if I could set the voter bit up on a separate server. That would mean I did not need to worry about its resource usage nearly as much. Over and above that I have an instance on Digital Ocean with spare capacity, so running the bot on there would cost me nothing extra anyway. In this post I am making many assumptions as to knowledge levels and experience, as a post covering everything would be very lengthy indeed! Assumptions are - You have a Heroku instance of the voter bot - You know what Git is - You know what Docker is - You have basic (at least) knowledge of a *nix OS and the command line - You have the patience to sit through my ramblings ;) ## Why Docker? ##  Docker container logo: By dotCloud, Inc. (File:Docker (container engine) logo.png) [Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)], via Wikimedia Commons Voter bot logo courtesy of @personz, used with permission. I work on a Macbook, but my server instance runs Centos. In theory, Docker allows me to set it all up and get it running locally with a tight, iterative cycle, then deploy that with ease on another machine running Docker. Was it that easy? Read on and see ;) ## The Docker way ## Traditionally, servers have a multitude of services running on them, from web servers, databases caches and message brokers etc. The Docker way is to have a container per 'service' that is running, let's look at the voter bot as an example. The voter bot makes use of Node.js for the 'code' that drives the web servers as well as the bot that does the actual posting, additionally it makes use of Redis as a data store. Redis holds configuration as well as data on previous bot runs and votes cast etc. If you were setting this up normally, you would just install Node.js along with Redis and be done, but because I decided to use Docker, I chose to have two separate containers, one for the Node.js portion and another for the Redis portion. ## The steps ## There are a few steps to getting the voter bot running in a docker container, locally or on a server. 1. Make sure Docker is installed and running 2. Create the files / directory structure below 3. Checkout the git repository of the **Steem FOSSbot** 4. Add the missing files to that directory 5. Run the docker-compose commands 6. Export / Import configs and algorithms 7. Have a cuppa tea! ## 1. Make sure Docker is installed and running ## There is much written on the web around getting Docker installed, so I am just going to point you to the page where you can get started https://www.docker.com/products/docker **For *nix systems, please note you need to install docker-compose as well!** This is included in the Docker toolbox, which is installed on Mac's / Windows machines. ## 2. Create the files / directory structure below ## For this to work out the box, you need the following directories and files; - You root/working directory can be where ever, but needs to contain the **docker-compose.yml** file - Inside your working directory you will have 2 directories, named **redis** and **steem-fossbot-voter** - You will need to create the **redis** directory manually, bit the other one will be created in the next step Go ahead and create **docker-compose.yml** with the following contents. ```yaml node: build: ./steem-fossbot-voter links: - redis ports: - "5000:5000" redis: image: redis ports: - "6379:6379" ``` Then create the **redis** directory. Inside the **redis** directory, create a file called **Dockerfile** (NO extension!) Save the following bit of text into your newly created **Dockerfile**; ``` # Set the base image to Ubuntu FROM ubuntu:trusty # File Author / Maintainer MAINTAINER Shaun Morrow # Update the repository and install Redis Server RUN apt-get update && apt-get install -y redis-server # Run Redis Server ENTRYPOINT ["/usr/bin/redis-server"] ``` ## 3. Checkout the git repository of the **Steem FOSSbot** ## I have branched off of the original repository, but you don't need to do that. Change back to your working directory, the one with **docker-compose.yml** in it. If you have an account on Github.com, run the following command; ```bash git clone git@github.com:Steem-FOSSbot/steem-fossbot-voter.git ``` If you want to check the code out anonymously, run; ```bash git clone https://github.com/Steem-FOSSbot/steem-fossbot-voter.git ``` You should now have the directory called **steem-fossbot-voter** in you working directory, with all the CODEZ!!  Generated at imgflip.com ## 4. Add the missing files to that directory ## Now change into the **steem-fossbot-voter** directory and create another **Dockerfile** file, this time save it with the following content; ``` # Set the base image to Ubuntu FROM ubuntu:trusty # File Author / Maintainer MAINTAINER Shaun Morrow # Install Node.js and other dependencies RUN apt-get update && \ apt-get -y install curl && \ curl -sL https://deb.nodesource.com/setup_4.x | sudo bash - && \ apt-get -y install python build-essential nodejs # Install nodemon RUN npm install -g nodemon # Provides cached layer for node_modules ADD package.json /tmp/package.json RUN cd /tmp && npm install RUN mkdir -p /src && cp -a /tmp/node_modules /src/ # Define working directory WORKDIR /src ADD . /src ADD crontab /etc/cron.d/bot-cron RUN touch /var/log/cron.log RUN chmod +x /etc/cron.d/bot-cron RUN chmod +x /src/bot.sh RUN /usr/bin/crontab /etc/cron.d/bot-cron # Run app using nodemon CMD /bin/sh /src/bot.sh ENV COOKIE_SECRET "MAKE THIS A LONG, RANDOM STRING" ENV BOT_API_KEY "YOUR KEY TO LOGON TO THE BOT" ENV STEEM_USER "YOUR STEEM USER NAME" ENV POSTING_KEY_PRV "YOUR PRIVATE POSTING KEY" ENV REDIS_URL="redis://redis:6379" ``` You need to change this file with your own details or it will break. I simply copied the values from my Heroku instance. **Be sure to update the following with your details;** ``` ENV COOKIE_SECRET "MAKE THIS A LONG, RANDOM STRING" ENV BOT_API_KEY "YOUR KEY TO LOGON TO THE BOT" ENV STEEM_USER "YOUR STEEM USER NAME" ENV POSTING_KEY_PRV "YOUR PRIVATE POSTING KEY" ``` ---------- Almost done with this part, two more files needed. **crontab** (NO extension!), with the following contents; ```bash 0 * * * * root node /src/bot.js >> /var/log/cron.log 2>&1 ``` This file determines how often the bot will run. As it is, the bot will run hourly on the hour. Change this as desired. **bot.sh** with the following contents ```bash #!/usr/bin/env bash nohup nodemon /src/server.js > /dev/null 2>&1 & printenv | cat - /etc/cron.d/bot-cron > ~/bot-cron.tmp \ && mv ~/bot-cron.tmp /etc/cron.d/bot-cron echo "Running cron now ...." cron -f ``` You should now have a directory structure similar to the following, highlighted are files that you would have created;  ## 5. Run the docker-compose commands ## Now you are ready to run the commands to get it up and running. Very excite! YESSS!  Generated at imgflip.com First change back to your working directory, the one with the **docker-compose.yml** file in it. When starting from a clean slate, we need to 'build' our containers first; so we start off with the following command; ```bash docker-compose build ``` This will take quite a while the first time round, as it needs to fetch and build all of the images our containers are based off of. Depending on your internet connection you may want to give it quite a while! You should see something similar when it completes;  All built? Now run; ```bash docker-compose up ``` This tells docker-compose to start up all the containers based on the info inside of the docker-compose.yml file. That should give something similar to the following output, you can press CTRL^C to exit that.  Finally, to run this as a background process, run the following command; ```bash nohup docker-compose up > /dev/null 2>&1 & ``` You need to detach this process, or the containers will stop running when you close your terminal session. Depending on where you are running this, you can navigate to the address in your browser, to see the voter interface. For local installs the following should work; `http://127.0.0.1:5000` ## 6. Export / Import configs and algorithms ## With your containers now running you can export your configuration and algorithm from Heroku, then import it into your dockerized voter bot! **If you did not have a bot set up on Heroku**, then you can skip this step and set up your config and algorithm as you choose. To get started, first _**on Heroku**_, enter your **BOT_API_KEY** that you into the text field and click the **Start Session** button, seen below;  Now we can export the existing algorithm, click on the **Edit >>** button under the **Edit Algorithm** heading. Scroll down till you see the **Export Current Algorithm** button , then click on it. It will populate the text area with the JSON representation of your algorithm. See an example below;  Now follow the same steps on your dockerized version, but paste the text into the text area. Then click on the **Import This Algorithm** button to persist the changes. The page will refresh, and all the relevant fields will be populated. For your configuration changes, you follow a very similar process, after clicking on the **Edit >>** button under the **Edit Config** heading. Copy your config from the existing Heroku instance to your new install. ## 7. Have a cuppa tea! ##  Looks like my cup is almost empty! Now just sit back and relax, your bot will fire off soon, check your stats to see what it cast your votes on. ## Conclusion ## This implementation is by no means production ready, so use at your own risk. I have a few changes I would like to make, but work / life / short attention span get's in the way. Some improvements could be; - Supervisord implementation in the containers. Right now the processes are started, if the fail, they fail and don't restart. - Ensure containers are up and running. - Link code rather than copying it in. `ADD . /src` in the **steem-foss-voter/Dockerfile**, with copying it in, ANY code changes require you to `docker-compose stop` then `docker-compose build` and `docker-compose up`. I think it would be much neater to just pull the code changes down, then restart the `node server.js` command somehow. But what do I know? ;) Credits; - [http://anandmanisankar.com/](http://anandmanisankar.com/posts/docker-container-nginx-node-redis-example/) I relied heavily on this post for the dockerfile's and docker-compose.yml file contents. - [Run a cron job with Docker](https://www.ekito.fr/people/run-a-cron-job-with-docker/) - Cron job's in Docker, who would have thought it would be so hard!?! - [CMD vs. ENTRYPOINT](http://goinbigdata.com/docker-run-vs-cmd-vs-entrypoint/) - Dunno actually, I must have bookmarked it for a reason... - A big thank you to @personz, for 1. making, then open sourcing an awesome bot. 2. All the help and support as I fumbled my way through Docker / Node.js and Redis, none of which I have any working experience with. [](/@shaunmza) Whoot! You made it! This is a long post, but I tried to make it a bit fun to read, I hope you got something out of it! One more favour to ask, please be so kind as to drop a comment with your thoughts/criticisms, thank you.
author | shaunmza |
---|---|
permlink | dockerizing-the-steem-fossbot |
category | bots |
json_metadata | {"tags":["bots","steemit","technology","docker","automation"],"users":["codydeeds","personz"],"image":["https://steemitimages.com/DQmS1fPSpnZ5onNqBYeRckVj4bD8kAFZpmDJ4nGr2dEPzdH/Docker_voter.png","https://steemitimages.com/DQmUkXk6ujeKeN4cfLum8v29i8skoaWvGRLLkm2GTFCyEav/image.png","https://steemitimages.com/DQmb7SfTfxuT1rD7PR8XAsHUsp9NTrkp3ZqnbGhoi3hwjw2/screenshot2.png","https://steemitimages.com/DQmabi74PSa9ZkKNC31hSCBHqVrRhJiQgfqhgEYxUpBtBdS/1kl85a.jpg","https://steemitimages.com/DQmd7vps5wFhDDmwqqm77UiNNoCWwG6oCQVTPVNgQ1SyBv3/screenshot3.png","https://steemitimages.com/DQmPWwMXSQHq9QfHtJVSeS1DM1jPm9Fnisent6RAn5dMTrK/screenshot1.png","https://steemitimages.com/DQmdzAUoJkbFAsNQ5FKG3hB4dyJjPoaE4p3PFUbmKzGXvj9/screenshot4.png","https://steemitimages.com/DQmb6gepERWNLU5Bp9xQmeyWqubPzoHP5ZgEzRahdSJ3VxF/screenshot5.png","https://steemitimages.com/DQmb7TveS2ifc4UsM8L3R65aJB3rtwZUvwjvzjPB3dt5P1F/image.png","http://i.imgur.com/mkSVYs4.gif"],"links":["/steemit/@codydeeds/the-simple-no-hassle-bot-setup-guide-to-upvote-the-same-posts-as-any-top-curator","http://www.apache.org/licenses/LICENSE-2.0","https://www.docker.com/products/docker","http://anandmanisankar.com/posts/docker-container-nginx-node-redis-example/","https://www.ekito.fr/people/run-a-cron-job-with-docker/","http://goinbigdata.com/docker-run-vs-cmd-vs-entrypoint/","/@shaunmza"],"app":"steemit/0.1","format":"markdown"} |
created | 2017-03-02 14:37:48 |
last_update | 2017-03-02 14:54:45 |
depth | 0 |
children | 10 |
last_payout | 2017-04-02 17:56:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 21.070 HBD |
curator_payout_value | 6.467 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 12,878 |
author_reputation | 17,139,522,306,343 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 0 |
post_id | 2,628,608 |
net_rshares | 63,912,768,134,215 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
penambang | 0 | 10,647,970,122 | 30% | ||
berkah | 0 | 90,181,680,407 | 100% | ||
summon | 0 | 3,774,315,704,715 | 65% | ||
proskynneo | 0 | 6,923,013,122,198 | 83% | ||
val-a | 0 | 7,454,946,944,022 | 38% | ||
val-b | 0 | 11,850,002,870,646 | 83% | ||
kushed | 0 | 3,004,201,271,592 | 83% | ||
rossco99 | 0 | 320,566,124,061 | 30% | ||
wang | 0 | 153,371,774,889 | 2% | ||
jaewoocho | 0 | 4,334,651,872,199 | 83% | ||
xeroc | 0 | 645,116,994,301 | 30% | ||
steem-id | 0 | 59,758,965,476 | 30% | ||
clayop | 0 | 554,820,312,706 | 83% | ||
lovejoy | 0 | 65,903,284,016 | 30% | ||
pairmike | 0 | 3,730,202,463 | 1% | ||
pheonike | 0 | 11,540,391,200 | 6% | ||
proctologic | 0 | 4,253,257,214 | 1% | ||
donkeypong | 0 | 1,427,584,888,642 | 50% | ||
hcf27 | 0 | 953,363,596 | 100% | ||
konelectric | 0 | 711,499,125 | 1% | ||
acidsun | 0 | 16,458,794,912 | 50% | ||
jamtaylor | 0 | 55,603,771,822 | 100% | ||
steemship | 0 | 576,254,158,540 | 60% | ||
hipster | 0 | 765,699,654,645 | 100% | ||
forrestwillie | 0 | 646,912,951 | 1% | ||
richman | 0 | 109,474,124,649 | 100% | ||
kevinwong | 0 | 95,934,422,113 | 10% | ||
blakemiles84 | 0 | 85,850,335,213 | 30% | ||
oholiab | 0 | 12,751,792,223 | 100% | ||
theshell | 0 | 23,483,534,263 | 30% | ||
ratel | 0 | 9,340,617,780 | 30% | ||
andrei | 0 | 248,988,952 | 1% | ||
pseudonymous | 0 | 330,247,545 | 100% | ||
schro | 0 | 21,493,721,314 | 30% | ||
michaelx | 0 | 13,030,352,373 | 30% | ||
anwenbaumeister | 0 | 604,769,649,393 | 70% | ||
albertogm | 0 | 11,290,597,493 | 30% | ||
svamiva | 0 | 37,377,101,035 | 100% | ||
tyler-fletcher | 0 | 4,613,083,223 | 100% | ||
fyrstikken | 0 | 52,355,222,800 | 1% | ||
clement | 0 | 2,649,599,737 | 100% | ||
isteemit | 0 | 39,102,272,423 | 100% | ||
skapaneas | 0 | 30,300,339,752 | 100% | ||
grey580 | 0 | 374,109,491 | 1% | ||
asmolokalo | 0 | 95,890,235,671 | 20% | ||
roelandp | 0 | 35,368,305,641 | 2% | ||
nerdlab | 0 | 969,012,304 | 100% | ||
lehard | 0 | 3,566,658,703 | 100% | ||
furion | 0 | 153,708,788,435 | 52% | ||
neoxian | 0 | 668,174,074,898 | 100% | ||
on0tole | 0 | 13,535,215,556 | 100% | ||
anasya | 0 | 19,264,041,312 | 100% | ||
vl248 | 0 | 9,862,033,670 | 100% | ||
sveokla | 0 | 5,921,830,877 | 100% | ||
marinabogumil | 0 | 9,130,813,563 | 100% | ||
anmuravjev | 0 | 782,379,012 | 100% | ||
jamesjarman | 0 | 1,703,872,375 | 1% | ||
transisto | 0 | 9,383,710,623,461 | 100% | ||
raymondspeaks | 0 | 4,184,958,639 | 30% | ||
kell234 | 0 | 2,402,447,495 | 100% | ||
karenmckersie | 0 | 2,038,561,939 | 1% | ||
luisucv34 | 0 | 23,583,536,266 | 100% | ||
hyiparena | 0 | 5,482,225,203 | 100% | ||
rouketas | 0 | 50,426,195 | 100% | ||
cryptojoy.com | 0 | 343,873,522 | 30% | ||
konti | 0 | 6,650,264,992 | 100% | ||
phenom | 0 | 9,177,879,478 | 30% | ||
ubg | 0 | 588,398,233 | 2% | ||
bitcoiner | 0 | 12,577,867,669 | 30% | ||
sharker | 0 | 10,901,721,131 | 100% | ||
sokal | 0 | 2,461,113,059 | 100% | ||
zaebars | 0 | 67,675,807,496 | 100% | ||
mondeja | 0 | 4,327,573,610 | 100% | ||
crypto.owl | 0 | 8,649,057,902 | 100% | ||
happyphoenix | 0 | 104,741,541 | 3% | ||
nelu.ceban | 0 | 2,992,130,518 | 100% | ||
bkkshadow | 0 | 3,114,704,576 | 3% | ||
smailer | 0 | 59,660,930,505 | 100% | ||
dmilash | 0 | 23,721,993,029 | 100% | ||
malaiandrueth | 0 | 40,421,209,661 | 100% | ||
dirty.hera | 0 | 143,111,617 | 100% | ||
gomeravibz | 0 | 12,188,413,047 | 30% | ||
litrbooh | 0 | 3,268,402,839 | 100% | ||
nekromarinist | 0 | 19,142,112,492 | 100% | ||
always1success | 0 | 6,596,071,892 | 100% | ||
toxichan | 0 | 1,136,365,516 | 70% | ||
brendio | 0 | 28,181,036,269 | 24% | ||
asdes | 0 | 868,658,105 | 100% | ||
timelapse | 0 | 462,834,604 | 1% | ||
mama-steem | 0 | 1,878,698,584 | 100% | ||
uuuhha | 0 | 15,498,540,373 | 100% | ||
romancs | 0 | 3,590,991,358 | 100% | ||
ipumba | 0 | 3,549,021,341 | 100% | ||
riosparada | 0 | 29,197,689,104 | 100% | ||
bigsambucca | 0 | 226,077,765 | 100% | ||
steemradio | 0 | 361,571,562 | 30% | ||
randyclemens | 0 | 4,329,948,554 | 100% | ||
krishtopa | 0 | 59,292,315,870 | 100% | ||
darthnava | 0 | 396,366,297 | 1% | ||
villainblack | 0 | 7,125,143,964 | 100% | ||
cmorton | 0 | 1,516,707,777 | 12% | ||
numberone | 0 | 4,510,014,737 | 100% | ||
ripplerm | 0 | 10,136,301,724 | 100% | ||
awgbibb | 0 | 101,985,966,370 | 100% | ||
jsantana | 0 | 2,504,964,005 | 10% | ||
professorx | 0 | 775,587,731 | 100% | ||
imag1ne | 0 | 1,437,327,117 | 100% | ||
leno4ek | 0 | 1,852,582,287 | 100% | ||
nulliusinverba | 0 | 3,725,814,384 | 30% | ||
barrydutton | 0 | 1,370,224,857 | 1% | ||
steemitguide | 0 | 630,468,961 | 1% | ||
richardcrill | 0 | 1,440,879,152 | 1% | ||
randomli | 0 | 1,723,687,236 | 100% | ||
nadin3 | 0 | 7,246,658,822 | 100% | ||
xanoxt | 0 | 27,397,948,297 | 100% | ||
victoriart | 0 | 11,779,768,726 | 100% | ||
maryfromsochi | 0 | 1,469,033,361 | 100% | ||
tatianka | 0 | 2,624,290,843 | 100% | ||
zettar | 0 | 1,573,026,704 | 100% | ||
asksisk | 0 | 280,354,035,481 | 100% | ||
jacobts | 0 | 229,345,278 | 1% | ||
elena-singer | 0 | 7,603,897,296 | 100% | ||
patelincho | 0 | 103,441,019 | 1% | ||
tracemayer | 0 | 18,261,606,224 | 30% | ||
burnin | 0 | 12,715,175,464 | 100% | ||
anton333 | 0 | 6,936,150,597 | 100% | ||
jeanviete | 0 | 1,275,077,264 | 100% | ||
steemsquad | 0 | 1,801,344,812 | 100% | ||
ekaterinka | 0 | 2,413,992,909 | 100% | ||
clayboyn | 0 | 64,030,768,986 | 100% | ||
develcuy | 0 | 4,919,137,986 | 100% | ||
borishaifa | 0 | 9,416,814,022 | 100% | ||
mapalatv | 0 | 998,163,638 | 100% | ||
okean123 | 0 | 8,815,204,594 | 100% | ||
lighteye | 0 | 458,627,673 | 100% | ||
crimson | 0 | 633,580,865 | 83% | ||
sjennon | 0 | 12,433,612,664 | 100% | ||
curie | 0 | 362,768,436,203 | 100% | ||
htyfn | 0 | 2,607,781,732 | 100% | ||
anasz | 0 | 28,446,179,792 | 100% | ||
rusteemitblog | 0 | 8,782,039,191 | 100% | ||
ninkhisibir | 0 | 3,387,551,742 | 100% | ||
orenshani7 | 0 | 5,687,932,502 | 100% | ||
therajmahal | 0 | 2,165,440,556 | 100% | ||
hendrikdegrote | 0 | 7,604,426,881,489 | 83% | ||
rgeddes | 0 | 14,528,808,142 | 70% | ||
marel | 0 | 1,634,833,559 | 100% | ||
steemlift | 0 | 3,500,745,717 | 100% | ||
steemsports | 0 | 190,614,598,603 | 46% | ||
galveston | 0 | 2,020,550,461 | 83% | ||
alcibiades | 0 | 30,248,832,642 | 100% | ||
giantbear | 0 | 1,254,751,018 | 1% | ||
stray | 0 | 425,131,144 | 1% | ||
sherry-dow | 0 | 72,722,704 | 100% | ||
ianboil | 0 | 5,132,436,814 | 100% | ||
max-max | 0 | 3,826,886,718 | 100% | ||
sstefan | 0 | 7,999,481,564 | 50% | ||
daisyd | 0 | 278,164,010 | 1% | ||
garvofe | 0 | 6,466,122,977 | 100% | ||
sqube | 0 | 2,970,029,948 | 1% | ||
maxse | 0 | 2,699,824,747 | 100% | ||
whatageek | 0 | 738,960,821 | 1% | ||
j3dy | 0 | 2,073,002,202 | 100% | ||
teukumukhlis | 0 | 4,839,933,995 | 20% | ||
teofilex11 | 0 | 12,973,793,652 | 100% | ||
goldsteem | 0 | 33,080,432,878 | 100% | ||
chiliec | 0 | 15,125,763,334 | 100% | ||
sellergenius | 0 | 1,243,016,454 | 100% | ||
irawandedy | 0 | 1,385,848,637 | 100% | ||
richq11 | 0 | 16,386,387,460 | 100% | ||
beeskee | 0 | 7,082,938,323 | 100% | ||
gildar | 0 | 2,861,292,131 | 100% | ||
saeryn | 0 | 2,262,553,446 | 100% | ||
littlemozart | 0 | 6,466,004,737 | 100% | ||
killuminatic | 0 | 329,720,615 | 100% | ||
meysam | 0 | 537,866,164 | 1% | ||
kyra-kristian | 0 | 66,465,228 | 100% | ||
madlenfox | 0 | 1,949,688,921 | 100% | ||
huasipi | 0 | 514,505,010 | 100% | ||
tamersameeh | 0 | 469,096,284 | 100% | ||
stmdxrafi | 0 | 105,300,477 | 100% | ||
johnthehoan | 0 | 303,476,763 | 100% | ||
personz | 0 | 27,393,146,760 | 100% | ||
steemnews24 | 0 | 152,402,780 | 100% | ||
lastminuteman | 0 | 1,441,769,294 | 1% | ||
melania | 0 | 6,933,194,142 | 100% | ||
driptorchpress | 0 | 86,260,127 | 1% | ||
alohaoy | 0 | 1,931,267,863 | 100% | ||
cheah | 0 | 6,890,883,450 | 100% | ||
kostaslou | 0 | 1,239,319,300 | 100% | ||
nik69 | 0 | 212,852,541 | 100% | ||
neuerko | 0 | 0 | 100% | ||
firesteem | 0 | 405,813,159 | 100% | ||
fisteganos | 0 | 3,263,765,045 | 40% | ||
fbechstein | 0 | 5,392,428,862 | 100% | ||
thedeplorable1 | 0 | 553,642,726 | 1% | ||
blockained | 0 | 187,795,399 | 100% | ||
blockchained | 0 | 999,687,186 | 100% | ||
marco.world | 0 | 187,795,325 | 100% | ||
ogochukwu | 0 | 2,860,585,601 | 100% | ||
toyblackhat | 0 | 338,102,354 | 30% | ||
tonylondon | 0 | 658,901,393 | 100% | ||
vrezh | 0 | 140,187,227 | 100% | ||
dunia | 0 | 675,382,989,801 | 100% | ||
michaelnonso | 0 | 60,082,933 | 100% | ||
benjiparler | 0 | 451,209,424 | 100% | ||
denmarkguy | 0 | 370,125,904 | 1% | ||
steemstock | 0 | 218,660,072 | 100% | ||
adminpoly | 0 | 279,731,461 | 50% | ||
amuse | 0 | 445,500,805 | 100% | ||
emeka | 0 | 68,084,013 | 100% | ||
justinashby | 0 | 634,645,991 | 100% | ||
ambyr00 | 0 | 268,389,023 | 100% | ||
blckchnd | 0 | 193,695,127 | 100% | ||
evildeathcore | 0 | 167,443,148 | 100% | ||
evimeria | 0 | 190,868,144 | 100% | ||
marjuki95 | 0 | 50,203,440 | 100% | ||
kuttmargo | 0 | 320,615,593 | 100% | ||
supardi123 | 0 | 357,035,083 | 100% | ||
lukalukaluka | 0 | 357,034,827 | 100% | ||
nafis-fuad | 0 | 0 | 100% |
Thanks for this guidelines, I'm planning to run it on Digital Ocean droplet and also on VestaCP VPS
author | doctorvee |
---|---|
permlink | re-shaunmza-dockerizing-the-steem-fossbot-20171207t212400037z |
category | bots |
json_metadata | {"tags":["bots"],"app":"steemit/0.1"} |
created | 2017-12-07 21:24:00 |
last_update | 2017-12-07 21:24:00 |
depth | 1 |
children | 0 |
last_payout | 2017-12-14 21:24:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 99 |
author_reputation | 608,629,613,641 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 22,707,126 |
net_rshares | 0 |
Hi!!! I'm triying to run Voter on my pc.. but when i tried to build looks like it doesnt install nothing... I'm running on ubuntu 16.04 xenial... Here is the output from the terminal... > Building node >Step 1/20 : FROM ubuntu:trusty > ---> d6ed29ffda6b >Step 2/20 : MAINTAINER Anonymous > ---> Using cache >---> 633f379d2813 >Step 3/20 : RUN apt-get update && apt-get -y install curl && curl -sL >https://deb.nodesource.com/setup_4.x | sudo bash - && apt-get -y install python build-> >essential nodejs > ---> Running in e57e55a428e1 > Err http://security.ubuntu.com trusty-security InRelease > > Err http://archive.ubuntu.com trusty InRelease > >Err http://security.ubuntu.com trusty-security Release.gpg > Temporary failure resolving 'security.ubuntu.com' >Err http://archive.ubuntu.com trusty-updates InRelease > >Err http://archive.ubuntu.com trusty-backports InRelease > >Err http://archive.ubuntu.com trusty Release.gpg > Temporary failure resolving 'archive.ubuntu.com' >Err http://archive.ubuntu.com trusty-updates Release.gpg > Temporary failure resolving 'archive.ubuntu.com' >Err http://archive.ubuntu.com trusty-backports Release.gpg > Temporary failure resolving 'archive.ubuntu.com' >Reading package lists... >W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease >W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease > >W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-backports/InRelease > >W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/InRelease > >W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg >Temporary failure resolving 'security.ubuntu.com' > >W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg Temporary failure resolving 'archive.ubuntu.com' > >W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg >Temporary failure resolving 'archive.ubuntu.com' > >W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-backports/Release.gpg >Temporary failure resolving 'archive.ubuntu.com' > >W: Some index files failed to download. They have been ignored, or old ones used instead. > Any idea what could been happening?? I supossed that is for the diference on the distros βtrusty vs xenialβ Greetings
author | neuerko |
---|---|
permlink | re-shaunmza-dockerizing-the-steem-fossbot-20171205t172434970z |
category | bots |
json_metadata | {"tags":["bots"],"links":["https://deb.nodesource.com/setup_4.x","http://security.ubuntu.com","http://archive.ubuntu.com","http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease","http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease","http://archive.ubuntu.com/ubuntu/dists/trusty-backports/InRelease","http://security.ubuntu.com/ubuntu/dists/trusty-security/InRelease","http://security.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg","http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg","http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg","http://archive.ubuntu.com/ubuntu/dists/trusty-backports/Release.gpg"],"app":"steemit/0.1"} |
created | 2017-12-05 17:24:36 |
last_update | 2017-12-05 17:24:36 |
depth | 1 |
children | 2 |
last_payout | 2017-12-12 17:24:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 2,366 |
author_reputation | 187,758,696,903,936 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 22,483,231 |
net_rshares | 0 |
Please where do I get the bot-api-key
author | doctorvee |
---|---|
permlink | re-neuerko-re-shaunmza-dockerizing-the-steem-fossbot-20171207t174957260z |
category | bots |
json_metadata | {"tags":["bots"],"app":"steemit/0.1"} |
created | 2017-12-07 17:49:57 |
last_update | 2017-12-07 17:49:57 |
depth | 2 |
children | 1 |
last_payout | 2017-12-14 17:49:57 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 37 |
author_reputation | 608,629,613,641 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 22,690,024 |
net_rshares | 0 |
Sorry for the late reply... The api key could be anything you want... It works as a password to do some administrative stuff. Just that... Use something you can remember easily... π
author | neuerko |
---|---|
permlink | re-doctorvee-re-neuerko-re-shaunmza-dockerizing-the-steem-fossbot-20171209t050424006z |
category | bots |
json_metadata | {"tags":["bots"],"app":"steemit/0.1"} |
created | 2017-12-09 05:04:24 |
last_update | 2017-12-09 05:04:24 |
depth | 3 |
children | 0 |
last_payout | 2017-12-16 05:04:24 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 185 |
author_reputation | 187,758,696,903,936 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 22,846,284 |
net_rshares | 0 |
This is great @shaunmza, thanks for taking the time to create it. I know that the Heroku free plan was throttling a few people who wanted to run it very often, every 10 minutes or so. This really allows for that. Great to see this project grow! You're awesome π π
author | personz |
---|---|
permlink | re-shaunmza-dockerizing-the-steem-fossbot-20170302t152819946z |
category | bots |
json_metadata | {"tags":["bots"],"users":["shaunmza"],"app":"steemit/0.1"} |
created | 2017-03-02 15:28:18 |
last_update | 2017-03-02 15:28:18 |
depth | 1 |
children | 0 |
last_payout | 2017-04-02 17:56:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 264 |
author_reputation | 42,452,361,038,560 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 2,628,900 |
net_rshares | 7,574,120,931 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
shaunmza | 0 | 7,574,120,931 | 100% |
So, seems after a few hours the node server loses its connection to the redis server. I can still telnet to the redis container from the node container, so redis is up. If this happens to you, just run `docker-compose stop` then `docker-compose up` in the directory with your **docker-compose.yml** file in it I am in the process of debugging, will update when I know more!
author | shaunmza |
---|---|
permlink | re-shaunmza-dockerizing-the-steem-fossbot-20170303t074401022z |
category | bots |
json_metadata | {"tags":["bots"],"app":"steemit/0.1"} |
created | 2017-03-03 07:44:00 |
last_update | 2017-03-03 07:44:00 |
depth | 1 |
children | 1 |
last_payout | 2017-04-02 17:56:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 376 |
author_reputation | 17,139,522,306,343 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 2,633,889 |
net_rshares | 23,898,752,618 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
personz | 0 | 23,898,752,618 | 100% |
did you find any more info regarding this one ?
author | bobinson |
---|---|
permlink | re-shaunmza-re-shaunmza-dockerizing-the-steem-fossbot-20180107t133502509z |
category | bots |
json_metadata | {"tags":["bots"],"app":"steemit/0.1"} |
created | 2018-01-07 13:35:00 |
last_update | 2018-01-07 13:35:00 |
depth | 2 |
children | 0 |
last_payout | 2018-01-14 13:35:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 47 |
author_reputation | 55,343,141,313,811 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 27,762,335 |
net_rshares | 0 |
Thank for doing this. I'm trying to kickstart a new tag #steemdev I think your post very fitting for that tag.
author | transisto |
---|---|
permlink | re-shaunmza-dockerizing-the-steem-fossbot-20170303t065444000z |
category | bots |
json_metadata | {"tags":["steemdev","bots"],"app":"steemit/0.1"} |
created | 2017-03-03 06:54:42 |
last_update | 2017-03-03 06:54:42 |
depth | 1 |
children | 2 |
last_payout | 2017-04-02 17:56:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 110 |
author_reputation | 330,357,940,720,833 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 2,633,699 |
net_rshares | 33,026,930,180 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
personz | 0 | 24,481,649,023 | 100% | ||
shaunmza | 0 | 8,545,281,157 | 100% |
Me too, good idea on the tag
author | personz |
---|---|
permlink | re-transisto-re-shaunmza-dockerizing-the-steem-fossbot-20170303t172317243z |
category | bots |
json_metadata | {"tags":["bots"],"app":"steemit/0.1"} |
created | 2017-03-03 17:23:18 |
last_update | 2017-03-03 17:23:18 |
depth | 2 |
children | 0 |
last_payout | 2017-04-02 17:56:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 28 |
author_reputation | 42,452,361,038,560 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 2,637,113 |
net_rshares | 0 |
Cool, glad you appreciate it. I am planning another post, hopefully soon, so will be using the #steemdev tag for that!
author | shaunmza |
---|---|
permlink | re-transisto-re-shaunmza-dockerizing-the-steem-fossbot-20170303t065729366z |
category | bots |
json_metadata | {"tags":["steemdev","bots"],"app":"steemit/0.1"} |
created | 2017-03-03 06:57:30 |
last_update | 2017-03-03 06:57:30 |
depth | 2 |
children | 0 |
last_payout | 2017-04-02 17:56:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 120 |
author_reputation | 17,139,522,306,343 |
root_title | "Dockerizing the Steem FOSSbot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 2,633,706 |
net_rshares | 0 |