convertor/docs/local-deploy.md

70 lines
1.7 KiB
Markdown

# Local Docker Deployment
This repository includes a dedicated Compose file for normal local usage without rebuilding the image from source.
## Why use this instead of `compose.yaml`
- `compose.local.yaml` pulls the published ConvertX image
- `compose.yaml` builds from the local checkout and is intended for development and testing
- Keeping them separate makes upgrades easier and avoids accidentally coupling local usage to repository state
## Prerequisites
- Docker Desktop or a compatible Docker Engine
## First-time setup
1. Copy the example environment file:
```bash
cp .env.local.example .env.local
```
2. Set a long random `JWT_SECRET` in `.env.local`
3. Start the service:
```bash
docker compose --env-file .env.local -f compose.local.yaml up -d
```
4. Verify the service is healthy:
```bash
docker compose --env-file .env.local -f compose.local.yaml ps
curl -fsS http://127.0.0.1:3000/healthcheck
```
5. Open `http://localhost:3000`
6. Create the first account before exposing the service to anyone else
## Useful operations
Start or update the container:
```bash
docker compose --env-file .env.local -f compose.local.yaml up -d
```
Stop the container:
```bash
docker compose --env-file .env.local -f compose.local.yaml down
```
View logs:
```bash
docker compose --env-file .env.local -f compose.local.yaml logs -f
```
Restart after changing configuration:
```bash
docker compose --env-file .env.local -f compose.local.yaml restart
```
## Notes
- The persistent database and job files are stored in `./data`
- `HTTP_ALLOWED=true` is appropriate for localhost usage
- `CONVERTX_IMAGE` defaults to the published release image and can be overridden if you need a different tag