From 91150f03b2aa860ad4668a4cb1e9b15884828b0a Mon Sep 17 00:00:00 2001 From: Brian McGonagill Date: Mon, 29 Jul 2024 10:41:51 -0500 Subject: [PATCH] Updated readme --- README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/README.md b/README.md index 5aba949..86c59e2 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,52 @@ Open source shopping / list app. If you were using this previously, the new updates change the data structure. Please remove your old database if you find odd behavior or errors. The data structures may simply be incompatible. I apologize for any inconvenince as I simplify the app a bit. +## Install and Run +NOTE: if you have a cpu without the AVX instruction set, you can change the line 'image: mongo' to be 'image: mongo:4.4'in the docker compose below. + +### Docker / Docker Compose +You can use this docker compose file to get the system up and running. + +``` +--- +services: + get_my: + container_name: get_my + image: bmcgonag/get_my:latest + ports: + - "80:3000" # you can change the left side to a less common port number if needed + healthcheck: + test: curl --fail -s http://localhost:3000/ || exit 1 + interval: 30s + timeout: 10s + retries: 3 + links: + - mongo + depends_on: + - mongo + restart: unless-stopped + mongo: + container_name: get_my-mongo + image: mongo + volumes: + - ./data:/data/db # this will store the application data in the same directory where you have the docker-compose.yml file. + restart: unless-stopped +``` + +### On Host using NodeJS +1. You need to have a mongo database instance installed and ready to use. You also need to know the port it uses, as well as create a database in mongo for the 'Get My' application. I recommend naming the database 'get-my'. +2. You need to have NodeJS installed (the hard part is that this application is build in MeteorJS, and currently uses a node version of 14.21.4 - which you'll find isn't available for download from node themselves anymore). You need 14.21.4 and can get a tar.gz file of it here: https://guide.meteor.com/using-node-v14.21.4 +3. Once setup. you need to set some environment variables + - `ROOT_URL=`(whatever you want your node application to accessed at, e.g. `http://localhost`, etc) + - `MONGO_URL=`(ip and port for your mongodb in this format `mongodb://localhost:27017/get-my`) This is the url for the application to reach the mongo database, and does not have to exist on the same machine, but must be reachable by IP or hostname, and port. The 'get-my' in this url is the database name you setup. + - `PORT=3000` + - `MAIL_URL=` not a working feature yet, but if you want smtp email to work you'd need to set this to be something like `smtp://USERNAME:PASSWORD@HOST:PORT` +4. Download the source bundle (I'll add a url to release bundle soon) +5. unzip the source bundle +5. Move into the bundle/program/server folder, and run `npm install`. This should install all needed dependancies. +6. move back to the bundle folder, and run `node main.js`. This will start the application running. +7. There are multiple node applications to help keep a node js app running in the background, like PM2, etc...but I'll leave that up to you to get going. + ## Keeping it Simple - Registration / Login System built in - 1st user to register is the system admin by default.