To get set up with a local instance of Juxtaposition, you need the following things:
- Docker Desktop (Or docker engine if you're used to that)
- NodeJS 20+
After you have those installed, we will need to set up the following services:
- Dependent services - These are all tools that the network needs, like databases and proxies. They run in docker
- Juxtaposition UI - The service that serves all the frontend for all platforms
- Miiverse API - This is the backend of Juxtaposition UI and miiverse functionality, it's required for the UI to run
- Run
docker compose up -dwhiel being in the/.dockerfolder. - Follow the initialization steps listed in
/.docker/README.md.
That's all, now move on the next step!
- Go into the
/apps/miiverse-apifolder, create the file.envwith the following contents:PN_MIIVERSE_API_USE_PRESETS=docker
- Install required dependencies with
npm i - Initialize the database with
npm run migration:deploy - Run the service with
npm run dev
You have to keep this server running while testing and using Juxtaposition.
Tip: Read Extra topics / Databases and migrations to learn how to work with the databases of Juxtaposition.
- Go into the
/apps/juxtaposition-uifolder, create the file.envwith the following contents:PN_JUXTAPOSITION_UI_USE_PRESETS=docker
- Install required dependencies with
npm i - Run the service with
npm run dev
You have also have to keep this server running while testing and using Juxtaposition.
If you want to connect to Juxtaposition through your browser, follow these steps:
- Install Firefox
- In firefox, create a new profile for Juxtaposition by going to
profiles > new profile. Choose a cool name likejuxt. - Go into settings, search for
connection and software security. ClickAdvanced settingsand thenConfigure proxy, configure the following:- Select
Manual proxy configuration - HTTP proxy:
localhost - HTTP proxy port:
888 - Select
Also use this proxy for HTTPS - Keep the rest as default & press OK
- Select
- Go to
Extensions and themes, select the settings icon and chooseInstall extension from file- Choose the file at
.docker/juxt-cookie-sync/juxt-cookie-sync-1.0.xpi - This will log you in to all Juxtaposition platforms when using your firefox profile.
- Choose the file at
Done! Now when you use this firefox profile, it will be connected to your local Juxtaposition instance.
You now have a working local setup of Juxtaposition!
Here are a couple useful links:
- Proxy dashboard (password is
letmein) - Local Juxtaposition web (Use the firefox profile)
- Local Juxtaposition portal (WiiU) (Use the firefox profile)
- Local Juxtaposition ctr (3ds) (Use the firefox profile)