Skip to main content
This guide covers common issues you may encounter when running a self-hosted Stormkit instance and their solutions.

Installation Issues

Docker Not Found

Problem: Installation script fails with “docker: command not found”. Solution:
1

Install Docker

Follow the official Docker installation guide for your platform:
2

Verify Installation

3

Retry Installation

Permission Denied Errors

Problem: Docker commands fail with “permission denied” errors. Solution:
On Linux, you may need to log out and log back in for group membership changes to take effect.

Database Issues

Database Connection Failed

Problem: Services fail to start with “connection refused” or “database does not exist” errors. Solution:
1

Check Database Service

Ensure the database container shows as “Up” or “running”.
2

Check Database Logs

Look for initialization errors or authentication failures.
3

Verify Environment Variables

.env
Ensure all PostgreSQL variables are set correctly.
4

Restart Services

Database Migration Errors

Problem: Services fail with “migration failed” or “table does not exist” errors. Solution:
Removing the database volume will delete all data. Only do this for fresh installations or if you have a backup.

Redis Issues

Redis Connection Failed

Problem: Services log “redis: connection refused” errors. Solution:
1

Check Redis Service

2

Verify Redis Address

.env
For Docker Compose, use the service name redis (not localhost).
3

Test Redis Connection

4

Restart Redis

API and Web Interface Issues

API Endpoints Return 500 Errors

Problem: When accessing the application, API endpoints like /api/auth/providers and /api/instance return 500 Internal Server Error. Solution: This is typically caused by DNS resolution issues with api.localhost.
On Windows, you need to open Notepad (or any text editor) with administrative privileges to edit the hosts file.

Cannot Access Web Interface

Problem: Browser shows “connection refused” when accessing Stormkit. Solution:
1

Verify Services Running

All services should show as “Up”.
2

Check Port Bindings

Verify ports 80 and 443 are mapped correctly.
3

Check Firewall

Ensure your firewall allows incoming connections on ports 80 and 443.
4

Verify URL Configuration

.env
Ensure these match your actual domain.

HTTPS/TLS Certificate Errors

Problem: Browser shows SSL/TLS certificate warnings. Solution:
1

Configure ACME Email

.env
This enables automatic Let’s Encrypt certificates.
2

Verify Domain DNS

Ensure your domain points to your server’s IP:
3

Restart Hosting Service

4

Check Certificate Logs

Let’s Encrypt requires your domain to be publicly accessible on port 80 for the HTTP-01 challenge.

Authentication Issues

GitHub App Creation Failed

Problem: Creating a GitHub App from the admin interface fails. Solution:
1

Verify Callback URL

Ensure STORMKIT_APP_URL is set correctly and accessible from the internet.
2

Check GitHub API Access

Verify your server can reach GitHub’s API.
3

Review Error Logs

OAuth Redirect Mismatch

Problem: Git provider authentication fails with “redirect_uri_mismatch” error. Solution:
  1. Verify redirect URI in your Git provider OAuth app settings matches exactly:
    • GitHub: https://yourdomain.com/auth/github/callback
    • GitLab: https://yourdomain.com/auth/gitlab/callback
    • Bitbucket: https://yourdomain.com/auth/bitbucket/callback
  2. Check STORMKIT_APP_URL in .env file matches your domain
  3. Ensure HTTPS is enabled if using a custom domain:
    .env

Deployment Issues

Deployments Fail or Hang

Problem: Deployments remain in “pending” state or fail immediately. Solution:
1

Check Workerserver Service

2

Verify Runner Concurrency

.env
Ensure this value is appropriate for your server’s resources.
3

Check Disk Space

Ensure sufficient disk space for builds.
4

Review Build Logs

Check the deployment logs in the Stormkit UI for specific error messages.

Runtime Installation Fails

Problem: Deployments fail with “runtime not found” or “mise installation failed”. Solution:
1

Check Internet Connectivity

Workerserver needs internet access to download runtimes.
2

Verify Runtime Configuration

Go to Admin > System > Installed runtimes and ensure required runtimes are listed.
3

Enable Auto Install

In runtime settings, toggle Auto install on to automatically install runtimes from version files.
4

Check Mise Version

Upgrade mise to the latest version from the admin interface.

Build Cache Issues

Problem: Builds are unusually slow or don’t use cached dependencies. Solution:
docker-compose.yaml
Restart services after adding volume:

Performance Issues

High Memory Usage

Problem: Docker containers consume excessive memory. Solution:
1

Check Container Stats

2

Reduce Runner Concurrency

.env
Lower values reduce memory usage but slow down parallel builds.
3

Set Memory Limits

docker-compose.yaml

Slow Database Queries

Problem: Application feels sluggish, database queries are slow. Solution:
docker-compose.yaml

Development Environment Issues

go: command not found

Problem: After running mise install, which reports “all tools are installed”, running make dev fails with “go: command not found”. Solution: The mise tools aren’t activated in your shell. Add mise activation to your shell configuration:
See mise activation docs for more shell options.

Image Optimization Not Working

Problem: Image optimization features don’t work in local environment. Solution: Image optimization is disabled by default on local environments to avoid requiring additional dependencies. To enable it:
  1. Install required system packages (ImageMagick, libvips, etc.)
  2. Build a custom Docker image with image optimization libraries
  3. See Custom Images for detailed instructions
For self-hosted production instances, include image processing libraries in your custom Docker image if needed.

Logging and Debugging

Enable Debug Logging

Increase log verbosity for troubleshooting:
.env
Higher values (1-5) provide more verbose output.

View Service Logs

Export Logs for Support

Backup and Recovery

Backup Database

1

Create Backup

2

Verify Backup

3

Store Securely

Copy the backup file to a secure location:

Restore Database

Restoring a database will overwrite all current data. Ensure you have a recent backup before proceeding.

Backup Volumes

Getting Help

Community Support

Reporting Issues

When reporting issues, include:
  1. Stormkit version - Check the version in the admin interface
  2. Operating system and version
  3. Docker version - docker --version
  4. Docker Compose version - docker compose version
  5. Error messages - Complete error output from logs
  6. Steps to reproduce - How to trigger the issue
  7. Environment variables (sanitized) - Remove sensitive values

Diagnostic Information

Next Steps

Installation

Back to installation guide

Runtimes

Configure programming language runtimes

Custom Images

Build custom Docker images

GitHub Issues

Report bugs and issues