Skip to main content

Containers information

This page contains information about the various services that make up Pretendo Docker and how to administer them.

Infrastructure

info

Check the secrets.txt file in the root of the repository to find the usernames and randomly-generated passwords needed to authenticate with the servers.

ServerPurposeUsage and administration
CoreDNSDNS server for both internal container networking and external DNS resolution. It spoofs the Pretendo domains to the address of your local server.No administration necessary.
nginxReverse proxy and Web server. It sends HTTP requests to the right Pretendo server based on their hostname.No administration necessary.
MongoDBPrimary database that the Pretendo account and Juxtaposition servers use to store PNIDs and Juxtaposition content.Use Mongo Express (see below) to view the databases and perform simple edits. You can also use the mongosh command inside the container for more advanced administration tasks or download the MongoDB Compass GUI for easier database editing. (Connect to mongodb://127.0.0.1:27017/?directConnection=true. Make sure to enable "Use direct connection".)
Mongo ExpressSimple web GUI for MongoDB administration.Open 127.0.0.1:8082 in your browser with the container running.
MinIOObject store compatable with the AWS S3 API. It is used as file storage and a CDN for the Pretendo servers. Mii images, Juxtaposition screenshots, and more are uploaded here.Open 127.0.0.1:8083 in your browser with the container running.
RedisCache database used by the account server.No administration necessary.
MailpitSMTP server used to test sending emails from the account server. Use this to view your PNID email verification code.Open 127.0.0.1:8084 in your browser with the container running.
PostgreSQLSecondary database used by Friends and many game servers.Use Adminer (see below) to view the databases and run SQL scripts. You can also download the pgAdmin GUI and connect to 127.0.0.1:5432 to perform advanced administration tasks.
AdminerWeb GUI for database administration, used for Postgres.Open 127.0.0.1:8085 in your browser with the container running.
Redis CommanderWeb GUI for Redis database administration.Open 127.0.0.1:8086 in your browser with the container running.

Pretendo Network

ServerPurpose
mitmproxy-pretendoIntercepts HTTP requests from client devices and redirects them to the official Pretendo server to your local server. Uses mitmproxy running on port 8080.
accountThe most important Pretendo server. It handles PNIDs, authentication, and tokens.
websiteRuns a local copy of the Pretendo Network website. Used for creating PNIDs without a console.
friendsHandles the Friend List applet and friendships. Juxt and other game servers use it to get friends.
miiverse-apiHandles Miiverse API requests from games and Miiverse portal discovery.
juxtaposition-uiThe Miiverse applet GUI, as well as the Juxt web interface.
Wii U Chat (authentication and secure)Server for the Wii U Chat app.
BOSSServer for BOSS (SpotPass) content.
Super Mario MakerServer for Super Mario Maker online features.
Minecraft: WiiU editionServer for Minecraft: WiiU Edition online features. ⚠️ Note: For safety reasons, public matchmaking is disabled by default. You can enable it by setting the environment variable PN_MINECRAFT_ALLOW_PUBLIC_MATCHMAKING to 1 in the environment/minecraft-wiiu.env file.