77ad643eaceef00708d96e7e9ceeec7d45f2a70e
StoryCove
A self-hosted web application for storing, organizing, and reading short stories from various internet sources.
Quick Start
Option 1: Using Environment-Specific Deployment (Recommended)
- Deploy for your environment:
# For development
./deploy.sh development
# For staging
./deploy.sh staging
# For production (edit .env.production first with your values)
./deploy.sh production
- Edit the environment file (
.env.development,.env.staging, or.env.production) with your specific configuration
Option 2: Manual Configuration
- 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 the URL specified in your environment configuration (default: http://localhost:6925)
Architecture
- Frontend: Next.js (Port 3000)
- Backend: Spring Boot (Port 8080)
- Database: PostgreSQL (Port 5432)
- Search: Typesense (Port 8108)
- Proxy: Nginx (Port 80)
Environment Configuration
StoryCove supports different deployment environments with specific configuration files:
Environment Files
.env.development- Local development with Docker.env.staging- Staging/testing environment.env.production- Production deployment.env.example- Template with all available options
Key Environment Variables
STORYCOVE_PUBLIC_URL- The public URL where your app is accessibleSTORYCOVE_CORS_ALLOWED_ORIGINS- Comma-separated list of allowed CORS originsDB_PASSWORD- PostgreSQL database passwordJWT_SECRET- Secret key for JWT token signing (minimum 32 characters)APP_PASSWORD- Application login passwordTYPESENSE_API_KEY- API key for Typesense search serviceNEXT_PUBLIC_API_URL- Frontend API URL (for development only)
Deployment Examples
For a production deployment at https://stories.example.com:
# Edit .env.production
STORYCOVE_PUBLIC_URL=https://stories.example.com
STORYCOVE_CORS_ALLOWED_ORIGINS=https://stories.example.com
# Deploy
./deploy.sh production
For local development:
./deploy.sh development
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%