Despliegue local
This commit is contained in:
2
build.develop.sh
Executable file
2
build.develop.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#/bin/bash
|
||||||
|
docker compose -f deployment/develop/docker/docker-compose.yaml --project-directory ./ build
|
||||||
2
build.local.sh
Executable file
2
build.local.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#/bin/bash
|
||||||
|
docker compose -f deployment/local/docker/docker-compose.yaml --project-directory ./ build
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
FROM node:22-alpine
|
FROM node:22-alpine
|
||||||
|
|
||||||
WORKDIR /home/node/app
|
WORKDIR /home/node/app
|
||||||
|
RUN chown -R node:node /home/node/app
|
||||||
|
USER node
|
||||||
|
|
||||||
COPY ./package.json ./package-lock.json ./
|
COPY --chown=node:node ./package.json ./package-lock.json ./
|
||||||
COPY ./src ./src
|
COPY --chown=node:node ./src ./src
|
||||||
|
|
||||||
# copia el codigo en general
|
# copia el codigo en general
|
||||||
COPY tsconfig.json ./
|
COPY --chown=node:node tsconfig.json ./
|
||||||
COPY .env* ./
|
COPY --chown=node:node .env* ./
|
||||||
COPY ./deployment/local/start.sh ./
|
COPY --chown=node:node ./deployment/local/start.sh ./
|
||||||
|
|
||||||
# Copiar el archivo de migrations? porque ahora no creo que se esté lanzando nada
|
# Copiar el archivo de migrations? porque ahora no creo que se esté lanzando nada
|
||||||
COPY ./deployment/database/migrations ./deployment/database/migrations
|
COPY --chown=node:node ./deployment/database/migrations ./deployment/database/migrations
|
||||||
|
|
||||||
RUN npm config set registry https://git.savefamilygps.net/api/packages/SaveFamily/npm/ &&\
|
RUN npm config set registry https://git.savefamilygps.net/api/packages/SaveFamily/npm/ &&\
|
||||||
echo "registry=https://registry.npmjs.org/" >> .npmrc &&\
|
echo "registry=https://registry.npmjs.org/" >> .npmrc &&\
|
||||||
npm install &&\
|
|
||||||
ls && npm run build:esbuild &&\
|
|
||||||
chmod +x start.sh
|
chmod +x start.sh
|
||||||
EXPOSE ${PORT}
|
EXPOSE ${PORT}
|
||||||
ENTRYPOINT [ "./start.sh" ]
|
ENTRYPOINT [ "./start.sh" ]
|
||||||
6
deployment/local/start.sh
Normal file
6
deployment/local/start.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
echo "Lanzando migraciones e iniciando servidor"
|
||||||
|
npm install
|
||||||
|
npm run migrate
|
||||||
|
npm run build:esbuild
|
||||||
|
npm run start
|
||||||
8
package-lock.json
generated
8
package-lock.json
generated
@@ -17,7 +17,7 @@
|
|||||||
"tsx": "^4.21.0"
|
"tsx": "^4.21.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sf-alvar/db-migrate": "^1.0.10",
|
"@sf-alvar/db-migrate": "^1.0.12",
|
||||||
"@types/ejs": "^3.1.5",
|
"@types/ejs": "^3.1.5",
|
||||||
"@types/express": "^5.0.6",
|
"@types/express": "^5.0.6",
|
||||||
"@types/node": "^25.6.0",
|
"@types/node": "^25.6.0",
|
||||||
@@ -485,9 +485,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sf-alvar/db-migrate": {
|
"node_modules/@sf-alvar/db-migrate": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.12",
|
||||||
"resolved": "https://git.savefamilygps.net/api/packages/SaveFamily/npm/%40sf-alvar%2Fdb-migrate/-/1.0.10/db-migrate-1.0.10.tgz",
|
"resolved": "https://git.savefamilygps.net/api/packages/SaveFamily/npm/%40sf-alvar%2Fdb-migrate/-/1.0.12/db-migrate-1.0.12.tgz",
|
||||||
"integrity": "sha512-tD8Ziytn0Yh88vCIL+vOKTwwSh3hDp+1ZX02eaPUQtmbec/Iz1Beq2izHU+vre1dHMGUPI9Tu79HsDbx159nfQ==",
|
"integrity": "sha512-llxt2JE1lWPSYgVmME8G9kGkV3yY1zWHxGY4nf1IjkUhQd1zcnnRPq9B3oS4M1W8GXx9IyM/dQhjkrqHEAJy+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -10,6 +10,9 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "tsx src/index.ts",
|
"dev": "tsx src/index.ts",
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
|
"build:esbuild": "esbuild --bundle src/index.ts --outdir=dist --platform=node --format=esm --packages=external && cp -r src/views dist/ ",
|
||||||
|
"start": "node dist/index.js",
|
||||||
|
"migrate": "db-migrate -e .env -m ./deployment/database/migrations/ -t 99.0.0",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -20,7 +23,7 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sf-alvar/db-migrate": "^1.0.10",
|
"@sf-alvar/db-migrate": "^1.0.12",
|
||||||
"@types/ejs": "^3.1.5",
|
"@types/ejs": "^3.1.5",
|
||||||
"@types/express": "^5.0.6",
|
"@types/express": "^5.0.6",
|
||||||
"@types/node": "^25.6.0",
|
"@types/node": "^25.6.0",
|
||||||
|
|||||||
2
run.local.sh
Executable file
2
run.local.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#/bin/bash
|
||||||
|
docker compose -f ./deployment/local/docker/docker-compose.yaml --project-directory ./ up --watch
|
||||||
@@ -4,9 +4,9 @@ import dotenv from 'dotenv';
|
|||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
export const pool = new pg.Pool({
|
export const pool = new pg.Pool({
|
||||||
host: process.env.DB_HOST,
|
host: process.env.POSTGRES_HOST,
|
||||||
port: Number(process.env.DB_PORT),
|
port: Number(process.env.POSTGRES_PORT),
|
||||||
user: process.env.DB_USER,
|
user: process.env.POSTGRES_USER,
|
||||||
password: process.env.DB_PASSWORD,
|
password: process.env.POSTGRES_PASSWORD,
|
||||||
database: process.env.DB_NAME
|
database: process.env.POSTGRES_DB
|
||||||
});
|
});
|
||||||
|
|||||||
2
stop.local.sh
Executable file
2
stop.local.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#/bin/bash
|
||||||
|
docker compose -f deployment/local/docker/docker-compose.yaml --project-directory ./ down -v
|
||||||
Reference in New Issue
Block a user