Updated readme

This commit is contained in:
Brian McGonagill 2024-07-29 10:41:51 -05:00
parent d8c08578f3
commit 91150f03b2

View file

@ -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.