> For the complete documentation index, see [llms.txt](https://tivet.gitbook.io/tivet-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tivet.gitbook.io/tivet-docs/resources/configuration.md).

# Configuration

The Tivet configuration file can use any of the follow names:

| Name         | Format                     |
| ------------ | -------------------------- |
| t`ivet.json` | JSON                       |
| t`ivet.json` | JSON with comments (JSONC) |

***

### Schema <a href="#schema" id="schema"></a>

#### Config

* `builds`map
  * `builds[key].access`string
    * `public`
    * `private`
  * `builds[key].tags`nullable map
  * Any of the following variants:
    * Variant #1
      * `builds[key].build_args`nullable map

        Build arguments to pass to the build.
      * `builds[key].build_path`nullable string

        Directory to build the Docker image from.
      * `builds[key].build_target`nullable string

        Build target to upload.
      * `builds[key].dockerfile`nullable string

        Dockerfile to build.
      * `builds[key].image`nullable string

        Existing image tag to upload.
      * `builds[key].unstable`nullable object
        * `builds[key].unstable.allow_root`nullable boolean
        * `builds[key].unstable.build_method`nullable string
          * `buildx`

            Use the native Docker build command. Only used if Buildx is not available.
          * `native`

            Create & use a Buildx builder on this machine. Required for cross-platform compilation.
        * `builds[key].unstable.bundle`nullable string
          * `docker_image`

            Legacy option. Docker image archive output from `docker save`. Slower lobby start times.
          * `oci_bundle`

            OCI bundle archive derived from a generated Docker image. Optimized for fast lobby start times.
        * `builds[key].unstable.compression`nullable string
          * `none`

            No compression.
          * `lz4`

            LZ4 compression. Fast compression optimized for fast lobby start times.
    * Variant #2
      * `builds[key].script`string
      * `builds[key].unstable`nullable object
        * `builds[key].unstable.analyze_result`nullable boolean
        * `builds[key].unstable.compression`nullable string
          * `none`

            No compression.
          * `lz4`

            LZ4 compression. Fast compression optimized for fast lobby start times.
        * `builds[key].unstable.dump_build`nullable boolean
        * `builds[key].unstable.esbuild_log_level`nullable string
        * `builds[key].unstable.minify`nullable boolean
        * `builds[key].unstable.no_bundler`nullable boolean
* `unstable`nullable object
  * `unstable.manager`nullable object
    * `unstable.manager.analyze_result`nullable boolean
    * `unstable.manager.compression`nullable string
      * `none`

        No compression.
      * `lz4`

        LZ4 compression. Fast compression optimized for fast lobby start times.
    * `unstable.manager.dump_build`nullable boolean
    * `unstable.manager.enable`nullable boolean
    * `unstable.manager.esbuild_log_level`nullable string
    * `unstable.manager.minify`nullable boolean
    * `unstable.manager.no_bundler`nullable boolean
