HowTo: Install Kegbot Server directly on your Android tablet (no root)


#21

You need to use vi. For me it wasn’t installed by default on my A210 so I had to get it. Just run “apt-get install vim” and you should be able to edit it.


#22

Thank you. What command do i use


#23

Once installed, navigate to the directory and edit the file by typing “vi localsettings.py”. If you are new to vi, I would recommend reviewing the basic commands before you start as it can get very frustrating if you don’t know/use the correct syntax. There are plenty of resources via your preferred search engine.


#25

thanks for pointing me in the right direction… But now I keep getting NameError: Name ‘DEGUG’ is not defined. Any ideas on a solution. I just typed every thing in there staring with the # and did the :wq to save it try to run server and stops me with that message. thanks for the help I am a newb to linux


#26

I got it figured out, I was putting in $ vim local_settings.py. The fix was vi then :e /home/.kegbot/local_settings.py Thank you for the help n4xxr76!! I probably would have given up if it wasn’t for you.


#28

Hey guys I’m trying to Finnish the production set up on my nexus 7 tab with gnu root Debian and I can’t get nginx started, any help would be appreciated. Thanks in advance!

[email protected]:/# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed
(kb) [email protected]:/#


#29

Are you running “kegbot runserver 127.0.0.1:8000”?
I’m not sure why it’s looking at 0.0.0.0:80


#30

So when i start the server i put kegbot runserver 127.0.0.1:8000 then tried to run nginx it fails still. I looked online and all i seem to find is nginx needs root user permision. I dont know, its working right now but i cant access it on my computer via home network either… is the addres 127.0.0.1:8000 ?? Thanks for the help


#31

Other devices on your home network won’t be using 127.0.0.1 to access your tablet because that address universally means “yourself”. They would be accessing using the android tablet’s IP address… Like 192.168.xxx.xxx:8000 probably.

You will probably have to use “kegbot runserver 192.168.xxx.xxx:8000” once you figure out what IP address your router is assigning your tablet (Somewhere in the android settings menu… about?) See https://kegbot.org/docs/server/run-server/#allowing-external-access


#32

You use kegbot runserver 0.0.0.0:port. Then it will use the ip address of the tablet for the IP.


#33

That did it now to try for external accses. Thabk you


#34

Can you help me set up kegbot on my acer tablet?

I can get to the setup-kegbot.py, after that I have problems with the directory


#35

This is where I’m at now…Uploading…


#36

Sorry to bump this, but I figured I’d add my experience for those who, like me, stumbled upon this thread through Google.

So this approach does work, but there are some caveats to keep in mind. This is more aimed at folks who have an old Android tablet lying around that they want to use for this purpose. I had a 1st gen Kindle Fire that I flashed with a stock Jellybean ROM.

  1. Make sure you have enough space. Seems obvious, but the total install under this method including dependencies approaches 1 GB. My Fire came with a little over 1 GB of internal storage and 5 GB of “external” USB storage. GNURoot stores all of its app data (i.e., debian and GNU tools, python packages) on the internal partition. Maybe there’s a way to move this to another partition, but I could not find a reliable method. I ended up having to use a stripped down version of Django because Android would not finish the install due to lack of space. My Storage Settings show GNURoot taking up about 960 MB after all was said and done.

  2. Use /etc/ directory for your config and data files I initially tried to use the default directories (i.e., home directory) when running setup-kegbot.py, however kegbot processes would look to /root/kegbot after install when really they had been created in /home/kegbot. Not sure why, but I suspect some idiosyncrasy with GNURoot

  3. Production setup. You may be able get away with just using the dev server for this (i.e., kegbot runserver), but the docs advise against it, so I tried to stay true to them. Nginx would not let me bind to port 80 and instead went with 2080. Not sure why this is…possibly because GNURoot does not actually have privileged access. But either way, you will need to edit your kegbot-nginx.conf file to ensure it listens on this port.

Additionally, I had to edit both the supervisor and nginx configs to increase timeout because of my next point:

  1. This method is really slow I kept getting 502 and 504 errors. After reviewing gunicorn and nginx logs, I found that gunicorn would time out waiting for a response from django. I bumped up the timeout for both to 300 seconds and that did the trick