This commit is contained in:
tuna2134
2025-04-29 03:52:28 +00:00
6 changed files with 55 additions and 10 deletions

25
Dockerfile Normal file
View File

@@ -0,0 +1,25 @@
FROM node:22-slim AS builder
WORKDIR /src
ENV OUTPUT=standalone
RUN corepack enable
COPY pnpm-lock.yaml package.json .
RUN pnpm install --frozen-lockfile
COPY . .
RUN pnpm build
FROM gcr.io/distroless/nodejs22-debian12
ENV NODE_ENV=production
WORKDIR /usr/src
COPY --chown=nonroot:nonroot ./public ./public
COPY --from=builder --chown=nonroot:nonroot /src/.next/standalone ./
COPY --from=builder --chown=nonroot:nonroot /src/.next/static ./.next/static
USER nonroot
EXPOSE 3000
CMD ["server.js"]

View File

@@ -7,11 +7,21 @@ export default function Home() {
<Header /> <Header />
<div className="mx-auto max-w-3xl px-4"> <div className="mx-auto max-w-3xl px-4">
<Timeline timeline={[ <Timeline timeline={[
{
title: "プログラミングの世界に入り込む",
datetime: "2020/07",
description: "Discord Botを作るためにPythonを学び始めた。",
},
{ {
title: "sbv2-api 誕生", title: "sbv2-api 誕生",
datetime: "2025/09", datetime: "2025/09",
description: "Discord botに組み込めたら面白いと思って開発を開始して作った。" description: "Discord botに組み込めたら面白いと思って開発を開始して作った。"
}, },
{
title: "New! ウェブサイト6代目開発開始(Proj C)",
datetime: "2025/04",
description: "前のサイトを変えたくなった。そして再び一から作ることにした。"
},
]} /> ]} />
</div> </div>
</> </>

View File

@@ -11,4 +11,8 @@ const nextConfig: NextConfig = {
} }
}; };
if (process.env.OUTPUT === "standalone") {
nextConfig.output = "standalone";
}
export default nextConfig; export default nextConfig;

View File

@@ -15,7 +15,7 @@
}, },
"devDependencies": { "devDependencies": {
"typescript": "^5", "typescript": "^5",
"@types/node": "^20", "@types/node": "^22.0.0",
"@types/react": "^19", "@types/react": "^19",
"@types/react-dom": "^19", "@types/react-dom": "^19",
"@tailwindcss/postcss": "^4", "@tailwindcss/postcss": "^4",

18
pnpm-lock.yaml generated
View File

@@ -22,8 +22,8 @@ importers:
specifier: ^4 specifier: ^4
version: 4.1.4 version: 4.1.4
'@types/node': '@types/node':
specifier: ^20 specifier: ^22.0.0
version: 20.17.31 version: 22.15.2
'@types/react': '@types/react':
specifier: ^19 specifier: ^19
version: 19.1.2 version: 19.1.2
@@ -301,8 +301,8 @@ packages:
'@tailwindcss/postcss@4.1.4': '@tailwindcss/postcss@4.1.4':
resolution: {integrity: sha512-bjV6sqycCEa+AQSt2Kr7wpGF1bOZJ5wsqnLEkqSbM/JEHxx/yhMH8wHmdkPyApF9xhHeMSwnnkDUUMMM/hYnXw==} resolution: {integrity: sha512-bjV6sqycCEa+AQSt2Kr7wpGF1bOZJ5wsqnLEkqSbM/JEHxx/yhMH8wHmdkPyApF9xhHeMSwnnkDUUMMM/hYnXw==}
'@types/node@20.17.31': '@types/node@22.15.2':
resolution: {integrity: sha512-quODOCNXQAbNf1Q7V+fI8WyErOCh0D5Yd31vHnKu4GkSztGQ7rlltAaqXhHhLl33tlVyUXs2386MkANSwgDn6A==} resolution: {integrity: sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==}
'@types/react-dom@19.1.2': '@types/react-dom@19.1.2':
resolution: {integrity: sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==} resolution: {integrity: sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==}
@@ -518,8 +518,8 @@ packages:
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
undici-types@6.19.8: undici-types@6.21.0:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
snapshots: snapshots:
@@ -706,9 +706,9 @@ snapshots:
postcss: 8.5.3 postcss: 8.5.3
tailwindcss: 4.1.4 tailwindcss: 4.1.4
'@types/node@20.17.31': '@types/node@22.15.2':
dependencies: dependencies:
undici-types: 6.19.8 undici-types: 6.21.0
'@types/react-dom@19.1.2(@types/react@19.1.2)': '@types/react-dom@19.1.2(@types/react@19.1.2)':
dependencies: dependencies:
@@ -910,4 +910,4 @@ snapshots:
typescript@5.8.3: {} typescript@5.8.3: {}
undici-types@6.19.8: {} undici-types@6.21.0: {}

6
renovate.json Normal file
View File

@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}