Quick Start Guide
Get Chirp running in minutes with this quick start guide. We'll cover the fastest way to get a development environment up and running.
Option 1: Docker Quick Start (Recommended)
The fastest way to try Chirp is with Docker and docker-compose.
1. Clone the Repository
git clone https://git.eidenz.moe/Eidenz/chirp.git
cd chirp
2. Set up Environment
Copy the example environment file:
cp server/.env.example server/.env
3. Start with Docker
docker-compose up -d
This will:
- Start PostgreSQL database
- Start Redis for caching
- Start Chirp backend server
- Build and start the web frontend
4. Access Chirp
- Web App: http://localhost:5173
- API: http://localhost:3001
- Database: localhost:5432
5. Create First Account
- Open http://localhost:5173 in your browser
- Click "Register"
- Create your account
Option 2: Manual Installation
Prerequisites
- Node.js v18+ and npm v9+ — https://nodejs.org/
- PostgreSQL 12+ (or SQLite for quick testing) — https://www.postgresql.org/download/
- Git — https://git-scm.com/downloads
1. Clone and Install Dependencies
git clone https://git.eidenz.moe/Eidenz/chirp.git
cd chirp
npm install
2. Set up Database
For PostgreSQL (Recommended):
# Create database and user
sudo -u postgres psql
CREATE DATABASE chirp_dev;
CREATE USER chirp_dev WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE chirp_dev TO chirp_dev;
\q
Configure server/.env:
cp server/.env.example server/.env
Edit server/.env:
DB_HOST=localhost
DB_PORT=5432
DB_USER=chirp_dev
DB_PASSWORD=your_password
DB_NAME=chirp_dev
DB_SSL=false
3. Set JWT Secret
Generate a secure JWT secret:
node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"
Add it to server/.env:
JWT_SECRET=your_generated_secret_here
4. Run Database Migrations
cd server
npm run db:migrate
cd ..
5. Start Development Servers
# Start all services (recommended)
npm run dev
# Or start individually:
# npm run dev:server # Backend only
# npm run dev:web # Frontend only
# npm run dev:electron # Backend/Frontend & Desktop app
6. Access Chirp
- Web App: http://localhost:5173
- API: http://localhost:3001
- Electron App: Opens automatically
Verify Installation
Once Chirp is running, you should see:
Backend Server
🚀 Chirp server running on port 3001
📡 Database connected
🔌 Socket.IO server started
Frontend Development Server
✨ Vite server running at http://localhost:5173
Next Steps
🎉 Congratulations!
You now have Chirp running locally. Here's what to do next:
Troubleshooting
Common Issues
Port already in use?
# Kill processes on ports 3001 or 5173
sudo lsof -ti:3001 | xargs kill -9
sudo lsof -ti:5173 | xargs kill -9
Database connection failed?
- Check PostgreSQL is running
- Verify database credentials in
.env - Ensure database was created
Frontend not loading?
- Check Node.js version (v18+)
- Delete
node_modulesand runnpm installagain - Clear browser cache
Migration errors?
cd server
npm run db:rollback # Rollback last migration
npm run db:migrate # Try again
Getting Help
- Check the logs:
docker-compose logs chirp-serveror look at terminal output - Git Issues: Report problems
Ready to explore? Learn about basic usage or configure for production.