23f31defde1e74e87146ba4c75f116aed2b64093
- Double all $ characters in nginx config ($$host, $$http_upgrade, etc.) - Prevents Docker Compose from interpreting nginx vars as environment variables - Fixes "invalid number of arguments in proxy_set_header directive" error - Ensures proper nginx variable passing in embedded config 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
StoryCove
A self-hosted web application for storing, organizing, and reading short stories from various internet sources.
Quick Start
- Copy environment variables:
cp .env.example .env
-
Edit
.envwith secure values for all variables -
Start the application:
docker-compose up -d
- Access the application at http://localhost
Architecture
- Frontend: Next.js (Port 3000)
- Backend: Spring Boot (Port 8080)
- Database: PostgreSQL (Port 5432)
- Search: Typesense (Port 8108)
- Proxy: Nginx (Port 80)
Development
Frontend Development
cd frontend
npm install
npm run dev
Backend Development
cd backend
./mvnw spring-boot:run
Commands
docker-compose up -d- Start all servicesdocker-compose down- Stop all servicesdocker-compose logs -f [service]- View logsdocker-compose build- Rebuild containers
Features
- Story management with HTML content support
- Author profiles with ratings and metadata
- Tag-based categorization
- Full-text search capabilities
- Responsive reading interface
- JWT-based authentication
- Docker-based deployment
For detailed specifications, see storycove-spec.md.
Description
Languages
Java
56.2%
TypeScript
42.5%
Dockerfile
0.5%
Shell
0.3%
CSS
0.3%
Other
0.2%