Level Up your Developer Experience (DX)

Enhance your web development experience with Kool.dev solutions that simplify Docker adoption, provide a productive web development workflow and offer seamless deployment to the cloud.

App screenshot

Start with a better developer experience

Kool makes using Docker for local development easier, simpler, faster, and better.

Easier

Kool eliminates the learning curve and headaches of configuring Docker flags, fixing user permissions, and setting up local and global networks - to name just a few.

Simpler

Kool reduces the cognitive overhead of containerizing your stack by using a much simpler, more intuitive CLI interface for managing Docker containers and Docker Compose services.

Faster

Kool lets you spin up new local environments, switch between projects, share local changes with colleagues and clients, and deploy to the cloud – all in a matter of seconds.

Better

Kool provides custom Docker images optimized for local development and deployment, pre-built Presets with sane defaults for quickly setting up projects using popular frameworks – and more.

and finish with a better DevOps/SRE experience

Kool.dev Cloud makes deploying your containerized apps to Kubernetes a simple and predictable task.

Any Language, Any Framework

Kool standardizes the way you work across all your tech stacks and projects.

Laravel
Symfony
Adonis
NestJs
NextJs
NuxtJs
WordPress
HUGO
Want to contribute a Preset? Go to Github and create a Pull Request or an issue to get started.

Kool.dev Cloud reached General Availability! You can go from local development to the cloud with Kool.dev Cloud.

A better development workflow

