You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More script refactoring: load environment variables function, move more things from setup.sh to individual scripts, check for other stuff that is copy/pasted
Fix the Node.js servers taking 10 seconds to restart every time
Look into creating a proxy autoconfig file, which might be useful for connecting with browsers
Use Pretendo logger inside run-in-container scripts
Switch from MailDev to MailPit
Clearly show when a script fails so people can't accidentally ignore it
Add an option to the scripts to dump the output to a temporary file for issue-reporting purposes. Also include general system info like /etc/os-release, uname -a, lscpu, docker version, repo & submodule commit hashes, git status, and contents of the .env file. Maybe also include container logs?
Detect if the user incorrectly runs the script in Git Bash and show an error
The most difficult part is trying to get everything running at the same time. Maybe nginx-sssl => mitmproxy-reverse => nginx => servers? Where does mitmproxy-pretendo come into the chain? Does the 3DS with SSL patches connect directly to nginx-sssl? Should inter-server communication go through mitmproxy-reverse?
Might make sense to switch to mitmproxy reverse + DNS strategy
Docs will need instructions for switching system DNS server to local or using hosts file as backup. If the user is already using a PiHole this could be even easier!
Add Citra setup guide - there was one on Discord already
Use the Internet Archived setup guide, does the latest download version work?
Importing the friends and account system module save data seemed to work
The Pretendo patches do work on Citra
Using a local Pretendo server (127.0.0.1 nasc.pretendo.cc and account.pretendo.cc in hosts file) works fine
Remember for guide: import the mii maker save data too
Check for nex-go-rewrite branches and switch to them
Sometimes, the servers change in ways that require database migrations for existing setups. For example, database: Update database defaults and add country PretendoNetwork/friends#15. This is currently not handled and needs to be done manually or it will cause errors after existing setups update. Add some sort of functionality for this to the update script for migration logic.
Some changes that require modifications outside the server, like an update to console CFW or patches. There is no way to communicate that currently, and keeping some sort of state seems complicated.
Major setup guide improvements for hosting on external servers/VPS
Make admin panels securely accessible from external networks: maybe nginx proxy with basic authentication?
Make the server setup significantly more configurable
Allow configuring the IP address of internal/admin services to not just be 127.0.0.1 (use a .env file, Docker Compose supports this)
Separate different servers into different Compose files and allow only running some services.
Support setups using custom domains instead of a proxy server
Only build images when necessary, otherwise use the container registry from the container registry
More servers
Internal Pretendo admin panel (disabled by default, for internal developers only due to being closed-source)
Eshop stuff? (Grove Eshop UI and SOAP NUS). It would be cool to run this since Pretendo will probably never run it themselves publicly, but what would you do with it? No real point in serving homebrew apps.
Potentially other third-party Wii U/3DS servers with no relationship to Pretendo. I'm unsure about this because these are outside the scope of this project, even though they might be useful.
My plans for this project
This issue will serve as my plans/roadmap/to-do list for this project.
Small tasks
compose.ci.yml
to override container restart and ports configuration in CI instead of yq evalserver.local.env
to a global .env filescripts/internal
vs ones that can be run by themselvesnintendo
slot with the GM9 script, Nimbus with thepretendo_official
slot is fine/etc/os-release
,uname -a
,lscpu
,docker version
, repo & submodule commit hashes,git status
, and contents of the.env
file. Maybe also include container logs?Larger tasks
--help
option, manage options centrally and generate help text usingadd_option()
in function-lib--verbose
option to run commands with more output, addrun_verbose()
to function-lib--force
option to bypass promptsnginx-sssl => mitmproxy-reverse => nginx => servers
? Where doesmitmproxy-pretendo
come into the chain? Does the 3DS with SSL patches connect directly tonginx-sssl
? Should inter-server communication go throughmitmproxy-reverse
?nex-go-rewrite
branches and switch to them127.0.0.1
(use a.env
file, Docker Compose supports this)More servers
Long-term goals
host.docker.internal
The text was updated successfully, but these errors were encountered: