This repo is designed to publish the frontend on GitHub Pages through the workflow deploy-pages.yml.
Important:
- GitHub Pages only hosts the frontend
- the Go API in server cannot run on GitHub Pages
- you do not need to host your own API to use this profile
- the public API at
https://profile.kisakay.comis meant to be reused and is the recommended stable option for Last.fm and the view counter
Start by forking this repository to your own GitHub account.
Then clone your fork if you want to edit the project locally:
git clone https://github.com/YOUR_USERNAME/Kisakay.git
cd Kisakay
npm installThe main file to edit is src/config/config.ts.
You can change:
content: username, bio, title, pronouns, locationsocials: your linksbadges: displayed badgesfeatures: enable or disable sectionstheme: colors
You can also replace the files inside public/assets:
banner.jpgpfp.jpgsong.mp3background.mp4
The most important setting for GitHub Pages is VITE_BASE_PATH.
This repo already uses that variable in vite.config.ts.
If you publish on:
https://your-username.github.io- or a custom domain such as
https://profile.example.com
then use:
VITE_BASE_PATH=/If you publish on:
https://your-username.github.io/repository-name/
then use:
VITE_BASE_PATH=/repository-name/The frontend reads VITE_API_BASE_URL to know where to call the API.
In most cases, you do not need to host any API yourself.
You can simply use the public project API:
VITE_API_BASE_URL=https://profile.kisakay.comThis API is stable and is enough to power:
- the Last.fm display
- the view counter
In other words, if you want to host your own profile on GitHub Pages, only the frontend needs to be deployed.
Since GitHub Pages cannot run the Go API, you should disable dynamic features in src/config/config.ts:
features: {
viewCounterEnabled: false,
// ...
},
api: {
lastfmEnabled: false,
// ...
}In that mode, you do not need any backend at all.
The simplest option is to keep using the public API:
VITE_API_BASE_URL=https://profile.kisakay.comSo you do not need to deploy the server/ folder.
Self-hosting the API is still possible if you want your own infrastructure, but it is not required to run your profile.
Deployment is handled by deploy-pages.yml.
In your fork, the main thing you need to adjust is VITE_BASE_PATH.
You can keep VITE_API_BASE_URL as-is to reuse the public API:
env:
VITE_API_BASE_URL: https://profile.kisakay.com
VITE_BASE_PATH: /Examples:
- custom domain:
VITE_BASE_PATH: / - user page
your-username.github.io:VITE_BASE_PATH: / - project page
your-username.github.io/my-profile/:VITE_BASE_PATH: /my-profile/
Only change VITE_API_BASE_URL if you explicitly want to connect your own API.
The file public/CNAME is used for a custom domain.
Replace its contents with your domain:
profile.example.comThen configure that same domain in the repository GitHub Pages settings.
Delete public/CNAME from your fork, otherwise GitHub Pages will try to use the original repo domain.
In your GitHub repository:
- go to
Settings - open
Pages - choose
GitHub Actionsas the deployment source if it is not already selected
Then push to main to trigger the workflow.
Before pushing, you can verify the frontend build:
npm install
npm run buildIf you want to test with a project-page base path, for example:
VITE_BASE_PATH=/repository-name/ npm run buildTo host your own profile with this repo:
- fork the repo
- edit src/config/config.ts and
public/assets - set
VITE_BASE_PATHfor your GitHub Pages URL - replace or remove public/CNAME
- keep
VITE_API_BASE_URL=https://profile.kisakay.comif you want to keep dynamic features - push to
main
The key point is: GitHub Pages hosts the frontend, and profile.kisakay.com is enough for the API side in normal use.