Initial commit
This commit is contained in:
100
DOCKER-README.md
Normal file
100
DOCKER-README.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Svelte MUD Docker Setup
|
||||
|
||||
This guide explains how to use Docker to build and run the Svelte MUD client.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [Docker](https://docs.docker.com/get-docker/)
|
||||
- [Docker Compose](https://docs.docker.com/compose/install/) (usually included with Docker Desktop)
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Navigate to the project directory:
|
||||
```bash
|
||||
cd path/to/svelte-mud
|
||||
```
|
||||
|
||||
2. Build and start the containers:
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
3. Access the application:
|
||||
- Web interface: http://localhost:3000
|
||||
- WebSocket server: ws://localhost:3001/mud-ws
|
||||
|
||||
## Docker Commands
|
||||
|
||||
### Starting the Application
|
||||
|
||||
```bash
|
||||
# Build and start in detached mode
|
||||
docker-compose up -d
|
||||
|
||||
# Build and start with logs
|
||||
docker-compose up
|
||||
|
||||
# Force rebuild
|
||||
docker-compose up --build
|
||||
```
|
||||
|
||||
### Stopping the Application
|
||||
|
||||
```bash
|
||||
# Stop containers
|
||||
docker-compose down
|
||||
|
||||
# Stop containers and remove volumes
|
||||
docker-compose down -v
|
||||
```
|
||||
|
||||
### Viewing Logs
|
||||
|
||||
```bash
|
||||
# View all logs
|
||||
docker-compose logs
|
||||
|
||||
# Follow logs
|
||||
docker-compose logs -f
|
||||
|
||||
# View logs for specific service
|
||||
docker-compose logs -f svelte-mud
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
The Docker setup uses the following ports:
|
||||
- Port 3000: Web server
|
||||
- Port 3001: WebSocket server
|
||||
|
||||
You can modify these ports in the `docker-compose.yml` file if needed.
|
||||
|
||||
## Customization
|
||||
|
||||
### Environment Variables
|
||||
|
||||
You can add environment variables in the `docker-compose.yml` file:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
svelte-mud:
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- WS_PORT=3001
|
||||
# Add your custom environment variables here
|
||||
```
|
||||
|
||||
### Building for Production
|
||||
|
||||
The default configuration is optimized for production use. It:
|
||||
- Uses a multi-stage build process to minimize image size
|
||||
- Runs as a non-root user for better security
|
||||
- Includes only production dependencies
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
1. **Port conflicts**: If ports 3000 or 3001 are already in use, modify the port mappings in `docker-compose.yml`.
|
||||
|
||||
2. **Build failures**: Ensure that all dependencies are properly defined in your package.json.
|
||||
|
||||
3. **Connection issues**: If you can't connect to the WebSocket server, verify that your client is using the correct URL format: `ws://localhost:3001/mud-ws?host=YOUR_MUD_HOST&port=YOUR_MUD_PORT`.
|
||||
Reference in New Issue
Block a user