LinkTag, the old RiiTag, now improved and remade for the new era for WiiLink!
Written in Next.js.
- Customizable Gamertag with a lot of options like backgrounds, fonts, etc.
- Automatically updating the tag works for Wii, Wii U, Cemu and Citra
- Game Leaderboards
- Collect coins when you play a game and show everyone what you have been playing!
- Shows every game with a cover from GameTDB
- Full moderation systems
- An active playtime tracking playlog
- NodeJS v16+
- MySQL or MariaDB database
- Sharpii .NET Core in
PATH
assharpii
- Active internet connection
git clone https://github.com/...
npm i
- Copy
.env
to.env.development.local
and fill it in (at leastDATABASE_URL
andIRON_SECRET
, see table below) npm run dev:db-reset
npm run dev:start
- If you have changed the db scheme, create a migration with
npm run dev:db-create-migration
- Copy
.env
to.env.production.local
and fill it in according to the table below npm ci --production
npm run prod:migrate
npm run prod:build
./node_modules/.bin/next start -p PORT
In the "deploy
" folder you can find configuration files for NGINX, Caddy and Systemd.
git pull
npm ci --production
npm run prod:migrate
npm run prod:build
- Visit https://discord.com/developers/applications
- Create an application and edit it
- Select "OAuth2" in the sidebar
- Here you can find your Client ID and Secret
- Add as a redirect:
http://localhost:3000/api/auth/login/discord
plus the equivalent production URL
You can set yourself as an administrator by chaing the "role" column to "admin" for your user. This will unlock an administration panel where you can add Terms of Services, a Privacy Policy and update the GameTDB titles list.
Key | Description | Example |
---|---|---|
NEXT_PUBLIC_BASE_URL | Base URL of your instance | https://tag.example.com |
DATABASE_URL | Connection String | mysql://USER:PASSWORD@127.0.0.1:3306/DATABASE |
IRON_SECRET | Secret for Iron to encrypt the cookie | stringwithatleast64chars |
DISCORD_CLIENT_ID | Discord Client ID | |
DISCORD_CLIENT_SECRET | Discord Client Secret | |
TWITTER_API_KEY | Twitter API Key | |
TWITTER_API_SECRET_KEY | Twitter API Secret Key | |
WEBPACK_ANALYZE | Runs Webpack Analyzer on start | true |
NEXT_PUBLIC_LOGGING_LEVEL | Logging Level | TRACE, DEBUG, INFO, WARNING, ERROR or CRITICAL |
NEXT_PUBLIC_STAGING | If the instance is a staging instance where data may be deleted | true |