Quick Start¶
This guide will walk you through the fastest way to get the DashPad-Web interface up and running using Docker Compose on your local server.
Prerequisites¶
Before you begin, please ensure you have the following:
-
Docker and Docker Compose: You must have a working installation of Docker (and ideally Docker Compose) on your system.
-
A Running DashPad-API Instance: This guide assumes you have at least one
DashPad-API
container running and accessible on your network.
Is DashPad-API Running?
If you haven't set up or started at least one instance of DashPad-API
yet, please follow the DashPad-API documentation before continuing. Ensure it is reachable from the environment hosting DashPad-Web.
Step 1: Create the Docker Compose File¶
Oreate a new file named docker-compose.yml
and paste the following content into it. This file defines the DashPad-Web service and all the necessary configurations.
# TODO: Update the image URL below once it is published on GitHub.
# For now, this assumes you have built the image locally.
version: '3.8'
services:
dashpad-web:
image: dashpad-web:latest
container_name: dashpad-web
ports:
- "5240:5240"
# TODO: Update port numbers
# The 'volumes' section maps a host directory to a directory inside the container.
# It is highly recommended for performance, as it caches SSL certificates.
volumes:
- ./dashpad-web:/data
environment:
# --- Web Interface Authentication ---
- AUTH_USERNAME=username
- AUTH_PASSWORD=password
# --- API Server Configuration ---
- SERVER1_NAME=my-server
- SERVER1_URL=https://<REPLACE_WITH_API_IP>:<REPLACE_WITH_API_PORT>
- SERVER1_KEY=<REPLACE_WITH_YOUR_64_CHARACTER_API_KEY>
# To add more servers, copy the three lines above and increment the number.
# For example, for a second server, you would add:
# - SERVER2_NAME=another-server
# - SERVER2_URL=https://<IP_OF_SECOND_SERVER>:<PORT>
# - SERVER2_KEY=<API_KEY_FOR_SECOND_SERVER>
# --- Security Settings for Quick Start ---
# TODO: This variable is used to bypass a buggy SSL fingerprinting feature.
# The underlying bugs should be addressed in a future version.
- SKIP_SSL_FINGERPRINT_VERIFICATION=true
restart: unless-stopped
# TODO: Update the image URL below once it is published on GitHub.
# For now, this assumes you have built the image locally.
version: '3.8'
services:
dashpad-web:
image: dashpad-web:latest
container_name: dashpad-web
ports:
- "5240:5240"
# TODO: Update port numbers
# The 'volumes' section maps a host directory to a directory inside the container.
# It is highly recommended for performance, as it caches SSL certificates.
volumes:
- /mnt/user/appdata/dashpad-web:/data
environment:
# --- Web Interface Authentication ---
- AUTH_USERNAME=username
- AUTH_PASSWORD=password
# --- API Server Configuration ---
- SERVER1_NAME=my-server
- SERVER1_URL=https://<REPLACE_WITH_API_IP>:<REPLACE_WITH_API_PORT>
- SERVER1_KEY=<REPLACE_WITH_YOUR_64_CHARACTER_API_KEY>
# To add more servers, copy the three lines above and increment the number.
# For example, for a second server, you would add:
# - SERVER2_NAME=another-server
# - SERVER2_URL=https://<IP_OF_SECOND_SERVER>:<PORT>
# - SERVER2_KEY=<API_KEY_FOR_SECOND_SERVER>
# --- Security Settings for Quick Start ---
# TODO: This variable is used to bypass a buggy SSL fingerprinting feature.
# The underlying bugs should be addressed in a future version.
- SKIP_SSL_FINGERPRINT_VERIFICATION=true
restart: unless-stopped
Step 2: Configure Your Server¶
While you may want to configure the SERVER1_NAME
variable, you only need to change two lines in the environment
section of the docker-compose.yml
file you just created:
-
SERVER1_URL
: Replace<REPLACE_WITH_API_IP>:<REPLACE_WITH_API_PORT>
with the actual HTTPS URL of your runningDashPad-API
instance. -
SERVER1_KEY
: Replace<REPLACE_WITH_YOUR_64_CHARACTER_API_KEY>
with the API key provided by yourDashPad-API
container.
Persistent vs. Ephemeral Storage
The volumes section in the docker-compose.yml is recommended but optional.
With a volume (Recommended): SSL certificates from your API servers are cached in the dashpad-web directory. This makes container restarts much faster.
Without a volume: The container will run in "ephemeral mode" and re-download all certificates on every restart. You will see a warning in the DashPad-Web container logs if this happens.
Security Notice: SSL Verification
For this quick start, we are setting SKIP_SSL_FINGERPRINT_VERIFICATION
to true
. This simplifies the initial setup but is not recommended for production.
Once your dashboard is running, you should disable this option and provide the correct SERVER1_SSLFINGERPRINT
for each server to ensure you are connecting to the correct, trusted API endpoint.
Step 3: Launch the Container¶
Save the changes to your docker-compose.yml
file. Now, open a terminal in the same directory and run the following command:
docker compose up -d
Docker will now pull (or use the local) image, create the container, and start the DashPad-Web service in the background. If you included the volumes section, it will also create a dashpad-web directory in the same folder to store SSL certificate data.
Step 4: Access Your Dashboard¶
Once the container is running, open your web browser and navigate to:
http://<your_docker_host_ip>:5240
You will be prompted for a username and password. Use the credentials you specified in the docker-compose.yml
file.
You should now see the DashPad dashboard, and it will begin populating with data from your API server!
Next Steps¶
This guide covers the most basic setup. To learn about all the available environment variables, including how to add more servers, configure HTTPS, and enable proper SSL fingerprinting, please see the full Configuration Guide.