This program is still in development. To build it yourself, you need a firebase realtime database and an ESI endpoint.
- Create an ESI access point in https://developers.eveonline.com/ with the same scopes present in login.py
- Copy the client id, secret key, and a randomly generated flask secret key to the variables ESI_CLIENT_ID, ESI_SECRET_KEY, and FLASK_SECRET_KEY in config.py in an instance folder
- Copy your firebase account info to firebaseAccount.json in the same instance folder. It should contain fields like "private_key_id", "auth_provider_x509_cert_url", etc
- This was developed on Python 3.8.10+, make sure you're running an venv with that.
- Run pip install -r requirements.txt
- Run bin/evemerun. You may need to chmod +x the file before running
If you don't have the fields already created in your firebase DB (like users, prices, etc) you may need to create them beforehand.
- Figure out SSL certs
- Figure out if Redis caching is worth it
- Decide if we need a different database or if firebase is ok. Perhaps s3 for storing profile pictures and something like postgres for storing price data etc?
- Add feature that lets you paste items and compare total profit if shipped
Build the images and run the containers dev:
$ docker-compose up -d --build
Test it out at http://localhost:5000. The "web" folder is mounted into the container and your code changes apply automatically.
To take it down run
$ docker-compose down -v
Build the images and run the containers prod:
$ docker-compose -f docker-compose.prod.yml up -d --build
Test it out at http://localhost:1337. No mounted folders. To apply changes, the image must be re-built.
To take it down run
$ docker-compose -f docker-compose.prod.yml down -v