From 5ee1114acee04c114939870c7283fac167f0faaa Mon Sep 17 00:00:00 2001
From: Dean Sheather <dean@deansheather.com>
Date: Sun, 2 Jun 2019 21:12:53 +1000
Subject: [PATCH] change documentation to use port 8443

---
 doc/admin/install/aws.md          |  11 ++++-------
 doc/admin/install/digitalocean.md |   5 ++---
 doc/admin/install/google_cloud.md |  17 ++++++-----------
 doc/assets/chrome_confirm.png     | Bin 19405 -> 0 bytes
 doc/self-hosted/index.md          |   9 ++++-----
 5 files changed, 16 insertions(+), 26 deletions(-)
 delete mode 100644 doc/assets/chrome_confirm.png

diff --git a/doc/admin/install/aws.md b/doc/admin/install/aws.md
index 2018ee098280..9d158ef2e2bb 100644
--- a/doc/admin/install/aws.md
+++ b/doc/admin/install/aws.md
@@ -11,9 +11,9 @@ If you're just starting out, we recommend [installing code-server locally](../..
 ### Use the AWS wizard
 
 - Click **Launch Instance** from your [EC2 dashboard](https://console.aws.amazon.com/ec2/v2/home).
-- Select the Ubuntu Server 16.04 LTS (HVM), SSD Volume Type (`ami-0f9cf087c1f27d9b1)` at this time of writing)
+- Select the Ubuntu Server 18.04 LTS (HVM), SSD Volume Type
 - Select an appropriate instance size (we recommend t2.medium/large, depending on team size and number of repositories/languages enabled), then **Next: Configure Instance Details**
-- Select **Next: ...** until you get to the **Configure Security Group** page, then add the default **HTTP** rule (port range "80", source "0.0.0.0/0, ::/0")
+- Select **Next: ...** until you get to the **Configure Security Group** page, then add a **Custom TCP Rule** rule with port range set to `8443` and source set to "Anywhere"
   > Rules with source of 0.0.0.0/0 allow all IP addresses to access your instance. We recommend setting [security group rules](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html?icmpid=docs_ec2_console) to allow access from known IP addresses only.
 - Click **Launch**
 - You will be prompted to create a key pair
@@ -56,14 +56,11 @@ If you're just starting out, we recommend [installing code-server locally](../..
   > To ensure the connection between you and your server is encrypted view our guide on [securing your setup](../../security/ssl.md)
 - Finally, run
   ```
-  sudo ./code-server -p 80
+  ./code-server
   ```
-- When you visit the public IP for your AWS instance, you will be greeted   with this page. Code-server is using a self-signed SSL certificate for easy setup. To proceed to the IDE, click **"Advanced"**<img src ="../../assets/chrome_warning.png">
-- Then click **"proceed anyway"**<img src="../../assets/chrome_confirm.png">
+- Open your browser and visit `https://$public_ip:8443/` (where `$public_ip` is your AWS instance's public IP address). You will be greeted with a page similar to the following screenshot. Code-server is using a self-signed SSL certificate for easy setup. In Chrome/Chromium, click **"Advanced"** then click **"proceed anyway"**. In Firefox, click **Advanced**, then **Add Exception**, then finally **Confirm Security Exception**.<img src ="../../assets/chrome_warning.png">
 
   > For instructions on how to keep the server running after you end your SSH session please checkout [how to use systemd](https://www.linode.com/docs/quick-answers/linux/start-service-at-boot/) to start linux based services if they are killed
 
-  > The `-p 80` flag is necessary in order to make the IDE accessible from the public IP of your instance (also available from the description in the instances page.
-
   ---
 > NOTE: If you get stuck or need help, [file an issue](https://github.com/cdr/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:support@coder.com?subject=Self-hosted%20quickstart%20guide).
diff --git a/doc/admin/install/digitalocean.md b/doc/admin/install/digitalocean.md
index e167694d9d59..a3aaa037837e 100644
--- a/doc/admin/install/digitalocean.md
+++ b/doc/admin/install/digitalocean.md
@@ -39,11 +39,10 @@ If you're just starting out, we recommend [installing code-server locally](../..
   > To ensure the connection between you and your server is encrypted view our guide on [securing your setup](../../security/ssl.md)
 - Finally start the code-server
   ```
-  sudo ./code-server -p 80
+  ./code-server
   ```
     > For instructions on how to keep the server running after you end your SSH session please checkout [how to use systemd](https://www.linode.com/docs/quick-answers/linux/start-service-at-boot/) to start linux based services if they are killed
-- When you visit the public IP for your Digital Ocean instance, you will be greeted with this page. Code-server is using a self-signed SSL certificate for easy setup. To proceed to the IDE, click **"Advanced"**<img src ="../../assets/chrome_warning.png">
-- Then click **"proceed anyway"**<img src="../../assets/chrome_confirm.png">
+- Open your browser and visit `https://$public_ip:8443/` (where `$public_ip` is your Digital Ocean instance's public IP address). You will be greeted with a page similar to the following screenshot. Code-server is using a self-signed SSL certificate for easy setup. In Chrome/Chromium, click **"Advanced"** then click **"proceed anyway"**. In Firefox, click **Advanced**, then **Add Exception**, then finally **Confirm Security Exception**.<img src ="../../assets/chrome_warning.png">
 
 ---
 > NOTE: If you get stuck or need help, [file an issue](https://github.com/cdr/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:support@coder.com?subject=Self-hosted%20quickstart%20guide).
diff --git a/doc/admin/install/google_cloud.md b/doc/admin/install/google_cloud.md
index 72f4ad2112e3..018ed6b09fa7 100644
--- a/doc/admin/install/google_cloud.md
+++ b/doc/admin/install/google_cloud.md
@@ -12,8 +12,9 @@ If you're just starting out, we recommend [installing code-server locally](../..
 - [Open your Google Cloud console](https://console.cloud.google.com/compute/instances) to create a new VM instance and click **Create Instance**
 - Choose an appropriate machine type (we recommend 2 vCPU and 7.5 GB RAM, more depending on team size and number of repositories/languages enabled)
 - Choose Ubuntu 16.04 LTS as your boot disk
-- Check the boxes for **Allow HTTP traffic** and **Allow HTTPS traffic** in the **Firewall** section
+- Expand the "Management, security, disks, networking, sole tenancy" section, go to the "Networking" tab, then under network tags add "code-server"
 - Create your VM, and **take note** of its public IP address.
+- Visit "VPC network" in the console and go to "Firewall rules". Create a new firewall rule called "http-8443". Under "Target tags" add "code-server", and under "Protocols and ports" tick "Specified protocols and ports" and "tcp". Beside "tcp", add "8443", then create the rule.
 - Copy the link to download the latest Linux binary from our [releases page](https://github.com/cdr/code-server/releases)
 
 ---
@@ -53,19 +54,13 @@ chmod +x code-server
 > To ensure the connection between you and your server is encrypted view our guide on [securing your setup](../security/ssl.md)
 
 - Start the code-server
-```
-sudo ./code-server -p 80
-```
+  ```
+  ./code-server
+  ```
+- Open your browser and visit `https://$public_ip:8443/` (where `$public_ip` is your Compute Engine instance's public IP address). You will be greeted with a page similar to the following screenshot. Code-server is using a self-signed SSL certificate for easy setup. In Chrome/Chromium, click **"Advanced"** then click **"proceed anyway"**. In Firefox, click **Advanced**, then **Add Exception**, then finally **Confirm Security Exception**.<img src ="../../assets/chrome_warning.png">
 
 > For instructions on how to keep the server running after you end your SSH session please checkout [how to use systemd](https://www.linode.com/docs/quick-answers/linux/start-service-at-boot/) to start linux based services if they are killed
 
-- Access code-server from the public IP of your Google Cloud instance we noted earlier in your browser.
-> example: 32.32.32.234
-
-- You will be greeted with this page. Code-server is using a self-signed SSL certificate for easy setup. To proceed to the IDE, click **"Advanced"**<img src ="../../assets/chrome_warning.png">
-
-- Then click **"proceed anyway"**<img src="../../assets/chrome_confirm.png">
-
 ---
 
 > NOTE: If you get stuck or need help, [file an issue](https://github.com/cdr/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:support@coder.com?subject=Self-hosted%20quickstart%20guide).
diff --git a/doc/assets/chrome_confirm.png b/doc/assets/chrome_confirm.png
deleted file mode 100644
index 037029e1e58f60f49843e753066ed53e192daac2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 19405
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

diff --git a/doc/self-hosted/index.md b/doc/self-hosted/index.md
index 008aac3b622f..17bf6c96c448 100644
--- a/doc/self-hosted/index.md
+++ b/doc/self-hosted/index.md
@@ -25,8 +25,7 @@ It takes just a few minutes to get your own self-hosted server running. If you'v
 > NOTE: Be careful with your password as sharing it will grant those users access to your server's file system
 
 ### Things To Know
-- When you visit the IP for your code-server, you will be greeted   with this page. Code-server is using a self-signed SSL certificate for easy setup. To proceed to the IDE, click **"Advanced"**<img src ="../assets/chrome_warning.png">
-- Then click **"proceed anyway"**<img src="../assets/chrome_confirm.png">
+- When you visit the IP for your code-server instance, you will be greeted with a page similar to the following screenshot. Code-server is using a self-signed SSL certificate for easy setup. In Chrome/Chromium, click **"Advanced"** then click **"proceed anyway"**. In Firefox, click **Advanced**, then **Add Exception**, then finally **Confirm Security Exception**.<img src ="../../assets/chrome_warning.png">
 
 ## Usage
 <pre class="pre-wrap"><code>code-server<span class="virtual-br"></span> --help</code></pre>
@@ -94,7 +93,7 @@ Options:
       }
    }
   ```
-  
+
   ### Apache Reverse Proxy
   Example of https virtualhost configuration for Apache as a reverse proxy. Please also pass --allow-http on code-server startup to allow the proxy to connect.
   ```
@@ -106,7 +105,7 @@ Options:
     RewriteRule /(.*)           ws://localhost:8443/$1 [P,L]
     RewriteCond %{HTTP:Upgrade} !=websocket [NC]
     RewriteRule /(.*)           http://localhost:8443/$1 [P,L]
-    
+
     ProxyRequests off
 
     RequestHeader set X-Forwarded-Proto https
@@ -118,6 +117,6 @@ Options:
   </VirtualHost>
   ```
   *Important:* For more details about Apache reverse proxy configuration checkout the [documentation](https://httpd.apache.org/docs/current/mod/mod_proxy.html) - especially the [Securing your Server](https://httpd.apache.org/docs/current/mod/mod_proxy.html#access) section
-  
+
   ### Help
   Use `code-server --help` to view the usage for the CLI. This is also shown at the beginning of this section.