A modern, feature-rich osu! completionist tracker and leaderboard.
Currently available at https://osucomplete.org
- Easy import process: Just sign in with your osu account and get added to the import queue. Soon enough, your stats will be visible.
- Real-time updates: New passes and all user stats are updated as soon as they're available (checked every minute).
- Full support: osu!complete completely supports all game modes, ranked, loved, and even convert maps.
- "Play next" section: Unsure what to play next? Use the "what to play next" card on your profile to find maps similar to your recent passes that you haven't played yet.
- Modern, osu!-like design: Built from the ground up with osu! players in mind, the website is designed to be easy on the eyes.
- Responsive layout: The webapp is fully responsive, making for an excellent experience on both desktop and mobile devices.
Note that the intent of these instructions is NOT to teach you how to run your own public instance of osu!complete. They are intended to help you set up a functional development environment and make contribution easier.
Required steps:
- Install Node.js and SQLite
- Clone the repo and open it in your terminal
- Run
npm install - Copy
.env.exampleto.envand open it in a text editor - Create an osu! application in your account settings
- Set the
OSU_CLIENT_IDandOSU_CLIENT_SECRETenv variables to the values provided by osu! - Set env
WEBSERVER_PORTto your desired port or leave it blank to use8080 - Populate the database with beatmap data
- Run
npm run maintain -- dldumpto download the latest osu! data dump - Run
npm run maintain -- importmapsto read the dump and fetch map data from the osu! API (this will take a few hours)
- Run
- Start the processes
- Recommended: Install PM2 with
npm i -g pm2and then runpm2 startto start both the webserver and updater in the background - If you choose to forgo PM2, you can start each process using
npm start webserverornpm start updater
- Recommended: Install PM2 with
If you need user authentication working:
Add http://localhost:8080/auth/callback as a redirect URI in your osu! application's settings. Replace localhost:8080 with your hostname/port and ensure it's also set as the HOSTNAME env variable.
These instructions aren't fully tested so please join the Discord server if you need any help.