Kool CLI, Kool Scripts, and Kool Cloud work seamlessly together to create a more productive workflow for building and deploying containerized applications.

  • Zero Learning Curve

    $ kool create
    Laravel Laravel
    Adonis Adonis
    NextJS NextJS
    NuxtJS NuxtJS
    [projects] $ kool create laravel my-project
    # Under the hood, this command will run # 'composer create-project --no-install --no-scripts # --prefer-dist laravel/laravel my-project' # using a customized kool Docker image
    Creating a "laravel/laravel" project at "./my-project"
    Installing laravel/laravel (v0.0.00)
    - Downloading laravel/laravel (v0.0.00)
    - Installing laravel/laravel (v0.0.00): Extracting archive
    Created project in /app/my-project
    # After installing Laravel, 'kool create' automatically runs the # 'kool preset laravel' command, which helps you easily set up the # initial tech stack for your project using an interactive wizard.
    Preset laravel is initializing!
    ...
    [projects] $ kool create adonis my-project
    # Under the hood, this command will run # 'adonis new my-project to install the AdonisJs fullstack blueprint' # using a customized kool Docker image
    [1/6] 🔬 Requirements matched [node & npm]
    [2/6] 🔦 Ensuring project directory is clean [adonis]
    [3/6] 📥 Cloned [adonisjs/adonis-fullstack-app]
    [4/6] 📦 Dependencies installed
    [4/6] 📖 Environment variables copied [.env]
    [5/6] 🔑 Key generated [adonis key:generate]
    🚀 Successfully created project
    👉 Get started with the following commands
    cd adonis
    adonis serve --dev
    # After installing AdonisJs, 'kool create' automatically runs the # 'kool preset adonis' command, which helps you easily set up the # initial tech stack for your project using an interactive wizard.
    Preset laravel is initializing!
    ...
    [projects] $ kool create nextjs my-project
    # Under the hood, this command will run: # yarn create next-app my-project using a customized kool Docker image
    yarn create v0.00.0
    [1/4] Resolving packages...
    [2/4] Fetching packages...
    [3/4] Linking dependencies...
    [4/4] Building fresh packages...
    Done in 00.00s.
    # After installing Next.js, 'kool create' automatically runs the # 'kool preset nextjs' command, which helps you easily set up the # initial tech stack for your project using an interactive wizard.
    Preset nextjs is initializing!
    ...
    [projects] $ kool create nuxtjs my-project
    # Under the hood, this command will run: # yarn create nuxt-app my-project using a customized kool Docker image
    yarn create v0.00.0
    [1/4] Resolving packages...
    [2/4] Fetching packages...
    [3/4] Linking dependencies...
    [4/4] Building fresh packages...
    Done in 00.00s.
    # After installing NuxtJS, 'kool create' automatically runs the # 'kool preset nuxtjs' command, which helps you easily set up the # initial tech stack for your project using an interactive wizard.
    Preset nextjs is initializing!
    ...
  • Sane Defaults (new and existing projects)

    $ kool preset
    Laravel Laravel
    Adonis Adonis
    NextJS NextJS
    NuxtJS NuxtJS
    [my-project] $

    kool preset laravel

    Preset laravel is initializing!

    ? What app service do you want to use [Use arrows to move, type to filter]
      PHP 7.4
    > PHP 8.0

    ? What database service do you want to use [Use arrows to move, type to filter]
    > MySQL 8.0
      MySQL 5.7
      PostgreSQL 13.0
      none

    ? What cache service do you want to use [Use arrows to move, type to filter]
    > Redis 6.0
      Memcached 1.6
      none

    ? What javascript package manager do you want to use [Use arrows to move, type to filter]
      npm
    > yarn

    ? What composer version do you want to use [Use arrows to move, type to filter]
      1.x
    > 2.x

    Preset laravel initialized!

    # Yes, using kool to create and work on new Laravel projects is that easy!
    [my-project] $

    kool preset adonis

    Preset adonis is initializing!

    ? What database service do you want to use [Use arrows to move, type to filter]
    > MySQL 8.0
      MySQL 5.7
      PostgreSQL 13.0
      none

    ? What cache service do you want to use [Use arrows to move, type to filter]
    > Redis 6.0
      Memcached 1.6
      none

    ? What javascript package manager do you want to use [Use arrows to move, type to filter]
      npm
    > yarn

    Preset adonis initialized!

    # Yes, using kool to create and work on new AdonisJs projects is that easy!
    [my-project] $

    kool preset nextjs

    Preset nextjs is initializing!

    ? What javascript package manager do you want to use [Use arrows to move, type to filter]
      npm
    > yarn

    Preset nextjs initialized!

    # Yes, using kool to create and work on new Next.JS projects is that easy!
    [my-project] $

    kool preset nuxtjs

    Preset nuxtjs is initializing!

    ? What javascript package manager do you want to use [Use arrows to move, type to filter]
      npm
    > yarn

    Preset nuxtjs initialized!

    # Yes, using kool to create and work on new NuxtJS projects is that easy!
  • Starting

    $ kool start
    [my-project] $

    kool start


    Creating network "web_kool_local" with the default driver

    Creating web_cache_1 ... done
    Creating web_database_1 ... done
    Creating web_app_1 ... done

    # You are all set!
  • Instant Onboarding

    $ kool run
    Laravel Laravel
    Adonis Adonis
    NextJS NextJS
    NuxtJS NuxtJS
    # Execute the specified SCRIPT, as defined in the kool.yml file
    [my-project] $ kool run artisan key:generate
    Application key set successfully
    # run can also run multiple commands
    [my-project] $ kool run reset
    > kool run composer install > kool run artisan migrate:fresh --seed > kool run node-setup
    # Execute the specified SCRIPT, as defined in the kool.yml file
    [my-project] $ kool run adonis key:generate
    generated: unique API_KEY
    # run can also run multiple commands
    [my-project] $ kool run setup
    > cp .env.example .env > kool docker kooldev/node:20 npm install > kool start
    # Execute the specified SCRIPT, as defined in the kool.yml file
    [my-project] $ kool run yarn build
    > next build
    # run can also run multiple commands
    [my-project] $ kool run setup
    > kool docker kooldev/node:20 npm install > kool start
    # Execute the specified SCRIPT, as defined in the kool.yml file
    [my-project] $ kool run yarn build
    > nuxt build
    # run can also run multiple commands
    [my-project] $ kool run setup
    > kool docker kooldev/node:20 npm install > kool start
  • Painless Execution

    $ kool exec
    # Similar to SSH, if you want to open a Bash session in your app container, # run kool exec app bash, where app is the name of the service container # in docker-compose.yml. If you prefer, you can use sh instead of bash
    [my-project] $ kool exec app bash
    bash-5.1#
    [my-project] $ kool exec app sh
    /app#
  • Effortless Sharing

    $ kool share
    [my-project] $

    kool share --subdomain awesome



    Thank you for using expose.

    Local-URL: app
    Dashboard-URL: http://127.0.0.1:4040
    Expose-URL: https://awesome.kool.live

    # Your local environment can now accessed from anywhere! For up to 1 hour.

    Remaining time: 00:59:59

    Remaining time: 00:59:58

    Remaining time: 00:59:57

    Remaining time: 00:59:56

    ...

  • Context switching - between Projects/Stacks

    $ kool stop
    [my-project] $

    kool stop


    Stopping web_app_1 ... done
    Stopping web_database_1 ... done
    Stopping web_cache_1 ... done

    Removing web_app_1 ... done
    Removing web_database_1 ... done
    Removing web_cache_1 ... done

    # Easily switch between projects!

    $

    cd other-project

    [other-project]$

    kool start


    Creating network "web_kool_local" with the default driver

    Creating web_cache_1 ... done
    Creating web_database_1 ... done
    Creating web_app_1 ... done

Developer experience for everyone who needs it

Kool offers a standardized experience across all your tech stacks and projects – no matter who you are.

Individuals & Freelancers

Less configuring, more coding.

Increase velocity using Kool Presets to initialize projects with pre-built Docker setups, Kool Snippets to add common container services, Kool Scripts to open database sessions and reset local environments, and Kool CLI to switch between projects, share work, and deploy to the cloud.

Small & Large Teams

Less duplication, more standardization.

Rapidly onboard new developers, boost team productivity, and minimize duplication of effort using reproducible Docker development environments along with standardized – and centralized – Kool Scripts and workflows across all your projects.

Beginners & Experts

Less hassles, more control.

A hassle-free way to handle the Docker basics and immediately start using containers for development. Simultaneously, no loss of control over fully customizing and extending more specialized Docker environments.

kool.dev
By choosing "Accept all cookies" you agree to the use of cookies to help us provide you with a better user experience and to analyse website usage. Only the essential cookies are necessary for the proper functioning of our website and cannot be refused.
Check out our Cookie Policy and Privacy Policy for more information.