mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	run-dev: Automate passing --interface='' for vagrant environment.
Fixes #877.
This commit is contained in:
		@@ -62,18 +62,12 @@ Once that finishes, you can run the development server as follows:
 | 
			
		||||
```
 | 
			
		||||
vagrant ssh
 | 
			
		||||
# Now inside the container
 | 
			
		||||
/srv/zulip/tools/run-dev.py --interface=''
 | 
			
		||||
/srv/zulip/tools/run-dev.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To get shell access to the virtual machine running the server to run
 | 
			
		||||
lint, management commands, etc., use `vagrant ssh`.
 | 
			
		||||
 | 
			
		||||
(A small note on tools/run-dev.py: the `--interface=''` option will
 | 
			
		||||
make the development server listen on all network interfaces.  While
 | 
			
		||||
this is correct for the Vagrant guest sitting behind a NAT, you
 | 
			
		||||
probably don't want to use that option when using run-dev.py in other
 | 
			
		||||
environments).
 | 
			
		||||
 | 
			
		||||
At this point you should [read about using the development
 | 
			
		||||
environment][using-dev].
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -300,7 +300,7 @@ Next, start the Zulip server:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
(zulip-venv)vagrant@vagrant-ubuntu-trusty-64:~ $
 | 
			
		||||
/srv/zulip/tools/run-dev.py --interface=''
 | 
			
		||||
/srv/zulip/tools/run-dev.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
As you can see above the application's root directory, where you can
 | 
			
		||||
@@ -477,7 +477,7 @@ server:
 | 
			
		||||
christie@win10 ~/zulip
 | 
			
		||||
$ vagrant up
 | 
			
		||||
$ vagrant ssh
 | 
			
		||||
/srv/zulip/tools/run-dev.py --interface=''
 | 
			
		||||
/srv/zulip/tools/run-dev.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### Next Steps
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@
 | 
			
		||||
from __future__ import print_function
 | 
			
		||||
 | 
			
		||||
import optparse
 | 
			
		||||
import pwd
 | 
			
		||||
import subprocess
 | 
			
		||||
import signal
 | 
			
		||||
import traceback
 | 
			
		||||
@@ -57,7 +58,7 @@ parser.add_option('--test',
 | 
			
		||||
 | 
			
		||||
parser.add_option('--interface',
 | 
			
		||||
    action='store', dest='interface',
 | 
			
		||||
    default='127.0.0.1', help='Set the IP or hostname for the proxy to listen on')
 | 
			
		||||
    default=None, help='Set the IP or hostname for the proxy to listen on')
 | 
			
		||||
 | 
			
		||||
parser.add_option('--no-clear-memcached',
 | 
			
		||||
    action='store_false', dest='clear_memcached',
 | 
			
		||||
@@ -65,6 +66,18 @@ parser.add_option('--no-clear-memcached',
 | 
			
		||||
 | 
			
		||||
(options, args) = parser.parse_args()
 | 
			
		||||
 | 
			
		||||
if options.interface is None:
 | 
			
		||||
    user_id = os.getuid()
 | 
			
		||||
    user_name = pwd.getpwuid(user_id).pw_name
 | 
			
		||||
    if user_name == "vagrant":
 | 
			
		||||
        # In the Vagrant development environment, we need to listen on
 | 
			
		||||
        # all ports, and it's safe to do so, because Vagrant is only
 | 
			
		||||
        # exposing certain guest ports (by default just 9991) to the host.
 | 
			
		||||
        options.interface = ""
 | 
			
		||||
    else:
 | 
			
		||||
        # Otherwise, only listen to requests on localhost for security.
 | 
			
		||||
        options.interface = "127.0.0.1"
 | 
			
		||||
 | 
			
		||||
base_port   = 9991
 | 
			
		||||
if options.test:
 | 
			
		||||
    base_port   = 9981
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user