diff --git a/docs/Advanced Configuration/Other Customisations.md b/docs/Advanced Configuration/Other Customisations.md index 8d68f93..da565ca 100644 --- a/docs/Advanced Configuration/Other Customisations.md +++ b/docs/Advanced Configuration/Other Customisations.md @@ -1,6 +1,9 @@ --- sidebar_position: 13 --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Other Customisations Stirling PDF offers various other customisation options, such as: @@ -24,10 +27,29 @@ system: In configs/Settings.yml ### Using an outgoing HTTP(S) proxy -To make Stirling PDF use an outgoing proxy server (e.g. for checking the license validity), the `JAVA_CUSTOM_OPTS` environment variable need to be used to set some Java properties: -``` --Dhttp.proxyHost=proxyserver -Dhttp.proxyPort=8888 --Dhttp.nonProxyHosts="localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local" --Dhttps.proxyHost=proxyserver -Dhttps.proxyPort=888 --Dhttps.nonProxyHosts="localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local" -``` +To make Stirling PDF use an outgoing proxy server (e.g. for checking the license validity): + + + + ```bash + JAVA_CUSTOM_OPTS="-Dhttp.proxyHost=proxyserver -Dhttp.proxyPort=8888 -Dhttp.nonProxyHosts='localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local' -Dhttps.proxyHost=proxyserver -Dhttps.proxyPort=8888 -Dhttps.nonProxyHosts='localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local'" + ``` + + + ```bash + docker run -d \ + -p 8080:8080 \ + -e JAVA_CUSTOM_OPTS="-Dhttp.proxyHost=proxyserver -Dhttp.proxyPort=8888 -Dhttp.nonProxyHosts='localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local' -Dhttps.proxyHost=proxyserver -Dhttps.proxyPort=8888 -Dhttps.nonProxyHosts='localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local'" \ + stirlingtools/stirling-pdf:latest + ``` + + + ```yaml + services: + stirling-pdf: + image: stirlingtools/stirling-pdf:latest + environment: + JAVA_CUSTOM_OPTS: "-Dhttp.proxyHost=proxyserver -Dhttp.proxyPort=8888 -Dhttp.nonProxyHosts='localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local' -Dhttps.proxyHost=proxyserver -Dhttps.proxyPort=8888 -Dhttps.nonProxyHosts='localhost|127.0.0.1|127.0.1.1|127.0.0.0/8|::1|10.0.0.0/8|.svc|.cluster.local'" + ``` + + diff --git a/docs/Analytics-and-telemetry.md b/docs/Analytics-and-telemetry.md index 0ddaeb2..1e4fe2e 100644 --- a/docs/Analytics-and-telemetry.md +++ b/docs/Analytics-and-telemetry.md @@ -3,6 +3,8 @@ sidebar_position: 9 title: Analytics and Telemetry id: analytics-telemetry --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Analytics and Telemetry @@ -137,16 +139,27 @@ Analytics are governed by a **global master toggle**, **component toggles**, and Controls **all** analytics and whether a consent banner appears. -**Environment variable** -```bash -SYSTEM_ENABLEANALYTICS=false # true | false | (unset = null) -``` - -**settings.yml** -```yaml -system: - enableAnalytics: false # true | false | null (unset) -``` + + + ```yaml + system: + enableAnalytics: false # true | false | null (unset) + ``` + + + ```bash + SYSTEM_ENABLEANALYTICS=false # true | false | (unset = null) + ``` + + + ```yaml + services: + stirling-pdf: + environment: + SYSTEM_ENABLEANALYTICS: false + ``` + + **Behavior** - `false`: Disables **all** analytics (no consent banner; PostHog & Scarf are off). @@ -157,23 +170,37 @@ system: Use these to selectively enable/disable providers **in addition** to the global toggle. -**PostHog** -```bash -SYSTEM_ENABLEPOSTHOG=false -``` -```yaml -system: - enablePosthog: false # true | false | null -``` - -**Scarf tracking pixel** -```bash -SYSTEM_ENABLESCARF=false -``` -```yaml -system: - enableScarf: false # true | false | null -``` +**PostHog:** + + + + ```yaml + system: + enablePosthog: false # true | false | null + ``` + + + ```bash + SYSTEM_ENABLEPOSTHOG=false + ``` + + + +**Scarf tracking pixel:** + + + + ```yaml + system: + enableScarf: false # true | false | null + ``` + + + ```bash + SYSTEM_ENABLESCARF=false + ``` + + **Interaction** - If `enableAnalytics` is `false`, everything is off regardless of component toggles. @@ -201,25 +228,27 @@ When analytics are allowed globally (`system.enableAnalytics: true` or resolved If you want to disable **all** analytics and telemetry (and suppress any consent prompts) at once: -**Environment variable** -```bash -SYSTEM_ENABLEANALYTICS=false -``` - -**settings.yml** -```yaml -system: - enableAnalytics: false -``` - -**Docker Compose example** -```yaml -services: - stirling-pdf: - environment: - - SYSTEM_ENABLEANALYTICS=false - # ... other configuration -``` + + + ```yaml + system: + enableAnalytics: false + ``` + + + ```bash + SYSTEM_ENABLEANALYTICS=false + ``` + + + ```yaml + services: + stirling-pdf: + environment: + SYSTEM_ENABLEANALYTICS: false + ``` + + --- diff --git a/docs/Configuration/Configuration.md b/docs/Configuration/Configuration.md index b00f9d5..6558d30 100644 --- a/docs/Configuration/Configuration.md +++ b/docs/Configuration/Configuration.md @@ -4,6 +4,8 @@ slug: /Configuration title: Configuration Guide description: Configure Stirling-PDF using environment variables, settings files, or in-app settings --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Configuration Guide @@ -62,20 +64,45 @@ system: ### Authentication Enable user login: -```bash -SECURITY_ENABLELOGIN=true -SECURITY_INITIALLOGIN_USERNAME=admin -SECURITY_INITIALLOGIN_PASSWORD=changeme123 -``` + + + + ```yaml + security: + enableLogin: true + initialLogin: + username: admin + password: changeme123 + ``` + + + ```bash + SECURITY_ENABLELOGIN=true + SECURITY_INITIALLOGIN_USERNAME=admin + SECURITY_INITIALLOGIN_PASSWORD=changeme123 + ``` + + Default credentials: `admin` / `stirling` (change immediately after first login) ### Language & Localization -```bash -LANGS=en_GB # Available languages -SYSTEM_DEFAULTLOCALE=en-GB # Default language -``` + + + ```yaml + langs: en_GB + system: + defaultLocale: en-GB + ``` + + + ```bash + LANGS=en_GB # Available languages + SYSTEM_DEFAULTLOCALE=en-GB # Default language + ``` + + **How language selection works:** @@ -111,11 +138,26 @@ MODE=BOTH # Options: BOTH, FRONTEND, BACKEND ### File Upload Limits -```bash -SYSTEM_MAXFILESIZE=2000 # MB -SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE=2000MB -SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE=2000MB -``` + + + ```yaml + system: + maxFileSize: 2000 # MB + spring: + servlet: + multipart: + max-file-size: 2000MB + max-request-size: 2000MB + ``` + + + ```bash + SYSTEM_MAXFILESIZE=2000 # MB + SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE=2000MB + SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE=2000MB + ``` + + ### Memory Management diff --git a/docs/Configuration/Extra-Settings.md b/docs/Configuration/Extra-Settings.md index a64534c..4551381 100644 --- a/docs/Configuration/Extra-Settings.md +++ b/docs/Configuration/Extra-Settings.md @@ -2,6 +2,8 @@ sidebar_position: 12 title: Custom Settings Configuration --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Custom Settings Configuration @@ -48,16 +50,44 @@ server: Configure HTTPS for secure connections: -```yaml -server: - port: 8443 # Standard HTTPS port - ssl: - enabled: true - key-store: classpath:keystore.p12 # Path to keystore file - key-store-password: your-keystore-password - key-store-type: PKCS12 # Type of keystore - key-alias: tomcat # Alias of the certificate -``` + + + ```yaml + server: + port: 8443 # Standard HTTPS port + ssl: + enabled: true + key-store: classpath:keystore.p12 # Path to keystore file + key-store-password: your-keystore-password + key-store-type: PKCS12 # Type of keystore + key-alias: tomcat # Alias of the certificate + ``` + + + ```bash + SERVER_PORT=8443 + SERVER_SSL_ENABLED=true + SERVER_SSL_KEY-STORE=classpath:keystore.p12 + SERVER_SSL_KEY-STORE-PASSWORD=your-keystore-password + SERVER_SSL_KEY-STORE-TYPE=PKCS12 + SERVER_SSL_KEY-ALIAS=tomcat + ``` + + + ```yaml + services: + stirling-pdf: + image: stirlingtools/stirling-pdf:latest + environment: + SERVER_PORT: 8443 + SERVER_SSL_ENABLED: true + SERVER_SSL_KEY-STORE: classpath:keystore.p12 + SERVER_SSL_KEY-STORE-PASSWORD: your-keystore-password + SERVER_SSL_KEY-STORE-TYPE: PKCS12 + SERVER_SSL_KEY-ALIAS: tomcat + ``` + + ### Creating a Self-Signed Certificate diff --git a/docs/Configuration/Fail2Ban.md b/docs/Configuration/Fail2Ban.md index 464a91e..379ab26 100644 --- a/docs/Configuration/Fail2Ban.md +++ b/docs/Configuration/Fail2Ban.md @@ -17,12 +17,32 @@ Stirling-PDF logs failed authentication attempts to a log file which Fail2Ban mo ## Prerequisites - Fail2Ban installed on your system - Access to Stirling-PDF log directory -- Security settings configured in `/configs/settings.yml`: - ```yaml - security: - enableLogin: true # Login must be enabled for Fail2Ban integration - loginAttemptCount: -1 # Set to -1 when using Fail2Ban recommended but not required - ``` +- Security settings configured: + + + + ```yaml + security: + enableLogin: true # Login must be enabled for Fail2Ban integration + loginAttemptCount: -1 # Set to -1 when using Fail2Ban recommended but not required + ``` + + + ```bash + SECURITY_ENABLELOGIN=true + SECURITY_LOGINATTEMPTCOUNT=-1 + ``` + + + ```yaml + services: + stirling-pdf: + environment: + SECURITY_ENABLELOGIN: true + SECURITY_LOGINATTEMPTCOUNT: -1 + ``` + + ### Important Configuration Notes - The `enableLogin` setting must be set to `true` as Fail2Ban integration requires authentication to be active diff --git a/docs/Configuration/System and Security.md b/docs/Configuration/System and Security.md index 9a5e19f..2a195c5 100644 --- a/docs/Configuration/System and Security.md +++ b/docs/Configuration/System and Security.md @@ -10,17 +10,18 @@ Stirling PDF allows customization of system and security settings. For security ## Basic Security Settings -- `enableLogin`: Enables or disables the login functionality +- `enableLogin`: Enables or disables the login functionality (default: `true` as of V2.0+) - `csrfDisabled`: Set to 'true' to disable CSRF protection (not recommended for production) - `defaultLocale`: Set the default language (e.g. 'de-DE', 'fr-FR', etc) - `googlevisibility`: 'true' to allow Google visibility (via robots.txt), 'false' to disallow ## Authentication Setup +**Note:** Authentication is **enabled by default**. If you want to run Stirling-PDF without authentication, see the [Disabling Login](#disabling-login) section below. + ### Prerequisites 1. Ensure the `/configs` directory is mounted as a volume in Docker for persistence across updates 2. For Docker users: Set `DISABLE_ADDITIONAL_FEATURES=false` in environment variables -3. Enable login either via `settings.yml` or set `SECURITY_ENABLELOGIN=true` ### Initial Login Credentials - Default Username: `admin` @@ -56,6 +57,64 @@ When using the API: X-API-KEY: your-api-key-here ``` +## Disabling Login + +If you want to run Stirling-PDF without authentication (open access mode), you can disable the login functionality. + + + + ```yaml + security: + enableLogin: false + ``` + + + ```bash + SECURITY_ENABLELOGIN=false + ``` + + + ```bash + docker run -d \ + -p 8080:8080 \ + -e SECURITY_ENABLELOGIN=false \ + stirlingtools/stirling-pdf:latest + ``` + + + ```yaml + services: + stirling-pdf: + image: stirlingtools/stirling-pdf:latest + environment: + SECURITY_ENABLELOGIN: false + ``` + + + ```bash + java -jar Stirling-PDF.jar -DSECURITY_ENABLELOGIN=false + ``` + + + ```bash + export SECURITY_ENABLELOGIN=false + java -jar Stirling-PDF.jar + ``` + + + +### When to Disable Login + +**Consider disabling login if:** +- Running Stirling-PDF locally for personal use only +- Using it in a completely trusted network environment +- You don't need user management or access control + +**Keep login enabled if:** +- Running on a server accessible from the internet +- Multiple users need access with different permissions +- You need audit trails or usage tracking +- Running in a shared or business environment --- @@ -377,7 +436,7 @@ customFiles/ ```yaml security: - enableLogin: false # set to 'true' to enable login + enableLogin: true # Login enabled by default; set to 'false' to disable csrfDisabled: true jwt: persistence: true diff --git a/docs/Configuration/Usage Monitoring.md b/docs/Configuration/Usage Monitoring.md index 4aa2978..33b83c5 100644 --- a/docs/Configuration/Usage Monitoring.md +++ b/docs/Configuration/Usage Monitoring.md @@ -3,6 +3,8 @@ sidebar_position: 5 title: Usage Monitoring tags: [enterprise, management, feature, advanced feature] --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Usage Monitoring > **Tier**: Enterprise @@ -52,45 +54,65 @@ Stirling-PDF supports application metrics monitoring using Prometheus. This feat 2. Enterprise mode enabled in your configuration 3. Running with additional features enabled (DISABLE_ADDITIONAL_FEATURES=false) -### Settings - -Stirling-PDF can be configured to use Prometheus monitoring by setting the `JAVA_CUSTOM_OPTS` environment variable. The application uses this variable to add custom Java options at runtime. - -Set the following environment variable in your deployment environment: - -```bash -JAVA_CUSTOM_OPTS="-Dmanagement.endpoints.web.exposure.include=prometheus,health,info -Dmanagement.endpoint.health.show-details=always -Dmanagement.metrics.export.prometheus.enabled=true -Denterprisemanagement.metrics.enabled=true" -``` - -This configures: +### Configuration + +Configure Prometheus monitoring using your preferred method: + + + + Configure in your `/configs/custom_settings.yml` file: + + ```yaml + management: + endpoints: + web: + exposure: + include: prometheus,health,info + endpoint: + health: + show-details: always + metrics: + export: + prometheus: + enabled: true + enterprisemanagement: + metrics: + enabled: true + ``` + + + Set the `JAVA_CUSTOM_OPTS` environment variable: + + ```bash + JAVA_CUSTOM_OPTS="-Dmanagement.endpoints.web.exposure.include=prometheus,health,info -Dmanagement.endpoint.health.show-details=always -Dmanagement.metrics.export.prometheus.enabled=true -Denterprisemanagement.metrics.enabled=true" + ``` + + + ```bash + docker run -d \ + -p 8080:8080 \ + -e JAVA_CUSTOM_OPTS="-Dmanagement.endpoints.web.exposure.include=prometheus,health,info -Dmanagement.endpoint.health.show-details=always -Dmanagement.metrics.export.prometheus.enabled=true -Denterprisemanagement.metrics.enabled=true" \ + stirlingtools/stirling-pdf:latest + ``` + + + ```yaml + services: + stirling-pdf: + image: stirlingtools/stirling-pdf:latest + environment: + JAVA_CUSTOM_OPTS: "-Dmanagement.endpoints.web.exposure.include=prometheus,health,info -Dmanagement.endpoint.health.show-details=always -Dmanagement.metrics.export.prometheus.enabled=true -Denterprisemanagement.metrics.enabled=true" + ``` + + + +**What this configures:** - Prometheus metrics endpoint exposure - Health and info endpoints for basic monitoring - Detailed health information - Prometheus metrics export - Enterprise metrics collection -### Configuration in custom_settings.yml - -Alternatively, you can configure these settings in your `/configs/custom_settings.yml` file: - -```yaml -management: - endpoints: - web: - exposure: - include: prometheus,health,info - endpoint: - health: - show-details: always - metrics: - export: - prometheus: - enabled: true -enterprisemanagement: - metrics: - enabled: true -``` - ### Accessing Metrics Once configured, Prometheus metrics are available at the following endpoint: diff --git a/docs/FAQ.md b/docs/FAQ.md index e7ba66e..f52bfc2 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -2,6 +2,9 @@ sidebar_position: 8 title: FAQ --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Frequently Asked Questions ### Q1: Why are .htm files being downloaded when I use the application? @@ -44,3 +47,56 @@ No, we track no data without your explicit consent. You can see how, when, and w Uploads go to the server or desktop instance you're using, not to Stirling servers. The macOS/Windows desktop apps process files locally—even when you pick the Stirling Cloud sign-in today—so your PDFs stay on your device unless you point the app to a remote self-hosted server. Planned SaaS-assisted features (for desktop app) will be opt-in when they arrive. +### Q10: What is the difference between Stirling-PDF.jar and Stirling-PDF-server.jar? + +**Stirling-PDF.jar** (Full Package): +- Bundles the frontend user interface inside the JAR along with the backend server +- Complete standalone application - download and run +- Use this for standard deployments + +**Stirling-PDF-server.jar** (Backend Only - **Advanced**): +- Contains only the backend server (no bundled frontend UI) +- Use this for API access, desktop app integration, or when hosting the frontend separately + +Both JAR files include the same backend functionality. The main difference is whether the frontend is bundled with the backend or needs to be hosted separately. + +### Q11: How do I disable login/authentication? + +Authentication is enabled by default in Stirling-PDF. To disable it: + + + + ```yaml + security: + enableLogin: false + ``` + + + ```bash + docker run -d \ + -p 8080:8080 \ + -e SECURITY_ENABLELOGIN=false \ + stirlingtools/stirling-pdf:latest + ``` + + + ```yaml + environment: + SECURITY_ENABLELOGIN: false + ``` + + + ```bash + java -jar Stirling-PDF.jar -DSECURITY_ENABLELOGIN=false + ``` + + + ```bash + export SECURITY_ENABLELOGIN=false + java -jar Stirling-PDF.jar + ``` + + + +For more details, see the [System and Security Configuration](./Configuration/System%20and%20Security.md#disabling-login) documentation. + diff --git a/docs/Installation/Mac.md b/docs/Installation/Mac.md index dfc817f..e43499e 100644 --- a/docs/Installation/Mac.md +++ b/docs/Installation/Mac.md @@ -101,9 +101,25 @@ brew install openjdk@21 export PATH="/usr/local/opt/openjdk@21/bin:$PATH" ``` +### JAR Downloads + +Stirling-PDF comes in two different JAR files: + +**Stirling-PDF.jar** (Full Package - Recommended): +- Download: [Stirling-PDF.jar](https://files.stirlingpdf.com/Stirling-PDF.jar) +- Bundles frontend UI + backend server in one file +- Complete standalone application - download and run + +**Stirling-PDF-server.jar** (Backend Only - **Advanced**): +- Download: [Stirling-PDF-server.jar](https://files.stirlingpdf.com/Stirling-PDF-server.jar) +- Backend server only (no bundled UI) +- For API access, desktop app, or when hosting the frontend separately + +**Note:** Login/authentication is enabled by default. You can disable it by setting `SECURITY_ENABLELOGIN=false` as an environment variable. See [FAQ Q11](../FAQ.md#q11-how-do-i-disable-loginauthentication) for details. + ### Running the Server -1. **Download the JAR file**: [Stirling-PDF.jar](https://files.stirlingpdf.com/Stirling-PDF.jar) +1. **Download your preferred JAR file** (see above) 2. **Open Terminal** and navigate to the download folder: ```bash diff --git a/docs/Installation/Unix.md b/docs/Installation/Unix.md index 31eb75f..73aa1fb 100644 --- a/docs/Installation/Unix.md +++ b/docs/Installation/Unix.md @@ -134,9 +134,21 @@ Install the following software: ### Step 4: Grab latest Stirling-PDF Jar -The JAR can be downloaded in two versions, [normal](https://files.stirlingpdf.com/Stirling-PDF.jar) and [security](https://files.stirlingpdf.com/Stirling-PDF-with-login.jar) +Stirling-PDF comes in two different JAR files: -Example for the "normal" version +**Stirling-PDF.jar** (Full Package - Recommended): +- Bundles frontend UI + backend server in one file +- Complete standalone application - download and run +- Download: [Stirling-PDF.jar](https://files.stirlingpdf.com/Stirling-PDF.jar) + +**Stirling-PDF-server.jar** (Backend Only - **Advanced**): +- Backend server only (no bundled UI) +- For API access, desktop app, or when hosting the frontend separately +- Download: [Stirling-PDF-server.jar](https://files.stirlingpdf.com/Stirling-PDF-server.jar) + +**Note:** Login/authentication is enabled by default. You can disable it by setting `SECURITY_ENABLELOGIN=false` as an environment variable. See [FAQ Q11](../FAQ.md#q11-how-do-i-disable-loginauthentication) for details. + +Example download and setup: ```bash sudo wget https://files.stirlingpdf.com/Stirling-PDF.jar diff --git a/docs/Installation/Windows.md b/docs/Installation/Windows.md index 28952fc..39fdce6 100644 --- a/docs/Installation/Windows.md +++ b/docs/Installation/Windows.md @@ -56,23 +56,30 @@ Want to host Stirling-PDF on a Windows server for multiple users? Use the server ### Server Downloads -**Without Login (Open Access):** +Stirling-PDF comes in two different JAR files: + +**Stirling-PDF.jar** (Full Package - Recommended): - Download: [Stirling-PDF.jar](https://files.stirlingpdf.com/Stirling-PDF.jar) -- Anyone on your network can access it -- No user accounts needed +- Bundles frontend UI + backend server in one file +- Complete standalone application - download and run -**With Login (User Management):** -- Download: [Stirling-PDF-with-login.jar](https://files.stirlingpdf.com/Stirling-PDF-with-login.jar) -- Requires user accounts to access -- Better for shared/business environments +**Stirling-PDF-server.jar** (Backend Only - **Advanced**): +- Download: [Stirling-PDF-server.jar](https://files.stirlingpdf.com/Stirling-PDF-server.jar) +- Backend server only (no bundled UI) +- For API access, desktop app, or when hosting the frontend separately **Required:** [Java JDK 21](https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe) - Server versions need Java installed +**Note:** Login/authentication is enabled by default in both versions. You can disable it by setting `SECURITY_ENABLELOGIN=false` as an environment variable. See [FAQ Q11](../FAQ.md#q11-how-do-i-disable-loginauthentication) for details. + ### Server Installation Steps 1. **Install Java JDK 21** from the link above -2. **Download** your preferred server version -3. **Run the .exe file** +2. **Download** your preferred JAR file +3. **Run the JAR file:** + ```bash + java -jar Stirling-PDF.jar + ``` 4. **Access** via browser at `http://localhost:8080` 5. **Share the URL** with users on your network (e.g., `http://your-server-ip:8080`)