40+ apps ready · more coming

Every app is just a link.

No manual nginx. No port management. No auth setup. WineJS turns a server into an operating system where every app — Windows or web — is a URL.

Universal template

One pattern. Every app.

A pre-defined template makes any self-hosted app installable with a single script. Follow the format and share it as winejs_install_yourapp.sh.

The install script does this
  • Verify WineJS platform → /opt/winejs exists, network ready
  • Get domain → from existing WineJS config or user input
  • Find next available port → auto-detects, no conflicts
  • Create directories → consistent /opt/winejs/apps/[app], /opt/winejs/data/[app]
  • Generate config.json → app metadata, port, icon, category
  • Create docker-compose.yml → container definition, volume mounts, network
  • Add to nginx → reverse proxy route at /appname
  • Create helper script → winejs-[app] CLI tool
  • Create uninstall script → clean removal
  • Restart translator → app appears at https://yourdomain.com/appname
Speed

By following this guide, we translated 40 installers in under 1 hour.

Find the official Docker Compose or install docs → extract volume mounts, ports, env vars → wrap in the template with WineJS conventions → add app-specific features.

Naming

winejs_install_[app].shyourdomain.com/appname

Add your own

Ship an app in six steps.

1

Copy the template script (e.g. winejs_install_forgejo.sh)

2

Replace app-specific values: APP_NAME, CATEGORY, DESCRIPTION

3

Set Docker image + version and port mapping

4

Configure volume mounts where data persists

5

Set environment variables and any custom features

6

Drop an icon in the icons directory — run the script

$curl -o install.sh https://cdn.ofpigi.com/rtx/winejs_install_forgejo.sh && sudo bash install.sh