nuxt-coolify
nuxt-coolify

Integrate Nuxt and Nitro with Coolify's API.

Nuxt Coolify

npm version npm downloads License Nuxt

Integrate Nuxt with Coolify to simplify your deployments and create custom dashboards for your self-hosted infrastructure.

Features

  • 🎯 Easy Dashboard Creation

    • Build custom dashboards with your preferred CSS framework
    • Manage self-hosted Coolify servers effortlessly
  • 🔄 Built-in API Routes

    • Ready-to-use API endpoints for Coolify integration
    • Support for Hetzner and Vultr (Coming Soon)
    • Type-safe API responses
  • 🚀 Simple Deployments

    • Seamless DevOps and AppDev workflow
    • Self-hosting and cloud hosting support
    • Full Nuxt templating and Nitro backend support
  • 🔐 Flexible Authentication

    • Bring your own authentication system
    • Agnostic and utility-first approach

Quick Setup

  1. Install the module:
# Using npm
npm install nuxt-coolify

# Using pnpm
pnpm add nuxt-coolify

# Using yarn
yarn add nuxt-coolify
  1. Add the module to your nuxt.config.ts:
export default defineNuxtConfig({
  modules: ['nuxt-coolify'],
})
  1. Add your Coolify credentials to .env:
NUXT_COOLIFY_INSTANCES_DEFAULT_BASE_URL=<your-coolify-url>
NUXT_COOLIFY_INSTANCES_DEFAULT_API_TOKEN=<your-coolify-api-token>

Basic Usage

<script setup lang="ts">
const { data: instances, refresh } = useFetch('/api/v1/coolify/instances')
</script>

<template>
  <div>
    <h2>Coolify Instances</h2>
    <pre>{{ instances }}</pre>
    <button @click="refresh">Refresh</button>
  </div>
</template>

Development

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release

Credits

License

MIT License