2022-11-11 15:52:53 +05:30
|
|
|
## Author Saransh Sharma @cynsar foundation
|
|
|
|
FROM node:18-alpine3.16 as build
|
|
|
|
|
2022-12-28 17:27:39 -05:00
|
|
|
ARG PORT
|
2022-11-13 11:49:01 +05:30
|
|
|
ARG PGHOST
|
|
|
|
ARG PGPORT
|
|
|
|
ARG PGDATABASE
|
|
|
|
ARG PGUSER
|
|
|
|
ARG PGPASSWORD
|
2022-11-11 15:52:53 +05:30
|
|
|
|
|
|
|
WORKDIR /build
|
|
|
|
|
2022-11-13 11:49:01 +05:30
|
|
|
## Build Setup for Railways
|
|
|
|
ENV DB_HOST=$PGHOST
|
|
|
|
ENV DB_PORT=$PGPORT
|
|
|
|
ENV DB_NAME=$PGDATABASE
|
|
|
|
ENV DB_USER=$PGUSER
|
|
|
|
ENV DB_PASSWORD=$PGPASSWORD
|
2022-11-11 15:52:53 +05:30
|
|
|
|
|
|
|
COPY ["package.json", "package-lock.json","knexfile.js","./"]
|
|
|
|
|
|
|
|
ADD migrations /build/migrations
|
|
|
|
|
2023-01-13 23:38:30 -05:00
|
|
|
RUN npm install -g knex@2.4.0 && npm install --quiet
|
2022-11-11 15:52:53 +05:30
|
|
|
|
|
|
|
RUN npm run db:migrate
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
RUN npm run build
|
|
|
|
|
|
|
|
FROM node:18-alpine3.16
|
|
|
|
|
2022-12-28 21:28:35 -05:00
|
|
|
ARG PORT
|
|
|
|
ARG PGHOST
|
|
|
|
ARG PGPORT
|
|
|
|
ARG PGDATABASE
|
|
|
|
ARG PGUSER
|
|
|
|
ARG PGPASSWORD
|
|
|
|
ARG REDISHOST
|
|
|
|
ARG REDISUSER
|
|
|
|
ARG REDISPORT
|
|
|
|
ARG REDISPASSWORD
|
2022-12-28 21:45:20 -05:00
|
|
|
ARG DEBUG
|
2022-12-28 22:00:21 -05:00
|
|
|
ARG DB_MIN_POOL_SIZE=16
|
|
|
|
ARG DB_MAX_POOL_SIZE=64
|
|
|
|
ARG WORKER_COUNT=8
|
2022-12-28 21:28:35 -05:00
|
|
|
|
2022-12-28 22:00:21 -05:00
|
|
|
ENV WORKER_COUNT=$WORKER_COUNT
|
2022-12-28 21:28:35 -05:00
|
|
|
ENV RELAY_PORT=$PORT
|
|
|
|
ENV DB_HOST=$PGHOST
|
|
|
|
ENV DB_PORT=$PGPORT
|
|
|
|
ENV DB_NAME=$PGDATABASE
|
|
|
|
ENV DB_USER=$PGUSER
|
|
|
|
ENV DB_PASSWORD=$PGPASSWORD
|
2022-12-28 22:00:21 -05:00
|
|
|
ENV DB_MIN_POOL_SIZE=$DB_MIN_POOL_SIZE
|
|
|
|
ENV DB_MAX_POOL_SIZE=$DB_MAX_POOL_SIZE
|
2022-12-28 21:28:35 -05:00
|
|
|
ENV NOSTR_CONFIG_DIR=/home/node/.nostr
|
|
|
|
|
|
|
|
ENV REDIS_HOST=$REDISHOST
|
|
|
|
ENV REDIS_PORT=$REDISPORT
|
|
|
|
ENV REDIS_USER=$REDISUSER
|
|
|
|
ENV REDIS_PASSWORD=$REDISPASSWORD
|
|
|
|
|
2022-12-28 17:27:39 -05:00
|
|
|
LABEL org.opencontainers.image.title="Nostream"
|
2024-10-22 19:08:21 -04:00
|
|
|
LABEL org.opencontainers.image.source=https://github.com/cameri/nostream
|
2022-12-24 15:44:38 -05:00
|
|
|
LABEL org.opencontainers.image.description="nostream"
|
2022-11-11 15:52:53 +05:30
|
|
|
LABEL org.opencontainers.image.authors="Ricardo Arturo Cabral Mejía"
|
|
|
|
LABEL org.opencontainers.image.licenses=MIT
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
COPY --from=build /build/dist .
|
|
|
|
|
|
|
|
RUN npm install --omit=dev --quiet
|
|
|
|
|
|
|
|
USER 1000:1000
|
|
|
|
|
2022-12-28 22:00:21 -05:00
|
|
|
RUN mkdir -p $NOSTR_CONFIG_DIR
|
2022-12-28 21:28:35 -05:00
|
|
|
|
2022-12-21 01:28:42 -05:00
|
|
|
CMD ["node", "src/index.js"]
|