@@ -82,18 +82,20 @@ pipeline performs the following steps:
8282
83831 . Checks out the latest code.
84842 . Installs Node.js dependencies for the CosmoView frontend and builds the production bundle.
85- 3 . Copies the repository to ` /opt/nasa-sky-explorer ` on your EC2 instance via ` rsync ` (skipping
86- local build artefacts such as ` node_modules/ ` ).
85+ 3 . Copies the repository to ` /opt/nasa-sky-explorer ` on your EC2 instance via ` rsync ` , including
86+ the built ` CosmoView/dist/public ` assets (but excluding local build artefacts like
87+ ` node_modules/ ` ).
87884 . Creates a dedicated service user (` nasaapp ` ) if it doesn't exist.
88895 . Sets proper ownership and permissions for the application directory.
89906 . Installs Python dependencies in a virtual environment owned by the service user.
90- 7 . Installs CosmoView dependencies on the EC2 host and rebuilds the Vite bundle (or reuses the
91- synced ` CosmoView/dist/public ` assets if the source directory is absent ).
91+ 7 . Validates that the frontend assets were synced successfully (no rebuild on the server needed if
92+ Node.js isn't available ).
92938 . Applies necessary capabilities to bind to port 80 (if running on a privileged port).
93949 . Restarts the systemd service or launches Uvicorn as a background process.
9495
95- > ** Prerequisite:** Ensure Node.js (v20 or newer recommended) is available on the EC2 instance so
96- > the deployment script can run ` npm install ` and ` npm run build ` inside ` CosmoView/ ` .
96+ > ** Note:** Node.js is ** not required** on the EC2 instance since the frontend is built by the
97+ > GitHub Actions runner and synced as a prebuilt bundle. You only need Node.js on the server if you
98+ > plan to rebuild the frontend manually after deployment.
9799
98100### Required GitHub secrets
99101
0 commit comments