π¨ Theme.park Switcher
This repo lets you control the visual theme for all your self-hosted apps using Theme.park, with one line of configuration.
Rather than updating every proxy or app manually, this setup lets you change the global theme across 50+ services β just by editing a single file in GitHub.
π Features
- β Supports 50+ Theme.park-compatible apps
- β Hosted on GitHub Pages
- β One setting controls all themes globally
- β
Automatically generates
*.cssfor each app - β No custom scripting or build step required
π Live Demo
Theme CSS endpoints (examples):
Each file dynamically imports the correct theme from the Theme.park CDN.
π How It Works
- Each
.scssfile uses Jekyll + Liquid to pull in a theme:@import url("https://theme-park.dev/css/base/<app>/overseerr.css"); - The
current_themeis defined in_config.yml:current_theme: dracula - GitHub Pages builds each SCSS file into a proper
.cssendpoint (e.g./sonarr.css).
π How to Use
π¨ Option 1: Fork It
- Click Fork at the top of this repo.
- Rename the repo to
yourname.github.io(optional for root-level domain). - Go to Settings > Pages and enable GitHub Pages (if not already).
- Edit
_config.ymlto change the global theme:current_theme: nord - Update your reverse proxy subfilters (once) to load:
https://yourname.github.io/sonarr.cssAfter that, you never touch the proxy again β just update
_config.yml.
π¨ Option 2: Clone It
git clone https://github.com/yourname/theme-park-switcher.git
cd theme-park-switcher
Then:
- Modify
_config.ymlas needed - Push to GitHub
- GitHub Pages handles the rest
π§° Supported Apps
- Sonarr, Radarr, Lidarr, Jellyfin, Plex, Ombi, Overseerr, Gitea, Portainer, qBittorrent, Transmission, Heimdall, Homepage, Unraid, Tautulli, and dozens more
Full list: see all
.scssfiles in the repo
π§© Nginx Proxy Manager Integration (with Theme.park Mod Script)
You can theme Nginx Proxy Manager using this GitHub-hosted switcher and a single startup script.
π 1. Add the patched script
Save the modified script as:
scripts/99-themepark-npm
Make sure it:
- Begins with
#!/command/with-contenv bash - Is executable (
chmod +x scripts/99-themepark-npm)
π¦ 2. Mount it into the container
In your docker-compose.yml, add this to the volumes: section of your NPM service:
volumes:
- ./scripts/99-themepark-npm:/etc/cont-init.d/99-themepark-npm
This causes the script to run automatically at container start.
βοΈ 3. Add the environment variables
In the same docker-compose.yml section:
environment:
- TP_SCHEME=https
- TP_DOMAIN=yourname.github.io
- TP_THEME=nginx-proxy-manager
π 4. Change themes globally
To change the look of NPM (and all other apps), just update the _config.yml in this repo:
current_theme: nord # or dracula, hotpink, etc.
Push your changes, and the updated CSS will auto-load at:
https://yourname.github.io/nginx-proxy-manager.css
β Thatβs it!
No need to ever touch the container again β just change the theme in one place and NPM updates instantly.
π License
MIT β free to use and modify. Not affiliated with theme.park or any of the apps.
π Credits
Based on the incredible work of theme.park.
π Made By
ChilSoft.com with caffeine and questionable commits.
β οΈ Disclaimer
This site and its contents are provided for informational and educational purposes only.
Use any code, tools, or instructions at your own risk.
We are not responsible for any damage to your device, data loss, or unintended consequences.
Always proceed with care β and make backups.
Β© 2025 ChilSoft. All rights reserved.