Files
fristydev/README.md
T
fristy ad943fff8c
Build & Push / Lint & Build (push) Successful in 1m15s
Build & Push / Build & Push Image (push) Successful in 52s
Initial commit: fristy.net personal site
2026-09-10 04:59:12 +03:00

2.3 KiB

fristy.net

My personal corner of the internet — projects, live Discord status, and ways to reach me.

Live: https://fristy.net

What's inside

  • Projects — pulled automatically from my self-hosted Gitea and refreshed hourly. If a repo has a website, the card links there; otherwise it goes straight to the repo.
  • Discord — live presence via Lanyard: status, game and activity artwork, Spotify, custom status. Refreshed every 15 seconds.
  • Contact & Social — email, Discord server, GitHub, Gitea, Spotify and Steam, each with its own card.
  • Three languages — Turkish, English and German. No path-style; your browser language is detected on the first visit, saved in a cookie, and switchable from the header anytime.

Stack

Next.js (App Router) · React · Tailwind CSS v4 · pnpm · Docker

Run it locally

You need Node LTS and pnpm.

pnpm install
pnpm dev          # http://localhost:3000
Script What it does
pnpm dev Start the dev server
pnpm build Production build
pnpm start Serve the production build
pnpm lint Run ESLint
pnpm format Format everything with Prettier
pnpm format:check Fail if anything is unformatted

Code style is 4 spaces, enforced by Prettier (.prettierrc), EditorConfig and VS Code settings — pnpm format fixes everything.

Docker

docker build -t fristynet .
docker run --rm -p 3000:3000 fristynet

No need to build it yourself though — CI publishes every main push:

docker pull git.fristy.net/fristy/fristynet:latest

CI/CD

Pushes to main (and v* tags) run format check, lint and build first. If those pass, the Docker image is built and pushed to the Gitea registry:

  • git.fristy.net/fristy/fristynet:latest on every main push
  • git.fristy.net/fristy/fristynet:<version> on tags like v1.2.0
  • git.fristy.net/fristy/fristynet:<sha> for every pushed commit

Pull requests only run the checks — nothing is pushed.

License

Apache-2.0 — see LICENSE.