1- import { j as n } from "./ui-vendor-CtbJYEGA.js" ; import { M as e } from "./MarkdownContent-D-Zi6kKK.js" ; import "./react-vendor-ZjkKMkft.js" ; import "./markdown-vendor-D8KYDTzx.js" ; const o = `# WebUI Docker Compose Installation
1+ import { j as e } from "./ui-vendor-CtbJYEGA.js" ; import { M as n } from "./MarkdownContent-D-Zi6kKK.js" ; import "./react-vendor-ZjkKMkft.js" ; import "./markdown-vendor-D8KYDTzx.js" ; const o = `# WebUI Docker Compose Installation
22
33This guide covers installing the WebUI using Docker Compose for easier deployment and management on non-NixOS systems.
44
@@ -10,55 +10,73 @@ This guide covers installing the WebUI using Docker Compose for easier deploymen
1010
1111## Quick Start
1212
13- 1. Clone the repository :
13+ 1. Create a directory for your Docker Compose setup :
1414
1515\\\`\\\`\\\`bash
16- git clone https://github.com/NixRTR/ webui.git
17- cd webui
16+ mkdir nixrtr- webui
17+ cd nixrtr- webui
1818\\\`\\\`\\\`
1919
20- 2. Copy the example environment file :
20+ 2. Download the required files :
2121
2222\\\`\\\`\\\`bash
23- cd docker
24- cp .env.example .env
23+ # Download docker-compose.yml
24+ curl -o docker-compose.yml https://raw.githubusercontent.com/NixRTR/webui/main/docker/docker-compose.yml
25+
26+ # Download docker-compose.override.yml.example (optional, for custom configuration)
27+ curl -o docker-compose.override.yml.example https://raw.githubusercontent.com/NixRTR/webui/main/docker/docker-compose.override.yml.example
28+
29+ # Download .env.example (if available)
30+ curl -o .env.example https://raw.githubusercontent.com/NixRTR/webui/main/docker/.env.example
2531\\\`\\\`\\\`
2632
27- 3. Edit \`docker/.env\` and configure your settings (database passwords, JWT secret, etc.)
33+ Or using \`wget\`:
2834
29- 4. Build the frontend and docs (if not using pre-built images):
35+ \\\`\\\`\\\`bash
36+ wget -O docker-compose.yml https://raw.githubusercontent.com/NixRTR/webui/main/docker/docker-compose.yml
37+ wget -O docker-compose.override.yml.example https://raw.githubusercontent.com/NixRTR/webui/main/docker/docker-compose.override.yml.example
38+ wget -O .env.example https://raw.githubusercontent.com/NixRTR/webui/main/docker/.env.example
39+ \\\`\\\`\\\`
40+
41+ 3. Set up configuration files:
3042
3143\\\`\\\`\\\`bash
32- cd ../frontend
33- npm install
34- npm run build
35- cd ../docs
36- npm install
37- npm run build
38- cd ..
44+ # Copy the example environment file (create .env if .env.example doesn't exist)
45+ if [ -f .env.example ]; then
46+ cp .env.example .env
47+ else
48+ touch .env
49+ fi
50+
51+ # (Optional) Copy the override example for custom configuration
52+ cp docker-compose.override.yml.example docker-compose.override.yml
3953\\\`\\\`\\\`
4054
41- 5. Start the stack:
55+ 4. Edit \`.env\` and configure your settings (database passwords, JWT secret, etc.)
56+
57+ 5. (Optional) Edit \`docker-compose.override.yml\` for custom service configuration
58+
59+ 6. Start the stack (images will be pulled automatically):
4260
4361\\\`\\\`\\\`bash
44- cd docker
4562docker-compose up -d
4663\\\`\\\`\\\`
4764
4865Or with Podman:
4966
5067\\\`\\\`\\\`bash
51- cd docker
5268podman-compose up -d
5369\\\`\\\`\\\`
5470
55- 6. Access the WebUI at \`http://localhost:8080\`
71+ 7. Access the WebUI at \`http://localhost:8080\`
72+
73+ **Note**: Pre-built Docker images are used by default. You don't need to build the frontend, docs, or Docker images yourself.
5674
5775## Configuration
5876
5977### Environment Variables
6078
61- Edit the \`docker/ .env\` file to configure:
79+ Edit the \`.env\` file to configure:
6280
6381- **Database**: PostgreSQL connection settings
6482- **Redis**: Redis connection settings
@@ -79,11 +97,15 @@ The Docker Compose setup mounts the following host paths (if available):
7997
8098### Custom Configuration
8199
82- Create a \`docker/docker -compose.override.yml\` file to customize the setup :
100+ Copy and edit \`docker-compose.override.yml.example \` to \`docker-compose.override.yml\` for custom configuration :
83101
84- \\\`\\\`\\\`yaml
85- version: '3.8'
102+ \\\`\\\`\\\`bash
103+ cp docker-compose.override.yml.example docker-compose.override.yml
104+ \\\`\\\`\\\`
105+
106+ Then edit \`docker-compose.override.yml\` to customize services. For example:
86107
108+ \\\`\\\`\\\`yaml
87109services:
88110 backend:
89111 environment:
@@ -102,43 +124,40 @@ The Docker Compose setup includes:
102124- **postgres**: PostgreSQL database
103125- **redis**: Redis for Celery broker and caching
104126
105- ## Building Images Locally
127+ ## Using Pre-built Images
128+
129+ Pre-built Docker images are automatically pulled from GitHub Container Registry:
130+ - \`ghcr.io/nixrtr/backend:latest\`
131+ - \`ghcr.io/nixrtr/webui:latest\`
132+
133+ The \`docker-compose.yml\` file is configured to use these images by default. No manual building is required.
134+
135+ ### Building Images Locally (Advanced)
106136
107- To build images locally instead of using pre-built ones :
137+ If you need to build images locally (e.g., for development or custom modifications), you'll need to clone the repository :
108138
109139\\\`\\\`\\\`bash
110- cd docker
140+ git clone https://github.com/NixRTR/webui.git
141+ cd webui/docker
111142docker-compose build
112143\\\`\\\`\\\`
113144
114145Or build individual services:
115146
116147\\\`\\\`\\\`bash
117- cd docker
148+ cd webui/ docker
118149docker-compose build backend
119150docker-compose build webui
120151\\\`\\\`\\\`
121152
122- ## Using Pre-built Images
123-
124- Pre-built images are available at:
125- - \`ghcr.io/nixrtr/backend:latest\`
126- - \`ghcr.io/nixrtr/webui:latest\`
127-
128- To use pre-built images, ensure your \`docker-compose.yml\` references them or pull them manually:
129-
130- \\\`\\\`\\\`bash
131- docker pull ghcr.io/nixrtr/backend:latest
132- docker pull ghcr.io/nixrtr/webui:latest
133- \\\`\\\`\\\`
153+ **Note**: Building locally requires Node.js and npm to build the frontend and documentation.
134154
135155## Troubleshooting
136156
137157### View Logs
138158
139159\\\`\\\`\\\`bash
140160# All services
141- cd docker
142161docker-compose logs -f
143162
144163# Specific service
@@ -149,14 +168,12 @@ docker-compose logs -f worker
149168### Check Service Status
150169
151170\\\`\\\`\\\`bash
152- cd docker
153171docker-compose ps
154172\\\`\\\`\\\`
155173
156174### Restart Services
157175
158176\\\`\\\`\\\`bash
159- cd docker
160177docker-compose restart
161178\\\`\\\`\\\`
162179
@@ -168,9 +185,9 @@ docker-compose restart
168185
169186### Frontend Not Loading
170187
171- - Verify webui service is running: \`cd docker && docker-compose ps webui\`
172- - Check Nginx logs: \`cd docker && docker-compose logs webui\`
173- - Ensure frontend build artifacts exist in \`frontend/dist \`
188+ - Verify webui service is running: \`docker-compose ps webui\`
189+ - Check Nginx logs: \`docker-compose logs webui\`
190+ - Ensure the webui image was pulled successfully: \`docker images | grep nixrtr/webui \`
174191
175192### Authentication Issues
176193
@@ -190,14 +207,19 @@ To update to the latest version:
190207
191208\\\`\\\`\\\`bash
192209# Pull latest images
193- cd docker
194210docker-compose pull
195211
196212# Restart services
197213docker-compose up -d
198214\\\`\\\`\\\`
199215
200- Or rebuild from source:
216+ To update the docker-compose.yml file itself, re-download it:
217+
218+ \\\`\\\`\\\`bash
219+ curl -o docker-compose.yml https://raw.githubusercontent.com/NixRTR/webui/main/docker/docker-compose.yml
220+ \\\`\\\`\\\`
221+
222+ Or if you cloned the repository for local building:
201223
202224\\\`\\\`\\\`bash
203225# Pull latest code
@@ -210,12 +232,12 @@ docker-compose up -d --build
210232
211233## Production Considerations
212234
213- - Use strong passwords and secrets in \`docker/ .env\`
235+ - Use strong passwords and secrets in \`.env\`
214236- Set up proper firewall rules
215237- Use HTTPS (configure reverse proxy or use Caddy)
216238- Regularly update images
217239- Monitor logs and resource usage
218240- Set up backups for PostgreSQL data
219241- Consider using Docker secrets for sensitive data
220242
221- ` ; function c ( ) { return n . jsx ( "div" , { className :"p-6 max-w-4xl mx-auto" , children :n . jsx ( "div" , { className :"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6" , children :n . jsx ( e , { content :o } ) } ) } ) } export { c as InstallationWebUIDocker } ;
243+ ` ; function c ( ) { return e . jsx ( "div" , { className :"p-6 max-w-4xl mx-auto" , children :e . jsx ( "div" , { className :"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6" , children :e . jsx ( n , { content :o } ) } ) } ) } export { c as InstallationWebUIDocker } ;
0 commit comments