Development: Getting Started
After reading through the Code Contributions Guide and forking the repo you can start working. This project is developed with docker and as such you will be greatly aided by using docker for development. It's not necessary but it is helpful.
You can easily start the development stack by running
make docker-dev in the root of the project directory. This will run and build the docker-compose.dev.yml file.
- Python 3.9+
Once the prerequisites are installed you can cd into the project base directory and run
make setup to install the python and node dependencies. Once that is complete you can run
make backend and
make vue to start the backend and frontend servers.
Make File Reference
make setup installs python and node dependencies
make backend Starts the backend server on port
make vue Starts the frontend server on port
make mdocs Starts the documentation server on port
make docker-dev Builds docker-compose.dev.yml
make docker-prod Builds docker-compose.yml to test for production
Symptom: Vue Development Server Wont Start
TypeError: Cannot read property 'upgrade' of undefined
Solution: You may be missing the
/frontend/.env.development. The contents should be
VUE_APP_API_BASE_URL=http://127.0.0.1:9921. This is a reference to proxy the the API requests from Vue to 127.0.0.1 at port 9921 where FastAPI should be running.
Symptom: FastAPI Development Server Wont Start
RuntimeError: Directory '/app/dist' does not exist
Solution: Create an empty /mealie/dist directory. This directory is served as static content by FastAPI. It is provided during the build process and may be missing in development.
Run into another issue? Ask for help on discord