PHPackages                             jezzdk/nova-kontainer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. jezzdk/nova-kontainer

ActiveLibrary[Templating &amp; Views](/categories/templating)

jezzdk/nova-kontainer
=====================

A Laravel Nova field.

v2.2(3y ago)1574MITVue

Since Feb 8Pushed 3y ago1 watchersCompare

[ Source](https://github.com/jezzdk/nova-kontainer)[ Packagist](https://packagist.org/packages/jezzdk/nova-kontainer)[ RSS](/packages/jezzdk-nova-kontainer/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (6)DependenciesVersions (8)Used By (0)

Nova Kontainer
==============

[](#nova-kontainer)

> Nova Kontainer is a Laravel Nove component that adds a file picker for Kontainer

Features
--------

[](#features)

Select any image or video from Kontainer and have the url stored in Laravel Nova.

> You must have a Kontainer account in order to use this plugin. Read more and create an account on [the official website](https://kontainer.com/).

How to Install
--------------

[](#how-to-install)

Run the following command from your project root:

```
composer require jezzdk/nova-kontainer
```

Usage
-----

[](#usage)

```
public function fields()
{
    return [
        NovaKontainer::make(__('Image')),
     ];
}
```

> The image data will be saved as json, so you should make the database field text/json. In your model the field can then be cast as an array.

Given the example above, the `image` property will contain the url and the type of the file as a minimum. It may contain several other properties that are passed from Kontainer.

```
$model->image['url']; // https://myaccount.kontainer.com/cdn/2SP4HV/bm-604549.jpg
$model->image['type']; // 'image'
$model->image['extension']; // 'jpg'
...
```

Config
------

[](#config)

Set the URL to your Kontainer account with `kontainerUrl()`:

```
public function fields()
{
    return [
        NovaKontainer::make(__('Image'))
            ->kontainerUrl('https://my-account.kontainer.com'),
     ];
}
```

You can limit the allowed file type by using the following methods:

```
NovaKontainer::make(__('Image'))->onlyImages();
NovaKontainer::make(__('Video'))->onlyVideos();
NovaKontainer::make(__('File'))->onlyFiles();
```

Upgrading from v1
-----------------

[](#upgrading-from-v1)

From v2 the data will be saved as json in the database. If you have already used v1 for a while, and you already have data, you should migrate your data to the new json format.

In v1 the data was just the url of the image. As a minimum the new json data should contain the `url` and `type`. A simple database query can do this in one go:

```
UPDATE my_table SET my_field = REPLACE('{"url":"%url%", "type":"image"}', '%url%', my_field)
```

If you have a mix of images and videos, you might want to add some where clauses to the query, and set the `type` accordingly.

After this you should be able to convert the field type to text or json.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~43 days

Total

7

Last Release

1360d ago

Major Versions

v1.0.1 → v2.02022-03-07

### Community

Maintainers

![](https://www.gravatar.com/avatar/9d0a6d2e4c81a362cc84db1d7394aa7d32c9094b8876a4bbb8dafc1b71a1a90f?d=identicon)[jezzdk](/maintainers/jezzdk)

---

Top Contributors

[![jezzdk](https://avatars.githubusercontent.com/u/139632?v=4)](https://github.com/jezzdk "jezzdk (8 commits)")

---

Tags

laravelnova

### Embed Badge

![Health badge](/badges/jezzdk-nova-kontainer/health.svg)

```
[![Health](https://phpackages.com/badges/jezzdk-nova-kontainer/health.svg)](https://phpackages.com/packages/jezzdk-nova-kontainer)
```

###  Alternatives

[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[outl1ne/nova-multiselect-field

A multiple select field for Laravel Nova.

3402.9M2](/packages/outl1ne-nova-multiselect-field)[emilianotisato/nova-tinymce

This Nova package allow you to use TinyMCE editor for text areas.You can customize the editor options and... you can upload images to your server and put them rigth there on the text without leaving the text editor!

116884.3k4](/packages/emilianotisato-nova-tinymce)[silvanite/novafieldcheckboxes

A Laravel Nova field to display a number of multi-select options using checkboxes.

70846.9k1](/packages/silvanite-novafieldcheckboxes)[waynestate/nova-ckeditor4-field

This nova package allows you to use CKEditor 4 for text areas.

62739.1k8](/packages/waynestate-nova-ckeditor4-field)[oneduo/nova-time-field

A Laravel Nova time field

13157.6k](/packages/oneduo-nova-time-field)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
