Skip to main content

Docker Installation

Docker is the recommended way to run SolidPing. It provides isolation, easy updates, and consistent behavior across environments.

Quick Start

With SQLite (Simplest)

For testing or small deployments, you can use SQLite as the database:

docker run -d \
--name solidping \
-p 4000:4000 \
-v solidping-data:/data \
-e SP_DB_TYPE=sqlite \
-e SP_DB_DIR=/data \
ghcr.io/fclairamb/solidping:latest

For production deployments, PostgreSQL is recommended:

docker run -d \
--name solidping \
-p 4000:4000 \
-e SP_DB_TYPE=postgres \
-e SP_DB_URL="postgresql://user:password@host:5432/solidping" \
ghcr.io/fclairamb/solidping:latest

Environment Variables

VariableDefaultDescription
SP_DB_TYPEsqliteDatabase type: postgres, sqlite, sqlite-memory
SP_DB_URL-PostgreSQL connection string (required if SP_DB_TYPE=postgres)
SP_DB_DIR.Directory for SQLite database file
SP_SERVER_LISTEN:4000Server listen address and port

Docker Compose Example

Create a docker-compose.yml file:

version: '3.8'

services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: solidping
POSTGRES_PASSWORD: solidping
POSTGRES_DB: solidping
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U solidping"]
interval: 5s
timeout: 5s
retries: 5

solidping:
image: ghcr.io/fclairamb/solidping:latest
ports:
- "4000:4000"
environment:
SP_DB_TYPE: postgres
SP_DB_URL: postgresql://solidping:solidping@postgres:5432/solidping?sslmode=disable
depends_on:
postgres:
condition: service_healthy

volumes:
postgres-data:

Start the services:

docker-compose up -d

Accessing the Dashboard

Once running, access the dashboard at http://localhost:4000.

Default credentials:

  • Email: admin@solidping.com
  • Password: solidpass
warning

Change the default credentials in production!

Updating

To update to the latest version:

docker pull ghcr.io/fclairamb/solidping:latest
docker stop solidping
docker rm solidping
# Run the docker run command again

Or with Docker Compose:

docker-compose pull
docker-compose up -d

Health Check

The server exposes a health check endpoint:

curl http://localhost:4000/api/mgmt/health

Next Steps