I've been coding from my iPad to Raspberry Pi going on several months. I feel a pro at it and far prefer it over a cloud service for it has far less lag being local hosted.
4.5 KiB
iPad
Known Issues
- Getting self signed certificates certificates to work is involved, see below.
- Keyboard may disappear sometimes #1313, #979
- Trackpad scrolling does not work #1455
- See issues tagged with the iPad label for more.
How to access code-server with a self signed certificate on iPad?
Accessing a self signed certificate on iPad isn't as easy as accepting through all the security warnings. Safari will prevent WebSocket connections unless the certificate is installed as a profile on the device.
The below assumes you are using the self signed certificate that code-server generates for you. If not, that's fine but you'll have to make sure your certificate abides by the following guidelines from Apple: https://support.apple.com/en-us/HT210176
note: Another undocumented requirement we noticed is that the certificate has to have basicConstraints=CA:true
.
The following instructions assume you have code-server installed and running with a self signed certificate. If not, please first go through ./guide.md!
warning: Your iPad must access code-server via a domain name. It could be local
DNS like mymacbookpro.local
but it must be a domain name. Otherwise Safari will
refuse to allow WebSockets to connect.
- Your certificate must have a subject alt name that matches the hostname
at which you will access code-server from your iPad. You can pass this to code-server
so that it generates the certificate correctly with
--cert-host
. - Share your self signed certificate with the iPad.
- code-server will print the location of the certificate it has generated in the logs.
[2020-10-30T08:55:45.139Z] info - Using generated certificate and key for HTTPS: ~/.local/share/code-server/mymbp_local.crt
- You can mail it to yourself or if you have a Mac, it's easiest to just Airdrop to the iPad.
- When opening the
*.crt
file, you'll be prompted to go into settings to install. - Go to
Settings -> General -> Profile
, select the profile and then hitInstall
.- It should say the profile is verified.
- Go to
Settings -> About -> Certificate Trust Settings
and enable full trust for the certificate. more apple support here - Now you can access code-server! 🍻
Servediter iPad App
If you are unable to get the self signed certificate working or you do not have a domain name to use, you can use the Servediter iPad App instead!
note: This is not an officially supported app by the code-server team!
Download Serveediter from the App Store and then input your server information. If you are running a local server or mabye a usb-c connected Raspberry Pi, you will input your settings into "Self Hosted Server".
Raspberry Pi USB-C Network
It is a bit out of scope for this project, however, great success is being reported using iPad on the go with just a single USB-C cable connected to a Raspberry Pi both powering and supplying direct network access. Many support articles already exist but the key steps boil down to turning on Network over USB-C on the Raspberry Pi itself and the rest of the steps are just like getting Code Server running any where else.
Here are my keys to success. I bought a 4" touch screen with fan included that attaches as a case to the Pi. I use the touch screen for anytime I have connection issues, otherwise I turn off the Pi screen. I gave my Pi a network name so I can easily connect at home on wifi or when on go with 1 usb-c cable supplying power and network. LASTLY, not all usb-c cables are equal and not all will work so try different usb-c cables if you are going mad (confirm over wifi first then move to cable).
-- Acker Apple