diff --git a/Dockerfile.railwayapp b/Dockerfile.railwayapp index 3e9f120..c3eae8d 100644 --- a/Dockerfile.railwayapp +++ b/Dockerfile.railwayapp @@ -1,6 +1,36 @@ ## Author Saransh Sharma @cynsar foundation FROM node:18-alpine3.16 as build +ARG PORT +ARG PGHOST +ARG PGPORT +ARG PGDATABASE +ARG PGUSER +ARG PGPASSWORD + +WORKDIR /build + +## Build Setup for Railways +ENV DB_HOST=$PGHOST +ENV DB_PORT=$PGPORT +ENV DB_NAME=$PGDATABASE +ENV DB_USER=$PGUSER +ENV DB_PASSWORD=$PGPASSWORD + +COPY ["package.json", "package-lock.json","knexfile.js","./"] + +ADD migrations /build/migrations + +RUN npm install -g knex@2.3.0 && npm install --quiet + +RUN npm run db:migrate + +COPY . . + +RUN npm run build + +FROM node:18-alpine3.16 + ARG PORT ARG PGHOST ARG PGPORT @@ -11,11 +41,7 @@ ARG REDISHOST ARG REDISUSER ARG REDISPORT ARG REDISPASSWORD -ARG DEBUG -WORKDIR /build - -## Build Setup for Railways ENV RELAY_PORT=$PORT ENV DB_HOST=$PGHOST ENV DB_PORT=$PGPORT @@ -24,30 +50,13 @@ ENV DB_USER=$PGUSER ENV DB_PASSWORD=$PGPASSWORD ENV DB_MIN_POOL_SIZE=16 ENV DB_MAX_POOL_SIZE=64 -ENV NOSTR_CONFIG_DIR=/home/node/ +ENV NOSTR_CONFIG_DIR=/home/node/.nostr ENV REDIS_HOST=$REDISHOST ENV REDIS_PORT=$REDISPORT ENV REDIS_USER=$REDISUSER ENV REDIS_PASSWORD=$REDISPASSWORD -COPY ["package.json", "package-lock.json","knexfile.js","./"] - -ADD migrations /build/migrations - -RUN mkdir /home/node/.nostr - -RUN npm install -g knex@2.3.0 && npm install --quiet - -RUN npm run db:migrate - - -COPY . . - -RUN npm run build - -FROM node:18-alpine3.16 - LABEL org.opencontainers.image.title="Nostream" LABEL org.opencontainers.image.source=https://github.com/Cameri/nostream LABEL org.opencontainers.image.description="nostream" @@ -63,4 +72,6 @@ RUN npm install --omit=dev --quiet USER 1000:1000 +RUN mkdir -p /home/node/.nostr + CMD ["node", "src/index.js"]