+3
-2
.gitignore
+3
-2
.gitignore
+31
-5
README.md
+31
-5
README.md
···
2
2
3
3
Code and configuration to create a network-local development environment. It uses tailscale and can be used to have shared isolated infrastructure that can be used to support individuals and teams.
4
4
5
-
## Configuration
5
+
***Note***: When developing against this network-local development environment using the configured nameserver and PLC instance, you will not be able to mix pyroclastic.cloud identities and external identities unless you take steps to resolve against ***both*** the local PLC instance (`https://plc.internal.ts.net`) as well as `https://plc.directory`.
6
+
7
+
## Requirements
6
8
9
+
* Docker Compose
10
+
* Tailscale
11
+
* DNS enabled
12
+
* HTTPS enabled
13
+
* The name of your tailnet (i.e. `sneaky-fox.ts.net`)
7
14
8
15
## Operation
9
16
10
-
1. Configure and start the PLC service. See plc/README.md
17
+
1. Clone this repository
11
18
12
-
2. Configure and start the PDS service. See pds/README.md
19
+
2. Configure and start the PLC service. See plc/README.md
13
20
14
-
3. Configure and start the DNS service. See dns/README.md
21
+
3. Configure and start the PDS service. See pds/README.md
15
22
16
-
4. Configure split-DNS in Tailscale.
23
+
4. Configure and start the DNS service. See dns/README.md
24
+
25
+
5. Configure split-DNS in Tailscale.
17
26
18
27
1. Visit https://tailscale.com/
19
28
2. Go to the Machines tab and get the internal IP address of `didadmin`
20
29
2. Go to the DNS configuration page
21
30
3. Add a nameserver and select "Custom"
22
31
4. Enter the IP address of the `didadmin`, select "Restrict to domain (Split DNS)", and set the domain to "pyroclastic.cloud"
32
+
33
+
## Usage
34
+
35
+
The following services are now available:
36
+
37
+
* PLC - https://plc.internal.ts.net
38
+
* PDS - https://pds.internal.ts.net
39
+
* DNS - didadmin.internal.ts.net:53
40
+
* didadmin - https://didadmin.internal.ts.net
41
+
* maildev - http://pds.internal.ts.net:1080
42
+
43
+
When configuration applications for local/local-network development, use the following configuration:
44
+
45
+
```
46
+
NAMESERVERS=100.100.100.100
47
+
PLC_HOSTNAME=https://plc.internal.ts.net
48
+
```
23
49
24
50
## Maintenance
25
51
+4
-3
dns/README.md
+4
-3
dns/README.md
···
7
7
8
8
## Configuration
9
9
10
-
This service makes API calls to the local PDS and also exists on a tailscale network. Please make note of any `PLACEHOLDER` and `OPTIONAL` strings in the following files:
10
+
This service makes API calls to the local PDS and also exists on a tailscale network.
11
11
12
-
In `./docker-compose.yml`:
12
+
Copy `docker-compose.example.yml` to `docker-compose.yml` and make the following changes:
13
13
14
14
* Set the `PDS_ADMIN_PASSWORD` environment variable to your PDS admin password.
15
15
* Set the `PDS_HOSTNAME` to the internal hostname of your PDS. (i.e. `pds.sneaky-fox.ts.net`)
16
16
* Optionally, if you are not using the `pyroclastic.cloud` domain (it's fine to leave this as-is) then change that.
17
+
* Optional, set the `TS_AUTHKEY` if you are using one.
17
18
18
19
## Operation
19
20
···
25
26
26
27
`docekr compose up tailscale -d`
27
28
28
-
If you are using dynamic node registration, you'll need to view the logs and click on the link.
29
+
If you are using dynamic machine authentication, you'll need to view the logs and click on the link.
29
30
30
31
`docker compose logs tailscale`
31
32
dns/docker-compose.yml
dns/docker-compose.example.yml
dns/docker-compose.yml
dns/docker-compose.example.yml
+5
-1
pds/README.md
+5
-1
pds/README.md
···
14
14
* `PDS_DID_PLC_URL` value updated to relflect your internal tailnet
15
15
* Optionally, if you are not using the `pyroclastic.cloud` domain (it's fine to leave this as-is) then change that.
16
16
17
+
Copy `docker-compose.example.yml` to `docker-compose.yml` and make the following changes:
18
+
19
+
* Optional, set the `TS_AUTHKEY` if you are using one.
20
+
17
21
## Operation
18
22
19
23
1. Create the configuration file and update it accordingly.
···
22
26
23
27
`docekr compose up tailscale -d`
24
28
25
-
If you are using dynamic node registration, you'll need to view the logs and click on the link.
29
+
If you are using dynamic machine authentication, you'll need to view the logs and click on the link.
26
30
27
31
`docker compose logs tailscale`
28
32
pds/docker-compose.yml
pds/docker-compose.example.yml
pds/docker-compose.yml
pds/docker-compose.example.yml
+9
-1
plc/README.md
+9
-1
plc/README.md
···
1
1
# PLC
2
2
3
+
## Configuration
4
+
5
+
Copy `docker-compose.example.yml` to `docker-compose.yml` and make the following changes:
6
+
7
+
* Optional, set the `TS_AUTHKEY` if you are using one.
8
+
9
+
## Operation
10
+
3
11
To start a PLC server, you must build a container from the PLC repository.
4
12
5
13
1. First, clone https://github.com/did-method-plc/did-method-plc
···
14
22
15
23
`docekr compose up tailscale -d`
16
24
17
-
If you are using dynamic node registration, you'll need to view the logs and click on the link.
25
+
If you are using dynamic machine authentication, you'll need to view the logs and click on the link.
18
26
19
27
`docker compose logs tailscale`
20
28
plc/docker-compose.yml
plc/docker-compose.example.yml
plc/docker-compose.yml
plc/docker-compose.example.yml