Skip to content

Commit 11ffe92

Browse files
authored
Merge pull request #44 from ut-code/develop
release: GCS / Deploy Settings
2 parents 602aa29 + ddd4d4d commit 11ffe92

File tree

6 files changed

+99
-3
lines changed

6 files changed

+99
-3
lines changed

.dockerignore

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
node_modules
2+
npm-debug.log
3+
*/node_modules
4+
dist
5+
build
6+
.git
7+
.gitignore
8+
README.md
9+
*.md
10+
.env
11+
.env.local
12+
.env.production
13+
.env.*
14+
coverage
15+
.DS_Store
16+
*.log
17+
client/dist
18+
client/build
19+
client/functions
20+
client/public
21+
client/src
22+
client/*.html
23+
client/*.json
24+
client/*.ts
25+
client/*.js
26+
client/wrangler.toml
27+
server/dist
28+
bun.lock
29+
compose.yml
30+
shell.nix
31+
CLAUDE.local.md
32+
biome.jsonc

Dockerfile

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
FROM node:20 AS builder
2+
WORKDIR /app
3+
4+
COPY package*.json ./
5+
COPY common/package*.json common/
6+
COPY server/package*.json server/
7+
RUN npm ci
8+
9+
COPY common ./common
10+
COPY server ./server
11+
RUN npm run build:server
12+
13+
FROM node:20-slim
14+
WORKDIR /app
15+
16+
RUN apt-get update && apt-get install -y openssl && rm -rf /var/lib/apt/lists/*
17+
18+
COPY --from=builder /app/server/dist ./server/dist
19+
COPY --from=builder /app/server/package*.json ./server/
20+
COPY --from=builder /app/server/prisma ./server/prisma
21+
COPY --from=builder /app/package*.json ./
22+
23+
WORKDIR /app/server
24+
RUN npm ci --omit=dev
25+
26+
RUN npx prisma generate
27+
28+
WORKDIR /app
29+
30+
ENV NODE_ENV=production \
31+
PORT=3000
32+
EXPOSE 3000
33+
34+
CMD ["npm", "run", "start:server"]

client/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<meta property="og:locale" content="ja_JP" />
1515
<meta name="twitter:card" content="summary_large_image" />
1616
<meta name="twitter:site" content="@utokyo_code" />
17+
<meta name="google-site-verification" content="ZdWkLVR4AwMczeCjsJNgGqLrifVHcdwq_Bb0Hphc248" />
1718
</head>
1819

1920
<body style="height: 100%" class="text-gray-600">

fly.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# fly.toml app configuration file generated for itsuhima-server on 2025-06-19T13:42:28+09:00
2+
#
3+
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
4+
#
5+
6+
app = 'itsuhima-server'
7+
primary_region = 'nrt'
8+
9+
[build]
10+
dockerfile = 'Dockerfile'
11+
12+
[env]
13+
NODE_ENV = 'production'
14+
PORT = '3000'
15+
16+
[http_service]
17+
internal_port = 3000
18+
force_https = true
19+
auto_stop_machines = 'stop'
20+
auto_start_machines = true
21+
min_machines_running = 0
22+
processes = ['app']
23+
24+
[[vm]]
25+
memory = '512mb'
26+
cpu_kind = 'shared'
27+
cpus = 1

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
"dev:server": "cd server && npm run dev",
99
"dev:client": "cd client && npm run dev",
1010
"dev:db": "docker compose up",
11+
"build:server": "cd server && npm run build",
12+
"start:server": "node server/dist/server/src/main.js",
1113
"check": "npx biome check",
1214
"fix": "npx @biomejs/biome check --fix --unsafe",
1315
"fix:safe": "npx @biomejs/biome check --fix"

server/src/main.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import projectsRoutes from "./routes/projects.js";
99
export const prisma = new PrismaClient();
1010

1111
const app = express();
12-
const port = 3000;
12+
const port = process.env.PORT || 3000;
1313

1414
const allowedOrigins = process.env.CORS_ALLOW_ORIGINS?.split(",") || [];
1515

@@ -29,8 +29,8 @@ app.get("/", (req, res) => {
2929

3030
app.use("/projects", projectsRoutes);
3131

32-
app.listen(port, () => {
33-
console.log(`Server listening on port ${port}`);
32+
app.listen(Number(port), "0.0.0.0", () => {
33+
console.log(`Server listening on 0.0.0.0:${port}`);
3434
});
3535

3636
const isProduction = process.env.NODE_ENV === "prod";

0 commit comments

Comments
 (0)