nuxt-coolify
nuxt-coolify

Integrate Nuxt and Nitro With Coolify's API using nuxt-coolify.

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