Sign inSign up

horlesq/gamelog

By horlesq

•Updated about 1 month ago

A self-hosted gaming library tracker with RAWG integration and AI-powered recommendations.

Image
Content management system
0

606

horlesq/gamelog repository overview

⁠GameLog

Release Docker Hub

Track your gaming journey - log games you've played and plan to play.

image

⁠Features

  • 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.)
  • AI Suggestions: Get personalized game recommendations on what to play next
  • Analytics: Comprehensive charts and insights
  • Custom Filters: Create and save custom filters
  • Data Management: Import and export your game library as CSV
  • Easy Self-hosting: Docker-ready with SQLite database
  • RAWG Integration: Access metadata for over 500,000+ games

⁠Quick Start: Self-host

docker pull horlesq/gamelog:latest
docker run -d --name gamelog --restart unless-stopped -p 3000:3000 -v data:/app/data horlesq/gamelog:latest

After running

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

⁠Alternative Quick Start: Docker Compose (build locally)

  1. Clone the repository
git clone https://github.com/horlesq/gamelog.git
cd gamelog
  1. Start the app
docker compose up -d
  1. Access the app

⁠Development in Docker

If you want to run the development server with hot-reloading using Docker:

  1. Start the dev container:
docker compose -f docker-compose.dev.yml up
  1. Access the app at http://localhost:3000⁠
  2. Any changes you make to the source code will be reflected immediately.

⁠Useful Commands

# 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).db

⁠Troubleshooting

⁠Port Already in Use

Change the external port in docker-compose.yml:

ports:
    - "8082:3000" # Use port 8082 instead

⁠Development

⁠Prerequisites
  • 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 dev

The app will auto-generate a .env file with all necessary settings on first startup.

Access the app

⁠Configuration

⁠Environment Variables
VariableDescriptionDefault
JWT_SECRETSecret key for JWT tokensAuto-generated on startup
DATABASE_URLDatabase file pathfile:./data/gamelog.db
RAWG_API_KEYRAWG API KeyRequired for game search
GROQ_API_KEYGroq API KeyRequired for AI suggestions

Note: JWT_SECRET and DATABASE_URL variables are auto-configured on first startup. You can customize them by editing the generated .env file.

⁠Default Admin Account

On first startup, an admin account is automatically created:

⚠️ Important: Change the admin password after first login!

⁠Security Notes

  • 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
⁠Can't Access from Other Devices
  • Use your server's IP address instead of localhost
  • Ensure port 3000 is open in your firewall
  • Check Docker port binding: docker compose ps

⁠Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

⁠License

This project is licensed under the MIT License - see the LICENSE file for details.

⁠Support

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

Project inspired by: https://github.com/LaszloRobert/projectshelf⁠

Tag summary

Content type

Image

Digest

sha256:bedf3e71d…

Size

461 MB

Last updated

about 1 month ago

docker pull horlesq/gamelog