link-stack/README.md

2.9 KiB

Dev Setup

NOTE: When using Gitpod/Codespaces, use at least 16GB RAM

Local dev with docker-compose

  • Create link-stack/.env from Bitwarden .env for root of link-stack
  • Run local dev with docker-compose:
    git clone ...
    cd link-stack
    make start-dev
    

Or for local dev of a single app

  • Create link-stack/.env from Bitwarden .env for root of link-stack
  • Build locally for development:
    npm install
    npm run docker:metamigo:dev:up # start supporting containers for metamigo
    npm run build                  # compile the apps
    npm run migrate                # this migrates the db
    npm run dev:metamigo           # this runs metamigo frontend, api, and worker
    

TODO

Notes from abel regarding metamigo. these are in priority order (high priority first)

  • Do not upgrade: postgraphile, graphql and other postgres dependencies until postgrahile supports a newer grapqhl version
  • Fix the proxying from metamigo-frontend to metamigo-api, this broke during the next.js pages/api -> app/api/*route.js change.
    • or consider removing the proxy and having the frontend talk directly to the backend, though this may be more work.
  • Upgrade metamigo-frontend react-admin components
  • Get metamigo-worker working
    • the package.json entry points need to be fixed to be like metamigo-api
    • the worker needs a main.ts file like metamigo-api that starts the worker (without the api) await startWithout(["server"]);
    • while you're at it, I recomnmend moving all source files into a src to be consistent with the other metamigo projects
  • Migrate off mui/styles
  • Delete old JWT config options stuff in packages/metamigo-config
    • the JWT is no longer used bdad5f551c and 24d52eef3d
    • so all of the config related to the JWT can be removed: signingkey (and b64 one), encryption key (and b64 one), audience
  • Consolidate config.. this is basically done. The idea is to not need a config js file, everything can be populated from a root level .env file. This is already done, I have been developing like this for awhile, but I notice in your .env file on bitwarden you're still using the config file.