# 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 * ref: https://github.com/graphile/postgraphile/issues/1583 - [ ] 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 * this is the bulk of the real outstanding work, outside of breakages that happend during dep updates between Jun 14 - Aug (of which I'm only aware of the proxying issue, see previous) * follow react-admin upgrade guide https://marmelab.com/react-admin/Upgrade.html * in particular: https://marmelab.com/react-admin/Upgrade.html#no-more-prop-injection-in-page-components * I started this in commit 49650795dff5249c89975d3c0b1cf12836304647 * so you can follow the same pattern in future commits to fix the signal, whatsapp and twilio pages - [ ] 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 * https://mui.com/material-ui/migration/v5-style-changes/ * the codemods might help us? - [ ] Delete old JWT config options stuff in `packages/metamigo-config` * the JWT is no longer used bdad5f551c536d751be87ecb8464d16c82e32699 and 24d52eef3d26ac5ee1294b949490920765fca96f * 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.