Skip to content

Commit c3ef90a

Browse files
authored
Update documentation for Apple (#2117)
* Rename docs/ios-client.md to docs/apple-client.md. Add instructions for macOS; those are copied from the /apple endpoint and slightly modified. Fix doc links in the README. * Move infoboxes for /apple and /windows under the "Goal" section to the top. Those should be seen by users first as they contain *their* specific headscale URL. * Swap order of macOS and iOS to move "Profiles" further down. * Remove apple configuration profiles * Remove Tailscale versions hints * Mention /apple and /windows in the README along with their docs See: #2096
1 parent 064c46f commit c3ef90a

7 files changed

Lines changed: 112 additions & 130 deletions

File tree

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@ buttons available in the repo.
6262

6363
## Client OS support
6464

65-
| OS | Supports headscale |
66-
| ------- | --------------------------------------------------------- |
67-
| Linux | Yes |
68-
| OpenBSD | Yes |
69-
| FreeBSD | Yes |
70-
| macOS | Yes (see `/apple` on your headscale for more information) |
71-
| Windows | Yes [docs](./docs/windows-client.md) |
72-
| Android | Yes [docs](./docs/android-client.md) |
73-
| iOS | Yes [docs](./docs/iOS-client.md) |
65+
| OS | Supports headscale |
66+
| ------- | -------------------------------------------------------------------------------------------------- |
67+
| Linux | Yes |
68+
| OpenBSD | Yes |
69+
| FreeBSD | Yes |
70+
| Windows | Yes (see [docs](./docs/windows-client.md) and `/windows` on your headscale for more information) |
71+
| Android | Yes (see [docs](./docs/android-client.md)) |
72+
| macOS | Yes (see [docs](./docs/apple-client.md#macos) and `/apple` on your headscale for more information) |
73+
| iOS | Yes (see [docs](./docs/apple-client.md#ios) and `/apple` on your headscale for more information) |
7474

7575
## Running headscale
7676

docs/apple-client.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Connecting an Apple client
2+
3+
## Goal
4+
5+
This documentation has the goal of showing how a user can use the official iOS and macOS [Tailscale](https://tailscale.com) clients with `headscale`.
6+
7+
!!! info "Instructions on your headscale instance"
8+
9+
An endpoint with information on how to connect your Apple device
10+
is also available at `/apple` on your running instance.
11+
12+
## iOS
13+
14+
### Installation
15+
16+
Install the official Tailscale iOS client from the [App Store](https://apps.apple.com/app/tailscale/id1470499037).
17+
18+
### Configuring the headscale URL
19+
20+
- Open Tailscale and make sure you are _not_ logged in to any account
21+
- Open Settings on the iOS device
22+
- Scroll down to the `third party apps` section, under `Game Center` or `TV Provider`
23+
- Find Tailscale and select it
24+
- If the iOS device was previously logged into Tailscale, switch the `Reset Keychain` toggle to `on`
25+
- Enter the URL of your headscale instance (e.g `https://headscale.example.com`) under `Alternate Coordination Server URL`
26+
- Restart the app by closing it from the iOS app switcher, open the app and select the regular sign in option
27+
_(non-SSO)_. It should open up to the headscale authentication page.
28+
- Enter your credentials and log in. Headscale should now be working on your iOS device.
29+
30+
## macOS
31+
32+
### Installation
33+
34+
Choose one of the available [Tailscale clients for macOS](https://tailscale.com/kb/1065/macos-variants) and install it.
35+
36+
### Configuring the headscale URL
37+
38+
#### Command line
39+
40+
Use Tailscale's login command to connect with your headscale instance (e.g `https://headscale.example.com`):
41+
42+
```
43+
tailscale login --login-server <YOUR_HEADSCALE_URL>
44+
```
45+
46+
#### GUI
47+
48+
- ALT + Click the Tailscale icon in the menu and hover over the Debug menu
49+
- Under `Custom Login Server`, select `Add Account...`
50+
- Enter the URL of your headscale instance (e.g `https://headscale.example.com`) and press `Add Account`
51+
- Follow the login procedure in the browser

docs/iOS-client.md

Lines changed: 0 additions & 30 deletions
This file was deleted.

docs/windows-client.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@
44

55
This documentation has the goal of showing how a user can use the official Windows [Tailscale](https://tailscale.com) client with `headscale`.
66

7+
!!! info "Instructions on your headscale instance"
8+
9+
An endpoint with information on how to connect your Windows device
10+
is also available at `/windows` on your running instance.
11+
712
## Installation
813

914
Download the [Official Windows Client](https://tailscale.com/download/windows) and install it.
1015

1116
## Configuring the headscale URL
1217

13-
!!! info "Instructions on your headscale instance"
14-
15-
An endpoint with information on how to connect your Windows device
16-
is also available at `/windows` on your running instance.
17-
1818
Open a Command Prompt or Powershell and use Tailscale's login command to connect with your headscale instance (e.g
1919
`https://headscale.example.com`):
2020

hscontrol/templates/apple.html

Lines changed: 45 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -25,65 +25,59 @@
2525
</head>
2626

2727
<body>
28-
<h1>headscale: macOS configuration</h1>
29-
<h2>Recent Tailscale versions (1.34.0 and higher)</h2>
30-
<p>
31-
Tailscale added Fast User Switching in version 1.34 and you can now use
32-
the new login command to connect to one or more headscale (and Tailscale)
33-
servers. The previously used profiles does not have an effect anymore.
34-
</p>
35-
<h3>Command line</h3>
36-
<p>Use Tailscale's login command to add your profile:</p>
37-
<pre><code>tailscale login --login-server {{.URL}}</code></pre>
38-
<h3>GUI</h3>
28+
<h1>headscale: iOS configuration</h1>
29+
<h2>GUI</h2>
3930
<ol>
4031
<li>
41-
ALT + Click the Tailscale icon in the menu and hover over the Debug menu
32+
Install the official Tailscale iOS client from the
33+
<a href="https://apps.apple.com/app/tailscale/id1470499037"
34+
>App store</a
35+
>
4236
</li>
43-
<li>Under "Custom Login Server", select "Add Account..."</li>
4437
<li>
45-
Enter "{{.URL}}" of the headscale instance and press "Add Account"
38+
Open Tailscale and make sure you are <i>not</i> logged in to any account
4639
</li>
47-
<li>Follow the login procedure in the browser</li>
48-
</ol>
49-
<h2>Apple configuration profiles (1.32.0 and lower)</h2>
50-
<p>
51-
This page provides
52-
<a href="https://support.apple.com/guide/mdm/mdm-overview-mdmbf9e668/web"
53-
>configuration profiles</a
54-
>
55-
for the official Tailscale clients for
56-
</p>
57-
<ul>
40+
<li>Open Settings on the iOS device</li>
5841
<li>
59-
<a href="https://apps.apple.com/app/tailscale/id1475387142"
60-
>macOS - AppStore Client</a
61-
>.
42+
Scroll down to the "third party apps" section, under "Game Center" or
43+
"TV Provider"
6244
</li>
6345
<li>
64-
<a href="https://pkgs.tailscale.com/stable/#macos"
65-
>macOS - Standalone Client</a
66-
>.
46+
Find Tailscale and select it
47+
<ul>
48+
<li>
49+
If the iOS device was previously logged into Tailscale, switch the
50+
"Reset Keychain" toggle to "on"
51+
</li>
52+
</ul>
6753
</li>
68-
</ul>
69-
<p>
70-
The profiles will configure Tailscale.app to use <code>{{.URL}}</code> as
71-
its control server.
72-
</p>
73-
<h3>Caution</h3>
74-
<p>
75-
You should always download and inspect the profile before installing it:
76-
</p>
77-
<ul>
54+
<li>Enter "{{.URL}}" under "Alternate Coordination Server URL"</li>
7855
<li>
79-
for app store client: <code>curl {{.URL}}/apple/macos-app-store</code>
56+
Restart the app by closing it from the iOS app switcher, open the app
57+
and select the regular sign in option <i>(non-SSO)</i>. It should open
58+
up to the headscale authentication page.
8059
</li>
8160
<li>
82-
for standalone client: <code>curl {{.URL}}/apple/macos-standalone</code>
61+
Enter your credentials and log in. Headscale should now be working on
62+
your iOS device
8363
</li>
84-
</ul>
64+
</ol>
65+
<h1>headscale: macOS configuration</h1>
66+
<h2>Command line</h2>
67+
<p>Use Tailscale's login command to add your profile:</p>
68+
<pre><code>tailscale login --login-server {{.URL}}</code></pre>
69+
<h2>GUI</h2>
70+
<ol>
71+
<li>
72+
ALT + Click the Tailscale icon in the menu and hover over the Debug menu
73+
</li>
74+
<li>Under "Custom Login Server", select "Add Account..."</li>
75+
<li>
76+
Enter "{{.URL}}" of the headscale instance and press "Add Account"
77+
</li>
78+
<li>Follow the login procedure in the browser</li>
79+
</ol>
8580
<h2>Profiles</h2>
86-
<h3>macOS</h3>
8781
<p>
8882
Headscale can be set to the default server by installing a Headscale
8983
configuration profile:
@@ -121,50 +115,17 @@ <h3>macOS</h3>
121115
</li>
122116
</ul>
123117
<p>Restart Tailscale.app and log in.</p>
124-
<h1>headscale: iOS configuration</h1>
125-
<h2>Recent Tailscale versions (1.38.1 and higher)</h2>
118+
<h3>Caution</h3>
126119
<p>
127-
Tailscale 1.38.1 on
128-
<a href="https://apps.apple.com/app/tailscale/id1470499037">iOS</a>
129-
added a configuration option to allow user to set an "Alternate
130-
Coordination server". This can be used to connect to your headscale
131-
server.
120+
You should always download and inspect the profile before installing it:
132121
</p>
133-
<h3>GUI</h3>
134-
<ol>
135-
<li>
136-
Install the official Tailscale iOS client from the
137-
<a href="https://apps.apple.com/app/tailscale/id1470499037"
138-
>App store</a
139-
>
140-
</li>
141-
<li>
142-
Open Tailscale and make sure you are <i>not</i> logged in to any account
143-
</li>
144-
<li>Open Settings on the iOS device</li>
145-
<li>
146-
Scroll down to the "third party apps" section, under "Game Center" or
147-
"TV Provider"
148-
</li>
149-
<li>
150-
Find Tailscale and select it
151-
<ul>
152-
<li>
153-
If the iOS device was previously logged into Tailscale, switch the
154-
"Reset Keychain" toggle to "on"
155-
</li>
156-
</ul>
157-
</li>
158-
<li>Enter "{{.URL}}" under "Alternate Coordination Server URL"</li>
122+
<ul>
159123
<li>
160-
Restart the app by closing it from the iOS app switcher, open the app
161-
and select the regular sign in option <i>(non-SSO)</i>. It should open
162-
up to the headscale authentication page.
124+
for app store client: <code>curl {{.URL}}/apple/macos-app-store</code>
163125
</li>
164126
<li>
165-
Enter your credentials and log in. Headscale should now be working on
166-
your iOS device
127+
for standalone client: <code>curl {{.URL}}/apple/macos-standalone</code>
167128
</li>
168-
</ol>
129+
</ul>
169130
</body>
170131
</html>

integration/scenario_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
)
88

99
// This file is intended to "test the test framework", by proxy it will also test
10-
// some Headcsale/Tailscale stuff, but mostly in very simple ways.
10+
// some Headscale/Tailscale stuff, but mostly in very simple ways.
1111

1212
func IntegrationSkip(t *testing.T) {
1313
t.Helper()

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,5 +139,5 @@ nav:
139139
- Remote CLI: remote-cli.md
140140
- Usage:
141141
- Android: android-client.md
142+
- Apple: apple-client.md
142143
- Windows: windows-client.md
143-
- iOS: iOS-client.md

0 commit comments

Comments
 (0)