From b4d798f7f2ac7d50635a5157c2956034ffde10c4 Mon Sep 17 00:00:00 2001 From: stephen Date: Tue, 7 Nov 2023 10:35:44 -0500 Subject: [PATCH] Removing comments, moving db location, removing compose.yml made simple dockerfile --- .dockerignore | 6 ------ Dockerfile | 38 ++++---------------------------------- compose.yaml | 51 --------------------------------------------------- index.js | 2 +- 4 files changed, 5 insertions(+), 92 deletions(-) delete mode 100644 compose.yaml diff --git a/.dockerignore b/.dockerignore index 39d8fbe..da0cc4d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,9 +1,3 @@ -# Include any files or directories that you don't want to be copied to your -# container here (e.g., local build artifacts, temporary files, etc.). -# -# For more help, visit the .dockerignore file reference guide at -# https://docs.docker.com/engine/reference/builder/#dockerignore-file - **/.classpath **/.dockerignore **/.env diff --git a/Dockerfile b/Dockerfile index b0d16a9..6a1b374 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,36 +1,6 @@ -# syntax=docker/dockerfile:1 - -# Comments are provided throughout this file to help you get started. -# If you need more help, visit the Dockerfile reference guide at -# https://docs.docker.com/engine/reference/builder/ - -ARG NODE_VERSION=18.17.1 - -FROM node:${NODE_VERSION}-alpine - -# Use production node environment by default. -ENV NODE_ENV production - - +FROM node:16-alpine WORKDIR /usr/src/app - -# Download dependencies as a separate step to take advantage of Docker's caching. -# Leverage a cache mount to /root/.npm to speed up subsequent builds. -# Leverage a bind mounts to package.json and package-lock.json to avoid having to copy them into -# into this layer. -RUN --mount=type=bind,source=package.json,target=package.json \ - --mount=type=bind,source=package-lock.json,target=package-lock.json \ - --mount=type=cache,target=/root/.npm \ - npm ci --omit=dev - -# Run the application as a non-root user. -USER node - -# Copy the rest of the source files into the image. +COPY package*.json ./ +RUN npm install COPY . . - -# Expose the port that the application listens on. -EXPOSE 3232 - -# Run the application. -CMD node index.js +CMD ["node", "index.js"] diff --git a/compose.yaml b/compose.yaml deleted file mode 100644 index 5b775b9..0000000 --- a/compose.yaml +++ /dev/null @@ -1,51 +0,0 @@ -# Comments are provided throughout this file to help you get started. -# If you need more help, visit the Docker compose reference guide at -# https://docs.docker.com/compose/compose-file/ - -# Here the instructions define your application as a service called "server". -# This service is built from the Dockerfile in the current directory. -# You can add other services your application may depend on here, such as a -# database or a cache. For examples, see the Awesome Compose repository: -# https://github.com/docker/awesome-compose -services: - server: - build: - context: . - environment: - NODE_ENV: production - ports: - - 3232:3232 - -# The commented out section below is an example of how to define a PostgreSQL -# database that your application can use. `depends_on` tells Docker Compose to -# start the database before your application. The `db-data` volume persists the -# database data between container restarts. The `db-password` secret is used -# to set the database password. You must create `db/password.txt` and add -# a password of your choosing to it before running `docker-compose up`. -# depends_on: -# db: -# condition: service_healthy -# db: -# image: postgres -# restart: always -# user: postgres -# secrets: -# - db-password -# volumes: -# - db-data:/var/lib/postgresql/data -# environment: -# - POSTGRES_DB=example -# - POSTGRES_PASSWORD_FILE=/run/secrets/db-password -# expose: -# - 5432 -# healthcheck: -# test: [ "CMD", "pg_isready" ] -# interval: 10s -# timeout: 5s -# retries: 5 -# volumes: -# db-data: -# secrets: -# db-password: -# file: db/password.txt - diff --git a/index.js b/index.js index 22f9065..79387b9 100644 --- a/index.js +++ b/index.js @@ -7,7 +7,7 @@ const wspf = require('websocket-polyfill'); const WebSocket = require('ws'); const xmpp = require('simple-xmpp'); -var db = new sqlite3.Database('nip26.db'); +var db = new sqlite3.Database('~/.config/nostrsms/nip26.db'); let { bech32, bech32m } = require('bech32'); let letsCID;