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:
140
README.md
140
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.
|
||||
|
||||
## 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
|
||||
|
||||
### Using Docker Run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name runelite \
|
||||
-p 8181:8181 \
|
||||
-v runelite-config:/config \
|
||||
your-registry/runelite-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
|
||||
-v /path/to/appdata/.runelite:/config/.runelite:rw \
|
||||
-v /path/to/appdata/.credentials/credentials.properties:/config/.runelite/credentials.properties:ro \
|
||||
ghcr.io/sethwv/rune-docker:latest
|
||||
```
|
||||
|
||||
## 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
|
||||
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
|
||||
|
||||
### Base Image
|
||||
@@ -107,25 +45,6 @@ rune-docker/
|
||||
- WebRTC for low-latency audio/video streaming
|
||||
- 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
|
||||
|
||||
### ⚠️ Important Security Warning
|
||||
@@ -148,19 +67,26 @@ If you accept these risks and want RuneLite account features:
|
||||
# Windows: %USERPROFILE%\.runelite
|
||||
# macOS: ~/.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:**
|
||||
```yaml
|
||||
services:
|
||||
runelite:
|
||||
volumes:
|
||||
- /path/to/your/.runelite:/config/.runelite
|
||||
- runelite-config:/config
|
||||
2. **For enhanced security, separate credentials file:**
|
||||
```bash
|
||||
# Create secure credentials directory
|
||||
mkdir -p /path/to/appdata/.credentials
|
||||
chmod 700 /path/to/appdata/.credentials
|
||||
|
||||
# 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
|
||||
- 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
|
||||
- **Regular Monitoring**: Monitor your account for unauthorized access
|
||||
- **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
|
||||
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
|
||||
|
||||
For maximum security, run without account integration:
|
||||
- No `.runelite` folder mapping
|
||||
- No `.runelite` folder or credentials mapping
|
||||
- RuneLite runs in guest mode
|
||||
- No plugin sync or account-specific settings
|
||||
- Complete isolation from your main account
|
||||
@@ -191,22 +119,4 @@ For maximum security, run without account integration:
|
||||
- RuneLite configuration is isolated in Docker volumes
|
||||
- HTTPS is enabled by default for secure connections
|
||||
- Consider using a reverse proxy for additional security in production
|
||||
- **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
|
||||
- **WARNING**: Account integration exposes significant security risks (see above section)
|
||||
Reference in New Issue
Block a user