No description
  • TypeScript 75.9%
  • MDX 17.2%
  • CSS 5.2%
  • HTML 0.7%
  • JavaScript 0.6%
  • Other 0.4%
Find a file
PoweredDeveloper 952e903e0a
Some checks failed
CI/CD / ci (push) Failing after 1m34s
CI/CD / deploy (push) Has been skipped
feat: add proper layout and footer
2026-08-07 01:28:00 +03:00
.forgejo feat: add forgejo workflow; update README 2026-06-10 01:05:31 +03:00
.github/workflows ci: update ci checks 2026-03-23 14:59:24 +03:00
img feat: add forgejo workflow; update README 2026-06-10 01:05:31 +03:00
public feat: add stamp font 2026-08-06 23:36:10 +03:00
src feat: add proper layout and footer 2026-08-07 01:28:00 +03:00
.dockerignore feat: add new navbar; update project dependencies and clean up unused files 2026-02-18 18:53:04 +03:00
.gitignore feat: add new navbar; update project dependencies and clean up unused files 2026-02-18 18:53:04 +03:00
.prettierignore first commit 2026-02-18 00:39:19 +03:00
.prettierrc first commit 2026-02-18 00:39:19 +03:00
docker-compose.yml chore: update Docker restart policy and improve navbar time initialization 2026-02-18 23:11:42 +03:00
Dockerfile perf: switch to SWC and optimize Docker build for low-memory servers 2026-02-18 01:30:00 +03:00
eslint.config.js first commit 2026-02-18 00:39:19 +03:00
index.html feat: add proper layout and footer 2026-08-07 01:28:00 +03:00
nginx.conf first commit 2026-02-18 00:39:19 +03:00
package.json chore: remove unused deps 2026-06-30 09:00:45 +03:00
pnpm-lock.yaml feat: add unsplash images to bg; add theme switching hook 2026-08-06 02:58:55 +03:00
README.md feat: add forgejo workflow; update README 2026-06-10 01:05:31 +03:00
tsconfig.app.json first commit 2026-02-18 00:39:19 +03:00
tsconfig.json first commit 2026-02-18 00:39:19 +03:00
tsconfig.node.json first commit 2026-02-18 00:39:19 +03:00
vite.config.ts feat: update guides; add mdxs 2026-03-13 10:11:53 +05:00

Website preview

Personal website (mikyss.ru)

React - portfolio and projects. Built with Vite, TanStack Router, Tailwind CSS.

Stack

  • React 19 + TypeScript
  • Vite — dev server and build
  • TanStack Router — file-based routing
  • Tailwind CSS 4 — styling
  • i18next — i18n

Development

Prerequisites: Node.js 22+ and pnpm.

pnpm install
pnpm run dev

Docker

Multi-stage build: Node builds the app, nginx serves static files.

Build and run:

docker compose up -d --build

The app listens on port 80 inside the container. No port is published by default; it’s intended to sit behind a reverse proxy.

External network: Compose uses the proxy-net network. Create it once if it doesn’t exist:

docker network create proxy-net

Deployment

  1. Build and run the portfolio on the server (e.g. in its own directory) with the same docker-compose.yml, so the portfolio container is on proxy-net.

  2. Reverse proxy: Nginx (or another proxy) must also be on proxy-net and proxy to http://portfolio:80.

Project layout

src/
  app/
    routes/          # TanStack Router (index, portfolio, …)
    main.tsx
  components/
  lib/
  styles/
deploy/              # Nginx proxy configs for deployment
Dockerfile
nginx.conf           # In-container nginx for SPA
docker-compose.yml