Track your gaming journey - log games you've played and plan to play.
- Game Tracking: Search and log games from the RAWG database
- Status Management: Track progress (Plan to Play, Playing, Completed)
- Ratings & Notes: Rate your games and keep personal notes
- Platform Tracking: Log which platform you played on (PC, PS5, Switch, etc.)
- Easy Self-hosting: Docker-ready with SQLite database
- RAWG Integration: Access metadata for over 500,000+ games
docker pull horlesq/gamelog:latest
docker run -d --name gamelog --restart unless-stopped -p 3000:3000 -v data:/app/data horlesq/gamelog:latestAfter running
- Open
http://YOUR_SERVER_IP:3000 - Login with
admin@email.com/changeme
Port busy?
- If 3000 is in use on your host, change only the left side of the mapping (keep container port 3000):
docker run -d --name gamelog --restart unless-stopped -p 9000:3000 -v data:/app/data horlesq/gamelog:latest- Clone the repository
git clone https://github.com/horlesq/gamelog.git
cd gamelog- Start the app
docker compose up -d- Access the app
- http://localhost:3000
- Login: admin@email.com / changeme (or check .env)
If you want to run the development server with hot-reloading using Docker:
- Start the dev container:
docker compose -f docker-compose.dev.yml up- Access the app at http://localhost:3000
- Any changes you make to the source code will be reflected immediately.
# Start application
docker compose up -d
# Stop application
docker compose down
# View logs
docker compose logs -f
# Update to latest version
git pull
docker compose build --no-cache
docker compose up -d
# Backup database (SQLite)
cp data/gamelog.db backup-$(date +%Y%m%d).dbChange the external port in docker-compose.yml:
ports:
- "8082:3000" # Use port 8082 instead- Node.js 18+
- npm or yarn
If you want to run from source code:
# Install dependencies
npm install
# Run database migrations
npx prisma migrate dev
# Start development server
npm run devThe app will auto-generate a .env file with all necessary settings on first startup.
Access the app
- Open http://localhost:3000
- Login with admin@email.com / changeme
| Variable | Description | Default |
|---|---|---|
JWT_SECRET |
Secret key for JWT tokens | Auto-generated on startup |
DATABASE_URL |
Database file path | file:./data/gamelog.db |
RAWG_API_KEY |
RAWG API Key | Required for game search |
Note: JWT_SECRET and DATABASE_URL variables are auto-configured on first startup. You can customize them by editing the generated .env file.
On first startup, an admin account is automatically created:
- Email:
admin@email.com - Password:
changeme
- JWT secrets are auto-generated securely on startup
- Change the default admin password after first login
- Use HTTPS in production with a reverse proxy
- Regular database backups recommended
- Use your server's IP address instead of localhost
- Ensure port 3000 is open in your firewall
- Check Docker port binding:
docker compose ps
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project useful, please consider giving it a star! ⭐
For issues and feature requests, please use the GitHub Issues tab.
Built with: Next.js, TypeScript, Tailwind CSS, Prisma, SQLite