             winston.debug("starting express webserver listening on #{program.host}:#{program.port}")
             http_server.listen(program.port, program.host, cb)
         (cb) ->
+            if not program.port
+                cb(); return
             async.parallel([
                 (cb) ->
                     # init authentication via passport (requires database)

                 console.log("User added to project.")
            process.exit()
    else
        console.log("Running web server; pidfile=#{program.pidfile}, port=#{program.port}, proxy_port=#{program.proxy_port}")
        # logFile = /dev/null to prevent huge duplicated output that is already in program.logfile
        if program.foreground
            start_server (err) ->

                    winston.debug("connected to database.")
                    cb()
        (cb) ->
            if not program.port
                cb(); return
            if program.dev or program.update
                winston.debug("updating the database schema...")
                database.update_schema(cb:cb)
            else
                cb()
        (cb) ->
            if not program.port
                cb(); return
            init_stripe(cb)
        (cb) ->
            if not program.port
                cb(); return
            init_support(cb)
        (cb) ->
            init_compute_server(cb)
        (cb) ->
            if not program.port
                cb(); return
            # proxy server and http server; this working etc. *relies* on compute_server having been created
            # However it can still serve many things without database.  TODO: Eventually it could inform user
            # that database isn't working.
