kenzuya b73745c56c refactor(db): extract database configuration to separate file
Move database setup logic from index.ts to a dedicated database.ts file for better modularity. Update index.ts to re-export from the new file and adjust import in migrations.ts accordingly.
2025-10-12 12:35:37 +00:00
2025-09-16 19:14:46 +00:00
2025-10-06 06:48:59 +00:00
2025-09-16 20:02:16 +00:00
2025-09-24 16:49:51 +07:00

Nontara

Nontara is an alternative to Jellyfin designed to provide private media streaming services. This platform allows users to manage and access their collections of movies, TV shows, music, and photos from various devices.

Features

  • TypeScript - For type safety and improved developer experience
  • TanStack Start - SSR framework with TanStack Router
  • TailwindCSS - Utility-first CSS for rapid UI development
  • shadcn/ui - Reusable UI components
  • Hono - Lightweight, performant server framework
  • tRPC - End-to-end type-safe APIs
  • Bun - Runtime environment
  • Drizzle - TypeScript-first ORM
  • SQLite/Turso - Database engine
  • Authentication - Better-Auth
  • Biome - Linting and formatting
  • Turborepo - Optimized monorepo build system

Getting Started

First, install the dependencies:

bun install

Database Setup

This project uses SQLite with Drizzle ORM.

  1. Start the local SQLite database:
cd apps/server && bun db:local
  1. Update your .env file in the apps/server directory with the appropriate connection details if needed.

  2. Apply the schema to your database:

bun db:push

Then, run the development server:

bun dev

Open http://localhost:3001 in your browser to see the web application. The API is running at http://localhost:3000.

Project Structure

nontara/
├── apps/
│   ├── web/         # Frontend application (React + TanStack Start)
│   └── server/      # Backend API (Hono, TRPC)

Available Scripts

  • bun dev: Start all applications in development mode
  • bun build: Build all applications
  • bun dev:web: Start only the web application
  • bun dev:server: Start only the server
  • bun check-types: Check TypeScript types across all apps
  • bun db:push: Push schema changes to database
  • bun db:studio: Open database studio UI
  • cd apps/server && bun db:local: Start the local SQLite database
  • bun check: Run Biome formatting and linting
Description
Nontara Media Server is an alternative to Jellyfin designed to provide private media streaming services. This platform allows users to manage and access their collections of movies, TV shows, music, and photos from various devices.
Readme 4.8 MiB
Languages
TypeScript 99.1%
CSS 0.9%