diff --git a/CHANGELOG.md b/CHANGELOG.md index cc2efc7..25f8153 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.30.1 - 2026-05-17 + +- Added a `docker-compose.yaml` file that builds the bundled Docker image, mounts `./downloads` and `./.ani-cli-web`, and exposes the ani-cli git remotes, branch, and startup flags through Compose environment defaults. +- Documented the Compose workflow alongside the existing Docker build and `docker run` setup. + ## 0.30.0 - 2026-05-17 - Added a Docker image build that clones `ani-cli` and `ani-cli-web` from configurable git remotes, installs `ani-cli` system-wide, and starts `ani-cli-web` from `/app`. diff --git a/README.md b/README.md index 3402c64..bcbf100 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A local web UI for a system-wide `ani-cli` install. -Current version: `0.30.0` +Current version: `0.30.1` ## Project Layout @@ -11,6 +11,7 @@ ani-cli-web/ app.py Public entrypoint, runtime wiring, watchlist domain logic, and CLI startup. app_support.py Shared runtime/state/config helpers plus queue and library file utilities. Dockerfile Container image build for system-wide ani-cli plus /app ani-cli-web. + docker-compose.yaml Compose service for building and running the container with persistent mounts. queue_jobs.py Download queue and background watchlist-refresh workers. watchlist_identity.py Safer watchlist identity resolution for queued download jobs. title_matching.py Shared anime-title normalization and matching helpers. @@ -91,6 +92,24 @@ docker run --rm \ ani-cli-web ``` +Or start the same setup with Compose: + +```sh +docker compose up --build -d +``` + +The included `docker-compose.yaml` uses the same defaults as the `Dockerfile`, mounts `./downloads` to `/downloads`, mounts `./.ani-cli-web` to `/app/.ani-cli-web`, and lets you override build/runtime settings through environment variables such as: + +```text +ANI_CLI=https://github.com/pystardust/ani-cli.git +ANI_CLI_BRANCH=master +ANI_CLI_WEB=https://gitea.coreplay.eu/Dymas/ani-cli-web.git +ANI_CLI_WEB_PORT=8421 +UPDATE_ON_START=false +ANI_CLI_WEB_ALLOW_REMOTE=false +ANI_CLI_WEB_REMOTE_TOKEN= +``` + Container defaults: - `ani-cli` is installed at `/usr/local/bin/ani-cli`. diff --git a/VERSION b/VERSION index c25c8e5..1a44cad 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.30.0 +0.30.1 diff --git a/app_support.py b/app_support.py index 9affe74..6f83c1a 100644 --- a/app_support.py +++ b/app_support.py @@ -16,7 +16,7 @@ from uuid import uuid4 PROJECT_ROOT = Path(__file__).resolve().parent ANI_CLI = os.environ.get("ANI_CLI_BIN") or shutil.which("ani-cli") or "ani-cli" APP_NAME = "ani-cli-web" -VERSION = "0.30.0" +VERSION = "0.30.1" ALLANIME_BASE = "allanime.day" ALLANIME_API = f"https://api.{ALLANIME_BASE}" ALLANIME_REFERER = "https://allmanga.to" diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..eeced11 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,23 @@ +services: + ani-cli-web: + build: + context: . + dockerfile: Dockerfile + args: + ANI_CLI: ${ANI_CLI:-https://github.com/pystardust/ani-cli.git} + ANI_CLI_BRANCH: ${ANI_CLI_BRANCH:-master} + ANI_CLI_WEB: ${ANI_CLI_WEB:-https://gitea.coreplay.eu/Dymas/ani-cli-web.git} + image: ani-cli-web:latest + restart: unless-stopped + ports: + - "${ANI_CLI_WEB_PORT:-8421}:8421" + environment: + UPDATE_ON_START: ${UPDATE_ON_START:-false} + ANI_CLI_WEB_HOST: 0.0.0.0 + ANI_CLI_WEB_PORT: ${ANI_CLI_WEB_PORT:-8421} + ANI_CLI_WEB_ALLOW_REMOTE: ${ANI_CLI_WEB_ALLOW_REMOTE:-false} + ANI_CLI_WEB_REMOTE_TOKEN: ${ANI_CLI_WEB_REMOTE_TOKEN:-} + ANI_CLI_DOWNLOAD_DIR: /downloads + volumes: + - ./downloads:/downloads + - ./.ani-cli-web:/app/.ani-cli-web