Home | History | Annotate | only in /external/skia/experimental/webtry
Up to higher level directory
NameDateSize
DESIGN.md04-Nov-201410.3K
main.cpp04-Nov-20143.2K
poly/04-Nov-2014
README.md04-Nov-20142.6K
res/04-Nov-2014
result.cpp04-Nov-2014464
safec++04-Nov-2014108
seccomp_bpf.h04-Nov-20141.7K
setup/04-Nov-2014
sys/04-Nov-2014
templates/04-Nov-2014
TODO.md04-Nov-2014654
webtry.go04-Nov-201428.4K

README.md

      1 WebTry
      2 ======
      3 
      4 Allows trying out Skia code in the browser. Run a local webserver
      5 and from the pages it serves try out Skia code and see the results
      6 immediately. To make sandboxing easier this must be built w/GPU off.
      7 
      8 Running Locally
      9 ===============
     10 
     11     $ GYP_GENERATORS=ninja  ./gyp_skia  gyp/webtry.gyp gyp/most.gyp -Dskia_gpu=0
     12     $ ninja -C out/Debug webtry
     13     $ cd experimental/webtry
     14     $ go build webtry.go
     15     $ ./webtry
     16 
     17 Then visit http://localhost:8000 in your browser.
     18 
     19 Only tested under linux, doubtful it will work on other platforms.
     20 
     21 Full Server Setup
     22 =================
     23 
     24 Create a GCE instance:
     25 
     26     gcutil --project=google.com:skia-buildbots addinstance skia-webtry-b \
     27       --zone=us-central2-b --external_ip_address=108.170.220.126 \
     28       --service_account=default \
     29       --service_account_scopes="https://www.googleapis.com/auth/devstorage.full_control" \
     30       --network=default --machine_type=n1-standard-1 --image=backports-debian-7-wheezy-v20140331 \
     31       --persistent_boot_disk
     32 
     33 Make sure port 80 is accessible externally for the above instance.
     34 
     35 SSH into the instance:
     36 
     37     gcutil --project=google.com:skia-buildbots ssh --ssh_user=default skia-webtry-b
     38 
     39 
     40 Do once
     41 -------
     42 
     43 The following things only need to be done once
     44 
     45 1. sudo apt-get install git schroot debootstrap
     46 2. git clone https://skia.googlesource.com/skia
     47 3. Add the following to /etc/fstab and reboot:
     48 
     49     none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
     50 
     51 The above will allow ninja to run. See http://stackoverflow.com/questions/2009278/python-multiprocessing-permission-denied
     52 
     53 4. Add the following to the /etc/schroot/minimal/fstab:
     54 
     55     /home/webtry/inout             /inout  none    rw,bind         0       0
     56 
     57 5. Change /etc/monit/monitrc to:
     58 
     59     set daemon 2
     60 
     61 then run the following so it applies:
     62 
     63     sudo /etc/init.d/monit restart
     64 
     65 This means that monit will poll every two seconds that our application is up and running.
     66 
     67 6. Set the TCP keepalive. For more info see:
     68    https://developers.google.com/cloud-sql/docs/gce-access
     69 
     70     sudo bash -c 'echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time'
     71 
     72 Do the first time
     73 -----------------
     74 
     75 Do the following the first time you setup a machine, and each time you want to update the code running on the server
     76 
     77     cd ~/skia/experimental/webtry/setup
     78     ./webtry_setup.sh
     79 
     80 
     81 Once, after setup
     82 -----------------
     83 
     84 Do this step only once, but only after running webtry_setup.sh the first time
     85 
     86     sudo debootstrap --variant=minbase wheezy /srv/chroot/webtry
     87 
     88 
     89 Third Party Code
     90 ----------------
     91 
     92   * res/js/polyfill.js - Various JS polyfill libraries. To rebuild or update
     93     see polyfill/README.md.
     94 
     95