Installation and Deployment =========================== The SEEDS application is designed to be deployed as a single Docker container, which runs both the frontend and the backend services. Prerequisites ------------- * **Docker**: Ensure Docker is installed and running on your system. Docker Deployment ----------------- Building the Image ~~~~~~~~~~~~~~~~~~ To build the Docker image, run the following command from the project root: .. code-block:: bash docker build -t seeds-app . Running the Container ~~~~~~~~~~~~~~~~~~~~~ To run the application, use the following command (ensure port 8080 is mapped): .. code-block:: bash docker run -p 8080:8080 seeds-app Configuration ------------- Environment Variables ~~~~~~~~~~~~~~~~~~~~~ The backend requires specific environment variables to function correctly, particularly for the OIDC authentication. These variables should be passed to the Docker container at runtime or defined in a ``.env`` file (if running locally). .. list-table:: Environment Variables :widths: 30 70 :header-rows: 1 * - Variable - Description * - ``OIDC_BASE`` - Base URL of the IAM provider. * - ``OIDC_REALM`` - The IAM realm to authenticate against. * - ``OIDC_CLIENT_ID`` - The OpenID Connect Client ID. * - ``OIDC_CLIENT_SECRET`` - **Critically Confidential**. The secret used for token exchange. * - ``BACKEND_PORT`` - Port for the internal Node.js backend. Local Development ----------------- For local development without Docker: 1. **Frontend**: .. code-block:: bash npm install npm run dev 2. **Backend**: Navigate to the ``backend/`` directory (or root if integrated) and run: .. code-block:: bash node server.js *Note: Ensure the required environment variables are set in your local shell.*