docs(install): cover Docker and native deployments
This commit is contained in:
@@ -2,37 +2,54 @@
|
||||
|
||||
Self-hosted media requests, viewing stats and issue management for Jellyfin,
|
||||
Seerr, Sonarr, Radarr and related services. Magent combines a Python/FastAPI API,
|
||||
a Next.js frontend and SQLite in one non-root container.
|
||||
a Next.js frontend and SQLite. Run the prebuilt non-root container or install
|
||||
the Python and Node.js services directly—Portainer is optional.
|
||||
|
||||
## Install
|
||||
|
||||
Paste [compose.yml](compose.yml) into a Portainer **Docker Standalone** stack.
|
||||
It uses `rephl3xnz/magent:latest`, persists data in a named volume and needs no
|
||||
environment variables or Dockerfile on the user's machine.
|
||||
Start with the [installation guide](docs/INSTALLATION.md) to choose a method:
|
||||
|
||||
| Method | Instructions |
|
||||
| --- | --- |
|
||||
| Docker Compose or `docker run` | [Docker installation](docs/DOCKER.md) |
|
||||
| Portainer | [Single-file stack](docs/PORTAINER.md) |
|
||||
| Linux without Docker | [Native install and systemd services](docs/NATIVE_INSTALL.md) |
|
||||
| Windows/macOS/Linux foreground | [Source installation and development](docs/LOCAL_DEVELOPMENT.md) |
|
||||
|
||||
For a fresh **Docker Compose** install, download [compose.yml](compose.yml) into
|
||||
its own deployment directory and run:
|
||||
|
||||
```sh
|
||||
docker compose -f compose.yml -p magent pull
|
||||
docker compose -f compose.yml -p magent up -d --wait --wait-timeout 120
|
||||
docker compose -f compose.yml -p magent ps
|
||||
docker compose -f compose.yml -p magent exec --user magent magent python -m app.container_bootstrap setup-token
|
||||
```
|
||||
|
||||
Keep that directory/project name and its persistent volume unchanged for updates.
|
||||
This uses `rephl3xnz/magent:latest` with no environment variables, local source
|
||||
build or Dockerfile. Portainer users can paste the same file into a Docker
|
||||
Standalone stack instead. Native users follow their separate guide for explicit
|
||||
environment configuration and service management.
|
||||
|
||||
**Image availability:** the managed-install image is published on Docker Hub.
|
||||
Only Linux/amd64 has been validated. `latest` is mutable; record the resolved
|
||||
image digest before updating, or pin an immutable release tag.
|
||||
|
||||
1. Deploy the stack and wait for the container to become healthy.
|
||||
2. In its console, select `/bin/ash` and user `magent`, then run:
|
||||
|
||||
```sh
|
||||
python -m app.container_bootstrap setup-token
|
||||
```
|
||||
|
||||
3. Open the Docker host's address on port 3000. Confirm the browser-facing URL
|
||||
1. Wait for the container to become healthy and retrieve the token using the
|
||||
command above (or the Portainer console instructions in its guide).
|
||||
2. Open the Docker host's address on port 3000. Confirm the browser-facing URL
|
||||
in setup and use the token to create the first administrator.
|
||||
The **Get setup token** button shows the console instructions and lets you
|
||||
copy the command; it never reveals the token to public visitors.
|
||||
4. Connect your apps, choose preferences and finish setup. Optional apps can
|
||||
3. Connect your apps, choose preferences and finish setup. Optional apps can
|
||||
be skipped. Save an encrypted backup afterwards.
|
||||
|
||||
Keep the Compose security block unchanged. Database storage is fixed at
|
||||
`/app/data/magent.db` and API docs are disabled in managed installs. CORS and
|
||||
cookie security follow the confirmed URL. Use HTTPS before public access.
|
||||
|
||||
See [Portainer setup](docs/PORTAINER.md),
|
||||
See [all installation methods](docs/INSTALLATION.md),
|
||||
[all environment options](docs/ENVIRONMENT.md),
|
||||
[backup and restore](docs/installation-and-recovery.md) and
|
||||
[advanced installation/upgrades](docs/PUBLIC_RELEASE.md).
|
||||
@@ -44,7 +61,7 @@ encryption keys; this fresh-install template is not an automatic migration.
|
||||
The source tree contains everything needed to build the application:
|
||||
|
||||
```sh
|
||||
docker compose -f compose.yml -f compose.build.yml up -d --build
|
||||
docker compose -f compose.yml -f compose.build.yml -p magent up -d --build
|
||||
```
|
||||
|
||||
For a disposable verification run, without touching an existing installation:
|
||||
@@ -85,6 +102,7 @@ at live services or use production credentials.
|
||||
- `backend/tests/` and frontend `*.test.*`: synthetic regression tests.
|
||||
- `Dockerfile` and `docker/`: multi-stage build and process supervision.
|
||||
- `compose.yml`: prebuilt-image install; `compose.build.yml`: source override.
|
||||
- `deploy/native/`: example Linux service units and backend/frontend configuration.
|
||||
|
||||
Requests are cached from Seerr, joined to collector/download/library evidence,
|
||||
normalised into a user-facing state and displayed by the frontend. App settings
|
||||
|
||||
Reference in New Issue
Block a user