Add Readme but not terrible
All checks were successful
Build & Push Docker Image / build-and-publish (push) Successful in 9s
All checks were successful
Build & Push Docker Image / build-and-publish (push) Successful in 9s
This commit is contained in:
138
README.md
138
README.md
@@ -2,53 +2,15 @@
|
|||||||
|
|
||||||
A containerized RuneLite client that runs in your browser using Selkies WebRTC technology. This allows you to play Old School RuneScape through RuneLite from any device with a web browser, including mobile devices and tablets.
|
A containerized RuneLite client that runs in your browser using Selkies WebRTC technology. This allows you to play Old School RuneScape through RuneLite from any device with a web browser, including mobile devices and tablets.
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- 🌐 **Browser-based**: Access RuneLite through any modern web browser
|
|
||||||
- 📱 **Mobile-friendly**: Optimized for iOS and Android devices with PWA support
|
|
||||||
- 🖥️ **Full RuneLite experience**: Complete RuneLite client with all plugins and features
|
|
||||||
- 🔒 **Secure**: Runs in an isolated Docker container
|
|
||||||
- ⚡ **Low latency**: WebRTC streaming for responsive gameplay
|
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
### Using Docker Run
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name runelite \
|
--name runelite \
|
||||||
-p 8181:8181 \
|
-p 8181:8181 \
|
||||||
-v runelite-config:/config \
|
-v /path/to/appdata/.runelite:/config/.runelite:rw \
|
||||||
your-registry/runelite-docker:latest
|
-v /path/to/appdata/.credentials/credentials.properties:/config/.runelite/credentials.properties:ro \
|
||||||
```
|
ghcr.io/sethwv/rune-docker:latest
|
||||||
|
|
||||||
### Using Docker Compose
|
|
||||||
|
|
||||||
Create a `docker-compose.yml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
runelite:
|
|
||||||
image: your-registry/runelite-docker:latest
|
|
||||||
container_name: runelite
|
|
||||||
ports:
|
|
||||||
- "8181:8181"
|
|
||||||
volumes:
|
|
||||||
- runelite-config:/config
|
|
||||||
environment:
|
|
||||||
- SELKIES_FRAMERATE=30
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
runelite-config:
|
|
||||||
```
|
|
||||||
|
|
||||||
Then run:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Access
|
## Access
|
||||||
@@ -66,30 +28,6 @@ Once the container is running, access RuneLite through your web browser:
|
|||||||
4. The RuneLite PWA will be added to your home screen
|
4. The RuneLite PWA will be added to your home screen
|
||||||
5. Launch from home screen for a fullscreen experience
|
5. Launch from home screen for a fullscreen experience
|
||||||
|
|
||||||
## Building from Source
|
|
||||||
|
|
||||||
Clone this repository and build the image:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone <your-repo-url>
|
|
||||||
cd rune-docker
|
|
||||||
docker build -t runelite-docker .
|
|
||||||
```
|
|
||||||
|
|
||||||
## File Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
rune-docker/
|
|
||||||
├── Dockerfile # Main container definition
|
|
||||||
├── runelite # RuneLite startup script
|
|
||||||
├── supervisord.conf # Process management configuration
|
|
||||||
├── icons/ # Web app icons and manifest
|
|
||||||
│ ├── manifest.json # PWA manifest for mobile installation
|
|
||||||
│ ├── favicon.ico # Browser favicon
|
|
||||||
│ └── *.png # Various icon sizes for different devices
|
|
||||||
└── README.md # This file
|
|
||||||
```
|
|
||||||
|
|
||||||
## Technical Details
|
## Technical Details
|
||||||
|
|
||||||
### Base Image
|
### Base Image
|
||||||
@@ -107,25 +45,6 @@ rune-docker/
|
|||||||
- WebRTC for low-latency audio/video streaming
|
- WebRTC for low-latency audio/video streaming
|
||||||
- No additional port forwarding required
|
- No additional port forwarding required
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### Container won't start
|
|
||||||
- Check if port 8181 is already in use: `netstat -tlnp | grep 8181`
|
|
||||||
- Ensure Docker has sufficient resources allocated
|
|
||||||
|
|
||||||
### Poor performance
|
|
||||||
- Reduce `SELKIES_FRAMERATE` to 24 or lower
|
|
||||||
- Ensure stable network connection
|
|
||||||
|
|
||||||
### RuneLite settings not persisting
|
|
||||||
- Ensure the `/config` volume is properly mounted
|
|
||||||
- Check volume permissions: `docker exec runelite ls -la /config`
|
|
||||||
|
|
||||||
### Mobile browser issues
|
|
||||||
- Use HTTPS (port 8181) instead of HTTP
|
|
||||||
- Enable "Desktop Mode" if the interface appears broken
|
|
||||||
- Clear browser cache and reload
|
|
||||||
|
|
||||||
## RuneLite Account Integration
|
## RuneLite Account Integration
|
||||||
|
|
||||||
### ⚠️ Important Security Warning
|
### ⚠️ Important Security Warning
|
||||||
@@ -148,19 +67,26 @@ If you accept these risks and want RuneLite account features:
|
|||||||
# Windows: %USERPROFILE%\.runelite
|
# Windows: %USERPROFILE%\.runelite
|
||||||
# macOS: ~/.runelite
|
# macOS: ~/.runelite
|
||||||
# Linux: ~/.runelite
|
# Linux: ~/.runelite
|
||||||
cp -r ~/.runelite /path/to/docker/volumes/runelite-data/
|
cp -r ~/.runelite /path/to/appdata/.runelite
|
||||||
|
|
||||||
|
# Set proper permissions for security
|
||||||
|
chmod 700 /path/to/appdata/.runelite
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Update your docker-compose.yml:**
|
2. **For enhanced security, separate credentials file:**
|
||||||
```yaml
|
```bash
|
||||||
services:
|
# Create secure credentials directory
|
||||||
runelite:
|
mkdir -p /path/to/appdata/.credentials
|
||||||
volumes:
|
chmod 700 /path/to/appdata/.credentials
|
||||||
- /path/to/your/.runelite:/config/.runelite
|
|
||||||
- runelite-config:/config
|
# Move credentials file to separate location
|
||||||
|
mv /path/to/appdata/.runelite/credentials.properties /path/to/appdata/.credentials/
|
||||||
|
chmod 600 /path/to/appdata/.credentials/credentials.properties
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **For Jagex Account users:**
|
3. **Run with the volume mappings** (see "With Account Integration" example above)
|
||||||
|
|
||||||
|
4. **For Jagex Account users:**
|
||||||
- Ensure `credentials.properties` is present in your `.runelite` folder
|
- Ensure `credentials.properties` is present in your `.runelite` folder
|
||||||
- See [RuneLite Jagex Account Guide](https://github.com/runelite/runelite/wiki/Using-Jagex-Accounts)
|
- See [RuneLite Jagex Account Guide](https://github.com/runelite/runelite/wiki/Using-Jagex-Accounts)
|
||||||
|
|
||||||
@@ -172,15 +98,17 @@ If using account integration:
|
|||||||
- **Use a Dedicated Account**: Consider using a separate RuneScape account for this setup
|
- **Use a Dedicated Account**: Consider using a separate RuneScape account for this setup
|
||||||
- **Regular Monitoring**: Monitor your account for unauthorized access
|
- **Regular Monitoring**: Monitor your account for unauthorized access
|
||||||
- **Secure the Host**: Ensure the Docker host system is properly secured
|
- **Secure the Host**: Ensure the Docker host system is properly secured
|
||||||
- **File Permissions**: Restrict access to the `.runelite` folder on the host system:
|
- **File Permissions**: Restrict access to folders on the host system:
|
||||||
```bash
|
```bash
|
||||||
chmod 700 /path/to/your/.runelite
|
chmod 700 /path/to/appdata/.runelite
|
||||||
|
chmod 700 /path/to/appdata/.credentials
|
||||||
|
chmod 600 /path/to/appdata/.credentials/credentials.properties
|
||||||
```
|
```
|
||||||
|
|
||||||
### Alternative: Guest Mode
|
### Alternative: Guest Mode
|
||||||
|
|
||||||
For maximum security, run without account integration:
|
For maximum security, run without account integration:
|
||||||
- No `.runelite` folder mapping
|
- No `.runelite` folder or credentials mapping
|
||||||
- RuneLite runs in guest mode
|
- RuneLite runs in guest mode
|
||||||
- No plugin sync or account-specific settings
|
- No plugin sync or account-specific settings
|
||||||
- Complete isolation from your main account
|
- Complete isolation from your main account
|
||||||
@@ -192,21 +120,3 @@ For maximum security, run without account integration:
|
|||||||
- HTTPS is enabled by default for secure connections
|
- HTTPS is enabled by default for secure connections
|
||||||
- Consider using a reverse proxy for additional security in production
|
- Consider using a reverse proxy for additional security in production
|
||||||
- **WARNING**: Account integration exposes significant security risks (see above section)
|
- **WARNING**: Account integration exposes significant security risks (see above section)
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
1. Fork the repository
|
|
||||||
2. Create a feature branch
|
|
||||||
3. Make your changes
|
|
||||||
4. Test with `docker build` and `docker run`
|
|
||||||
5. Submit a pull request
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
This project packages RuneLite in a Docker container. Please refer to RuneLite's license for the client software.
|
|
||||||
|
|
||||||
## Acknowledgments
|
|
||||||
|
|
||||||
- [RuneLite](https://runelite.net/) - The amazing OSRS client
|
|
||||||
- [Selkies](https://github.com/selkies-project/selkies-gstreamer) - WebRTC streaming technology
|
|
||||||
- [LinuxServer.io](https://www.linuxserver.io/) - Base image and containerization patterns
|
|
||||||
Reference in New Issue
Block a user