Java Web Application for managing and distributing WWDIY content.
Relies on DIYEdit and Mio-Micro.
Uses SQLite, materializeCSS and jQuery.
- .mio files dropped into the Webapp's data directory are parsed and added to the archive (on every app restart)
- Searchable lists with pages for every content (Games/Comics/Records)
- Comics can be directly read through the user's browser
- Records can be listened to through the browser (uses mio-midi)
- Midi files are played back using a custom soundfont based on this one.
- All the content available on the archive can be automatically inserted into a game save provided by the user.
- Basic JSON API.
Adding &format=json
to most search pages in the webapp will give you a JSON equivalent. Use at will! 🙋♂️
- WII_NUMBER: Wii Friend Code associated to the DoujinSoft WiiConnect24 account.
- WII_FALLBACK: Wii Friend Code that will receive Wii Mail forwarded from DoujinSoft.
- WC24_SERVER: WiiConnect24 server URL. Currently, there's only really
rc24.xyz
... - WC24_PASSWORD: Password for the DoujinSoft WiiConnect24 account
- WC24_DEBUG: Add this variable to log additional Wii Mail data.
- DSOFT_PASS: Password for the Admin console.
- WEBHOOK_URL: URL for a webhook. This hook is hit whenever new content is uploaded to DoujinSoft.
You can use GitHub Codespaces to develop on the app using the provided configuration.
Once in the codespace, you should be able to use npm run dev-server
to immediately build/start a DoujinSoft instance.
You can deploy the provided Docker image by mapping a volume to /home/doujinsoft:
docker run --mount type=bind,src=/my/data/directory,dst=/home/doujinsoft -p 8080:8080 difegue/doujinsoft
If you want to use WC24 interop, the environment variables WII_NUMBER, WII_FALLBACK, WC24_SERVER and WC24_PASSWORD must be defined.
Get the release WAR (or just build it with maven from the sources)
Edit your tomcat context to specify your data directory:
nano /var/lib/tomcat8/conf/context.xml
<Parameter name="dataDirectory" value="/home/DoujinSoft-data" override="false"/>
Create the folder you specified in the Parameter (here /home/DoujinSoft-data), and add .mio files to a "mio" subfolder in it.
Don't forget to make it R/W by your tomcat server.
cd /home
mkdir DoujinSoft-data
chown tomcat8 DoujinSoft-data/
chmod -R 755 DoujinSoft-data/
Drop the WAR into your tomcat webapps directory to start deployment.
If you have a tomcat installed to /usr/local/tomcat
, you can use the provided dev-server.sh
script to start a DoujinSoft instance.
Keep in mind said script will overwrite your ROOT.war, and requires the /home/doujinsoft
directory to exist.
Add .mio files to the "mio" subfolder in your data directory.
The files will be consumed and added to the database.
(This part might take a little time, benchmarks show a ~5 minutes deploy time for 2000 .mio files.)
You can then access the Webapp and check everything's working.
Collections allow you to display a specific subset of Games to the user through a simple JSON file.
Collection JSON files go in your data directory, subfolder "data/collections". An example file is included at the root of this project.
Correctly written collections will be linked in the home page of the Webapp.