> For the complete documentation index, see [llms.txt](https://docs.inrupt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inrupt.com/ess/latest/installation/customize-configurations/customization-start-apps/use-custom-start-app.md).

# Use a Custom Start Application

ESS includes a default start application that allows users to sign up or login with the Identity Provider. You can replace the default start application with a [custom start application](/ess/latest/services/service-start.md#ess-start-application). [ESS’ WebID service](/ess/latest/services/service-webid.md#webid-profile-document-endpoints) and [ESS’ Pod provision service](/ess/latest/services/service-pod-management/service-pod-provision.md#create-a-new-pod) provide various endpoints that can be used by start applications to create a WebID and a Pod for a user.

To use a custom start application, update the following configuration with your application’s [Solid-OIDC Client ID](/security/authentication.md#client-identifier-client-id) (e.g., **`https://myStart.example.com/appid/id`** ):

* [**`QUARKUS_OIDC_CLIENT_ID`**](/ess/latest/services/service-start.md#quarkus_oidc_client_id) configuration for the Start service and
* [**`INRUPT_START_CLIENT_ID`**](/ess/latest/services/service-webid.md#inrupt_start_client_id) and [**`INRUPT_WEBID_ALLOWED_CLIENT_IDS`**](/ess/latest/services/service-webid.md#inrupt_webid_allowed_client_ids) configuration for the WebID service.

### Example Customization

The following example assumes a custom start application with the [Solid-OIDC Client ID](/security/authentication.md#client-identifier-client-id) value **`https://myStart.example.com/appid/id`** . To use this application, instead of the default start app, update the following configuration options:

* For the Start service:
  * [**`QUARKUS_OIDC_CLIENT_ID`**](/ess/latest/services/service-start.md#quarkus_oidc_client_id)
* For the WebID service:
  * [**`INRUPT_START_CLIENT_ID`**](/ess/latest/services/service-webid.md#inrupt_start_client_id)
  * [**`INRUPT_WEBID_ALLOWED_CLIENT_IDS`**](/ess/latest/services/service-webid.md#inrupt_webid_allowed_client_ids)

1. Go to your ESS installation directory:

   ```sh
   cd ${HOME}/ess
   ```
2. Create a **`start-app.yaml`** file with the following content:

   ```yaml
   apiVersion: apps/v1
   kind: Deployment
   metadata:
     name: ess-start
   spec:
     template:
       spec:
         containers:
         - env:
           - name: QUARKUS_OIDC_CLIENT_ID
             value: https://mystart.example.com/appid/id
           name: ess-start
   ```
3. Create a **`webid-service-start-app-conf.yaml`** file with the following content:

   ```yaml
   apiVersion: apps/v1
   kind: Deployment
   metadata:
     name: ess-webid
   spec:
     template:
       spec:
         containers:
         - env:
           - name: INRUPT_START_CLIENT_ID
             value: https://mystart.example.com/appid/id
           - name: INRUPT_WEBID_ALLOWED_CLIENT_IDS
             value: $(INRUPT_WEBID_CLIENT_ID),$(INRUPT_START_CLIENT_ID)
           name: ess-webid
   ```
4. Modify the **`kustomization.yaml`** (i.e., step 3 of the [Applying Your Customizations](/ess/latest/installation/customize-configurations.md) procedure) to use **`start-app.yaml`** and **`webid-service-start-app-conf.yaml`**.\
   \
   Specifically, add the highlighted content to the **`kustomization.yaml`** file to the **`patches`** section:

{% hint style="info" %}
**Tip**\
If the **`patches`** key does not exist in **`kustomization.yaml`** , add the **`patches`** key as well.
{% endhint %}

<pre class="language-yaml"><code class="lang-yaml"># kustomization.yaml in your ESS installation directory

# ...  Preceding content omitted for brevity 
# ...

patches:
<strong>  - path: start-app.yaml
</strong><strong>  - path: webid-service-start-app-conf.yaml
</strong></code></pre>

5. Continue with the rest of the [Applying Your Customizations](/ess/latest/installation/customize-configurations.md) procedure.
