Santhosh Janardhanan 792fafc661 feat: containerize with Docker Compose + Ollama
Add full Docker setup so the app runs with a single 'docker compose up':

- Dockerfile: multi-stage build (node:22-alpine) for the SvelteKit app
- docker-compose.yml: three services:
  1. ollama: runs Ollama server with persistent volume for models
  2. model-init: one-shot container that pulls the configured model
     after Ollama is healthy, then exits
  3. app: the SvelteKit app, starts only after model-init succeeds
- .env.docker: set OLLAMA_MODEL to control which model is pulled
- .dockerignore: keeps image lean
- Switched adapter-auto to adapter-node (required for Docker/Node hosting)
- Updated README with Docker and local dev instructions

Usage:
  docker compose up              # default: llama3
  OLLAMA_MODEL=gemma2 docker compose up  # any Ollama model
2026-04-13 00:22:19 -04:00
2026-04-12 21:22:34 -04:00
2026-04-12 21:22:34 -04:00
2026-04-12 21:22:34 -04:00

English Style Converter

A SvelteKit web app that converts English text into various styles and tones using an LLM.

Quick Start (Docker)

# Option 1: Use default model (llama3)
docker compose up

# Option 2: Choose a different model
OLLAMA_MODEL=gemma2 docker compose up

First startup pulls the model from Ollama, which may take a few minutes depending on model size and your connection. Subsequent starts are instant (model is cached in a Docker volume).

To change the model later, edit .env.docker and run:

docker compose down
docker compose up --build

Local Development (without Docker)

Prerequisites: Ollama running locally with a model pulled.

# Install dependencies
npm install

# Copy env config (defaults to Ollama at localhost:11434)
cp .env.example .env

# Start dev server
npm run dev

Configuration

Variable Default Description
OPENAI_BASE_URL http://localhost:11434/v1 OpenAI-compatible API endpoint
OPENAI_API_KEY ollama API key (use ollama for local Ollama)
OPENAI_MODEL llama3 Model to use
PORT 3000 App port (Docker/adapter-node only)

For Docker, set OLLAMA_MODEL in .env.docker — it controls both the model Ollama pulls and the model the app requests.

Styles

6 categories, 25 styles: Sarcastic, Formal, British (Polite, Formal, Witty, Gentlemanly, Upper Class, Royal, Victorian, Downton Abbey), American (New Yorker, AAVE, Southern, Redneck), Pirate, Shakespearean, Gen Z, Game of Thrones (King's Landing, Wildlings, Winterfell), and Newspeak (Orwellian).

Testing

npm test
Description
No description provided
Readme 152 KiB
Languages
TypeScript 50.3%
Svelte 43%
CSS 3.6%
HTML 1.5%
Dockerfile 1%
Other 0.6%