Dashboard Overview
The Stackpad dashboard at app.stackpad.eu is where you manage everything: projects, services, deployments, domains, logs, and your team.
Projects list
The home screen shows all projects in your organization. Each project card shows the project name, service count, latest deployment status, and when it was last deployed.
Click any project to open its detail view.
Creating a new project
Click New Project in the top right. You have three options:
- Import from GitHub — connect a repo for automatic deploys on every push
- Start from template — deploy a pre-configured stack (like Next.js + PostgreSQL, Supabase, or n8n)
- Empty project — start blank and add services manually
For GitHub imports, you’ll walk through a flow where you pick your repo, select a branch, and optionally add databases or caches. Stackpad detects your framework automatically and configures everything.
Project view
Inside a project, the main view shows:
- Resource summary at the top — total vCPU, RAM, and service count
- Environment tabs — switch between production, staging, and preview environments
- Service topology — a visual graph of how services connect (on desktop) or a list (on mobile)
- Recent deployments — the last 3 deployments for the active environment
Service topology
The topology view is fully interactive:
- Drag and drop — rearrange service nodes by dragging them to where you want
- Environment variable flow — see which services are connected through env vars with visual connection lines
- Auto-layout — the graph arranges itself optimally using the dagre layout engine
- Zoom and pan — navigate large stacks with many services
- Image version badges — see which version each service is running, with update indicators
The topology gives you a visual understanding of your project architecture at a glance.
Environments
Each project has at least one environment (production). You can add more:
- Click Add Environment
- Select a branch (Stackpad auto-detects your GitHub branches)
- Optionally name it (defaults to the branch name)
- Toggle Build feature branches to automatically deploy unmatched branches as previews
Each environment gets its own services, network, and URL. Services in different environments are fully isolated.
Service catalog
Add services to your project from a searchable catalog of 23+ services:
-
Open your project and click Add Service
-
Browse or search the catalog. Services include databases (PostgreSQL, MySQL, MariaDB, MongoDB), caches (Redis, Valkey), tools (n8n, Metabase, Plausible, Umami, Directus, Ghost, Gitea, Paperless-ngx, Uptime Kuma), infrastructure (PgBouncer, Meilisearch, Object Storage), and GPU services (vLLM, Embeddings, Whisper)
-
Select a service — you’ll see its details and any required configuration fields
-
Fill in the configuration:
- Custom name (optional) — override the default service name
- Template inputs — any required fields like model selection or configuration options
-
Click Add to confirm. The service is created and appears in your project topology.
Automatic connection wiring: When you add a database or cache, your web services automatically get the connection string injected as an environment variable (e.g. DATABASE_URL). No copy-pasting needed — it works bidirectionally.
For multi-service templates (like Supabase or n8n), an info box shows all the services that will be created. They’re all added at once with pre-configured connections.
Service detail page
Click any service to open its detail page. The header shows the service name, status (Running/Stopped), type, and framework. From here you can Redeploy or Delete the service.
The service detail page has five tabs:
Overview
Shows real-time stats when the service is running (CPU, memory, uptime) and the service configuration:
- Type — web, database, cache, service, or GPU
- Source — Git repository URL or Docker image (with version)
- Branch — deployment branch
- Framework — auto-detected framework
- Resources — memory and CPU allocation
- Port — the port the service listens on
- URL — the public URL (for web services)
- Image version — for Docker-based services, the current version with an update indicator if a newer version is available
Deployments
A chronological list of all deployments for this service. Each deployment shows:
| Field | Description |
|---|---|
| Commit message | The git commit that triggered the deploy |
| Status | Queued, Building, Deploying, Ready, Failed, or Stopped |
| Branch | The branch that was deployed |
| Time | When the deployment started |
Click a deployment to view its build logs — a scrollable, auto-updating log viewer showing the full build output.
Logs
A real-time log viewer for the running service. Logs update automatically every 2 seconds with:
- Timestamp — when the log was emitted
- Level — color-coded badge (debug, info, warn, error)
- Source — the service that produced the log
- Message — the log content
You can filter by log level (debug, info, warn, error) and the viewer auto-scrolls to show new logs as they arrive.
Environment variables
Service-level environment variables that override project-level variables with the same key. You can:
- Add individual variables — enter a key and value (values are masked)
- Paste a
.envfile — bulk import with automatic duplicate detection - Delete variables — click the trash icon next to any variable
Auto-injected variables (like DATABASE_URL) are shown with a lock icon and can’t be edited.
Scaling
For web and service types, configure horizontal scaling:
- Replica count — run 1–10 instances
- Geo-spread — distribute replicas across EU datacenters
- Live replica status — see which replicas are running on which nodes
Cron Jobs
Schedule recurring tasks from the service detail page:
- HTTP or command triggers — hit an endpoint or run a shell command on a schedule
- Run history — see status, duration, and output of each execution
- Manual trigger — run a job immediately outside its schedule
Shell
Open a web shell to debug your running container — a full terminal in your browser.
Settings
- Protected service — restrict access to team members only. When enabled, Stackpad verifies that visitors are logged in and part of your organization before allowing access. Useful for admin panels, dashboards, and internal tools
- Public access toggle — make the service accessible externally (for databases: TLS-encrypted connections on standard ports with full connection strings)
- Scale to zero — per-service sleep/wake override
- Danger zone — delete the service with confirmation
Image updates
For services running Docker images (databases, caches, tools), Stackpad tracks the image version. When a newer version is available:
- A badge appears on the service in the topology view
- Go to the service overview tab
- Click Update to pull the new version
- The service redeploys with the updated image
Project-level pages
Beyond the main project view, there are several project-level management pages accessible from the sidebar.
Deployments
The full deployment history across all environments, with grouped deployments showing multi-service deploys as a single unit. Filter by status (Ready, Building, Deploying, Queued, Failed, Stopped) to find specific deployments.
Usage
Resource consumption overview:
- Per-project — see which services use the most CPU and memory
- Per-organization — total resource usage across all projects
Available from both the project settings and organization settings.
Logs
Project-level log viewer showing logs from all services. Filter by:
- Service — narrow down to a specific service
- Log level — show only errors, warnings, etc.
The log viewer shows a connection indicator (green dot = connected) and the total number of log entries.
Domains
Manage custom domains for your web services. The domains page is organized by environment and shows:
- Platform URL — the auto-generated
service.org.stackpad.euURL - Custom domains — any domains you’ve added
- Add domain form — enter a domain and optionally configure it as a redirect
After adding a domain, Stackpad shows the DNS configuration you need to set:
| Type | Name | Value |
|---|---|---|
| CNAME | your-subdomain | project.org.stackpad.eu |
Environment variables
Project-level environment variables shared across all services. Use the scope tabs to switch between:
- All environments — project-wide variables
- Per environment — environment-specific overrides
The form supports both individual key-value entry and bulk .env paste.
Settings
- Project name — rename your project
- Feature branches — toggle automatic preview deploys for unmatched branches
- Danger zone — delete the entire project (stops all containers and removes all data)
Organization settings
Access organization settings from the sidebar to manage:
Plan
View your current plan limits:
- Max projects, services per project
- RAM and CPU per service
- Database storage
- Custom domains
- Log retention
GitHub
Connect or reconnect your GitHub account. The connection status is shown with a green or red indicator. Reconnect to update repository permissions if you can’t find a repo.
Team members
Manage your team:
- View members with their roles (Owner, Admin, Member)
- Invite new members by email with a role selection
- Remove members (except the owner)
| Role | Can view | Can deploy & manage | Can manage members | Can manage billing |
|---|---|---|---|---|
| Member | Yes | No (view-only) | No | No |
| Admin | Yes | Yes | Yes | No |
| Owner | Yes | Yes | Yes | Yes |
What’s next?
- Git push deploy — understand the deployment pipeline
- Environment variables — manage secrets and configuration
- Logging — view and search real-time logs
- Custom domains — connect your own domain