v1: hello world node app

This commit is contained in:
Dev
2026-11-04 12:28:44 +08:00
commit 7b10346296
4 changed files with 57 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
node_modules/
npm-debug.log*

12
Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM node:22-alpine
WORKDIR /app
COPY package.json ./
COPY index.js ./
ENV NODE_ENV=production
ENV PORT=3000
EXPOSE 3000
CMD ["node", "index.js"]

30
index.js Normal file
View File

@@ -0,0 +1,30 @@
const http = require('http');
const os = require('os');
const PORT = Number(process.env.PORT || 3000);
const VERSION = process.env.APP_VERSION || 'v1';
const startedAt = new Date().toISOString();
const server = http.createServer((req, res) => {
if (req.url === '/healthz') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('ok');
return;
}
res.writeHead(200, { 'Content-Type': 'application/json; charset=utf-8' });
res.end(JSON.stringify({
message: 'Hello World from Gitea + Coolify!',
version: VERSION,
hostname: os.hostname(),
startedAt,
now: new Date().toISOString(),
path: req.url
}, null, 2));
});
server.listen(PORT, '0.0.0.0', () => {
console.log(`hello-coolify ${VERSION} listening on 0.0.0.0:${PORT}`);
});
process.on('SIGTERM', () => server.close(() => process.exit(0)));

13
package.json Normal file
View File

@@ -0,0 +1,13 @@
{
"name": "hello-coolify",
"version": "1.0.0",
"private": true,
"description": "Node.js hello world for Gitea + Coolify demo",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"engines": {
"node": ">=20"
}
}