Compare commits
2 commits
d07dbeb61f
...
bf886de260
| Author | SHA1 | Date | |
|---|---|---|---|
| bf886de260 | |||
| ab7105a149 |
4 changed files with 67 additions and 14 deletions
28
Dockerfile
Normal file
28
Dockerfile
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
FROM node:22-bookworm-slim AS builder
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package*.json ./
|
||||||
|
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
|
||||||
|
FROM node:22-bookworm-slim AS runner
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
ENV HOST=0.0.0.0
|
||||||
|
ENV PORT=4321
|
||||||
|
|
||||||
|
COPY --from=builder /app/package*.json ./
|
||||||
|
COPY --from=builder /app/node_modules ./node_modules
|
||||||
|
COPY --from=builder /app/dist ./dist
|
||||||
|
|
||||||
|
EXPOSE 4321
|
||||||
|
|
||||||
|
CMD ["node", "./dist/server/entry.mjs"]
|
||||||
21
compose.yaml
Normal file
21
compose.yaml
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
services:
|
||||||
|
portfolio:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
container_name: semyon-portfolio
|
||||||
|
restart: unless-stopped
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
HOST: 0.0.0.0
|
||||||
|
PORT: 4321
|
||||||
|
expose:
|
||||||
|
- "4321"
|
||||||
|
networks:
|
||||||
|
- web
|
||||||
|
|
||||||
|
networks:
|
||||||
|
web:
|
||||||
|
name: portfolio_web
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
<nav class="hidden items-center md:flex">
|
<nav class="hidden items-center md:flex">
|
||||||
<div class="flex items-center gap-1">
|
<div class="flex items-center gap-1">
|
||||||
<a
|
<a
|
||||||
href="/#projects"
|
href="/projects"
|
||||||
class="group relative px-3 py-2 font-mono text-[10px] uppercase tracking-widest text-[var(--muted)] transition-colors hover:text-[var(--text)]"
|
class="group relative px-3 py-2 font-mono text-[10px] uppercase tracking-widest text-[var(--muted)] transition-colors hover:text-[var(--text)]"
|
||||||
>
|
>
|
||||||
<span>PROJECTS</span>
|
<span>PROJECTS</span>
|
||||||
|
|
@ -86,7 +86,7 @@
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
aria-label="GitHub"
|
aria-label="GitHub"
|
||||||
class="group flex h-8 w-8 items-center justify-center border border-[var(--border)] font-mono text-[10px] text-[var(--muted)] transition-colors hover:border-[var(--text)] hover:text-[var(--text)]"
|
class="group flex h-8 w-8 items-center justify-center border border-[var(--border)] font-mono text-[10px] text-[var(--muted)] transition-colors hover:border-[var(--text)] hover:text-[var(--text)]"
|
||||||
>
|
> <span>GITHUB</span>
|
||||||
<span class="transition-transform duration-200 group-hover:translate-x-0.5 group-hover:-translate-y-0.5">
|
<span class="transition-transform duration-200 group-hover:translate-x-0.5 group-hover:-translate-y-0.5">
|
||||||
↗
|
↗
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,7 @@
|
||||||
<!-- Terminal header -->
|
<!-- Terminal header -->
|
||||||
<div
|
<div
|
||||||
class="flex items-center justify-between border-b border-[var(--border)] px-4 py-3"
|
class="flex items-center justify-between border-b border-[var(--border)] px-4 py-3"
|
||||||
>
|
>
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<span class="h-2 w-2 rounded-full bg-[var(--accent)]"></span>
|
<span class="h-2 w-2 rounded-full bg-[var(--accent)]"></span>
|
||||||
|
|
||||||
|
|
@ -131,10 +131,14 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="text-[var(--accent)]">
|
<a
|
||||||
OPERATIONAL
|
href="/rickroll"
|
||||||
</span>
|
class="text-[var(--accent)] transition-opacity hover:opacity-60"
|
||||||
</div>
|
aria-label="System status"
|
||||||
|
>
|
||||||
|
● ONLINE
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="p-5">
|
<div class="p-5">
|
||||||
<!-- Terminal prompt -->
|
<!-- Terminal prompt -->
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue