Overview
After installation, run through these checks to ensure everything is working properly.
1. Verify Docker Services
Check all infrastructure services are running:
docker psExpected output: 8 containers running
| Container Name | Status | Ports |
|---|---|---|
zephyr-dev-postgres | Up | 5433→5432 |
zephyr-dev-redis | Up | 6379→6379 |
zephyr-dev-minio | Up | 9000→9000, 9001→9001 |
zephyr-dev-meilisearch | Up | 7700→7700 |
zephyr-dev-rabbitmq | Up | 5672→5672, 15672→15672 |
zephyr-dev-timescaledb | Up | 5434→5432 |
zephyr-dev-prisma-studio | Up | 5555→5555 |
zephyr-dev-redis-insight | Up | 5540→5540 |
All containers should show Up status. If any show Restarting or Exit, check logs:
docker compose -f docker/docker-compose.dev.yml logs [container-name]2. Test Database Connection
Via Prisma Studio
What to verify:
- ✅ Studio loads without errors
- ✅ You see all tables in the left sidebar
- ✅ Can browse
User,Post,Commenttables - ✅ Tables are empty (fresh install)
Via Command Line
cd packages/db
bunx prisma studioShould open Prisma Studio on port 5555.
Test with psql (Optional)
docker exec -it zephyr-dev-postgres psql -U postgres -d zephyr-- List all tables
\dt
-- Should see:
-- users, posts, comments, votes, follows, bookmarks, etc.
-- Exit
\q3. Test Redis Connection
Via RedisInsight
What to verify:
- ✅ RedisInsight loads
- ✅ Can connect to Redis instance
- ✅ Database shows 0 keys (fresh install)
Via redis-cli
docker exec -it zephyr-dev-redis redis-cli -a zephyrredis
# Test
127.0.0.1:6379> PING
PONG
127.0.0.1:6379> SET test "hello"
OK
127.0.0.1:6379> GET test
"hello"
127.0.0.1:6379> DEL test
(integer) 1
127.0.0.1:6379> EXIT4. Test MinIO
Via Web Console
Open http://localhost:9001
Login: minioadmin / minioadmin
What to verify:
- ✅ Console loads
- ✅ See 4 buckets:
uploads,avatars,temp,backups - ✅ All buckets have “Public” access policy
- ✅ Versioning is enabled
Test File Upload
# Create a test file
echo "test content" > test.txt
# Upload using mc (MinIO Client)
docker run --rm -it --network zephyr-dev-network \
-v $(pwd):/data \
minio/mc:latest \
/bin/sh -c "
mc alias set minio http://minio-dev:9000 minioadmin minioadmin
mc cp /data/test.txt minio/uploads/test.txt
mc ls minio/uploads/
"
# Clean up
rm test.txtShould see test.txt in output.
5. Test Meilisearch
Via HTTP
curl http://localhost:7700/healthExpected: {"status":"available"}
Check Indexes
curl -H "Authorization: Bearer masterKey123" \
http://localhost:7700/indexesExpected: JSON with users index (if you ran bun run search:init)
{
"results": [
{
"uid": "users",
"primaryKey": "id",
"createdAt": "...",
"updatedAt": "..."
}
]
}6. Test Applications
Web App (localhost:3000)
Start apps (if not running):
bun run devVerify:
- Open http://localhost:3000
- ✅ Login page loads
- ✅ No console errors in browser DevTools
- ✅ Click “Sign up” → Signup page loads
- ✅ Click “Forgot password?” → Reset page loads
Auth Service (localhost:3001)
- Open http://localhost:3001
- ✅ Auth admin panel loads
- ✅ See empty user table
- ✅ No errors in terminal or browser
Docs (localhost:3002)
- Open http://localhost:3002
- ✅ Documentation site loads
- ✅ Navigation works
- ✅ This page is visible!
7. Test User Registration
Create a Test Account
- Go to http://localhost:3000/signup
- Fill in:
- Username: testuser
- Display Name: Test User
- Email: test@example.com
- Password: testpassword123
- Click “Sign up”
Expected:
- ✅ Account created successfully
- ✅ Redirected to login or home page
- ✅ No errors in console
Verify in Database
Open http://localhost:5555 (Prisma Studio):
- Navigate to
Usertable - ✅ See your test user
- ✅ User has default Aura (0)
- ✅
emailVerifiedisfalse - ✅
createdAtshows current timestamp
8. Test Authentication
Login
- Go to http://localhost:3000/login
- Enter credentials:
- Email: test@example.com
- Password: testpassword123
- Click “Log in”
Expected:
- ✅ Logged in successfully
- ✅ Redirected to home feed
- ✅ See empty feed state (no posts yet)
Check Session
In browser DevTools (Application/Storage):
- ✅ Session cookie exists
- ✅ Cookie domain is
localhost - ✅ Cookie has
HttpOnlyandSecureflags
9. Test Post Creation
- Click “Create Post” or go to http://localhost:3000/compose
- Type a test post: “Hello Zephyr! 🚀”
- Click “Post”
Expected:
- ✅ Post created
- ✅ Redirected to home feed
- ✅ See your post in the feed
- ✅ Post shows your username and timestamp
Verify in Database
Open Prisma Studio:
- Navigate to
Posttable - ✅ See your post
- ✅
contentmatches what you typed - ✅
userIdmatches your user ID - Navigate to
AuraLogtable - ✅ See entry for
POST_CREATION(+10 Aura)
Check Redis Cache
docker exec -it zephyr-dev-redis redis-cli -a zephyrredis
127.0.0.1:6379> KEYS *
# Should see various cache keys10. Test File Upload
- Create a post with an image:
- Go to http://localhost:3000/compose
- Click image upload button
- Select an image file (< 5 MB)
- Wait for upload
- Add caption and click “Post”
Expected:
- ✅ Upload progress shown
- ✅ Image preview appears
- ✅ Post created with image
- ✅ Image displays in feed
Verify in MinIO
Open http://localhost:9001 :
- Navigate to
uploadsbucket - ✅ See your uploaded image
- ✅ File size matches original
11. Test Search
- Go to home page
- Press
Cmd+K(Mac) orCtrl+K(Windows/Linux) - Search command palette opens
- Type your username
Expected:
- ✅ Command palette opens
- ✅ Your user appears in results
- ✅ Click your user → navigate to profile
If no results appear, run bun run search:init to populate Meilisearch.
12. End-to-End Test
Complete user flow:
- Signup → Create account ✅
- Login → Authenticate ✅
- Create Post → Post with text ✅
- Upload Image → Post with media ✅
- Vote → Upvote your own post ✅
- Comment → Add comment ✅
- Bookmark → Save post ✅
- Profile → View your profile ✅
- Search → Find yourself ✅
- Logout → Sign out ✅
All steps should complete without errors.
Troubleshooting Failed Checks
If any verification fails:
Docker services not starting
# View logs
docker compose -f docker/docker-compose.dev.yml logs
# Restart services
bun run docker:down
bun run docker:devDatabase connection fails
# Reinitialize database
bun run db:up
# Check Prisma client
cd packages/db && bunx prisma generateApps not loading
# Check for port conflicts
lsof -i :3000 # macOS/Linux
netstat -ano | findstr :3000 # Windows
# Restart apps
# Ctrl+C to stop, then:
bun run devSearch not working
# Initialize Meilisearch
bun run search:init
# Verify
curl http://localhost:7700/healthSuccess Criteria
✅ All infrastructure services running
✅ Database accessible with all tables created
✅ Redis responding to commands
✅ MinIO buckets created and accessible
✅ Meilisearch health check passes
✅ All three apps (web, auth, docs) loading
✅ Can create account and login
✅ Can create posts with text and images
✅ Can perform social actions (vote, comment, bookmark)
✅ Search functionality works
Next Steps
If all checks pass, your setup is complete!
- Development Guide - Start building features
- Architecture - Understand the codebase
- Contribution Guidelines - Contribute to Zephyr
If checks fail, see Troubleshooting for solutions.