{"id":21035563,"url":"https://github.com/archiveteam/warrior-dockerfile","last_synced_at":"2025-04-05T09:07:15.177Z","repository":{"id":12045651,"uuid":"14631402","full_name":"ArchiveTeam/warrior-dockerfile","owner":"ArchiveTeam","description":"A Dockerfile for the ArchiveTeam Warrior","archived":false,"fork":false,"pushed_at":"2024-05-13T17:11:41.000Z","size":428,"stargazers_count":307,"open_issues_count":11,"forks_count":57,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-10-30T00:55:58.773Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArchiveTeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-11-22T22:43:35.000Z","updated_at":"2024-10-05T03:14:44.000Z","dependencies_parsed_at":"2023-01-11T19:45:31.070Z","dependency_job_id":"21daf4c8-7ba9-47ed-b329-a6a5326ef903","html_url":"https://github.com/ArchiveTeam/warrior-dockerfile","commit_stats":{"total_commits":83,"total_committers":35,"mean_commits":"2.3714285714285714","dds":0.7831325301204819,"last_synced_commit":"147d1f04890125b6c59835f48a499c3bed5d5da1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchiveTeam%2Fwarrior-dockerfile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchiveTeam%2Fwarrior-dockerfile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchiveTeam%2Fwarrior-dockerfile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchiveTeam%2Fwarrior-dockerfile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArchiveTeam","download_url":"https://codeload.github.com/ArchiveTeam/warrior-dockerfile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312078,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T13:15:18.033Z","updated_at":"2025-04-05T09:07:14.928Z","avatar_url":"https://github.com/ArchiveTeam.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Archive Team Warrior Dockerfile\n\n\u003cimg alt=\"Warrior logo\" src=\"https://wiki.archiveteam.org/images/f/f3/Archive_team.png\" height=\"100px\"\u003e\u003cimg alt=\"Docker logo\" src=\"https://wiki.archiveteam.org/images/7/79/Docker_%28container_engine%29_logo.png\" height=\"100px\"\u003e\n\nA Dockerfile for the [Archive Team Warrior](https://wiki.archiveteam.org/index.php?title=ArchiveTeam_Warrior)\n\nBuild, run, grab the container IP and access the web interface on port 8001.\n\n## Getting Started\n\nAvailable as a built image at `atdr.meo.ws/archiveteam/warrior-dockerfile`.\n\nThe following example:\n- Runs the Warrior in the background\n- Configures Warrior to automatically start it again after machine reboot\n- And configures Watchtower to automatically update Warrior (optional, but recommended).\n\n```bash\ndocker run --detach \\\n  --name watchtower \\\n  --restart=on-failure \\\n  --volume /var/run/docker.sock:/var/run/docker.sock \\\n  containrrr/watchtower --label-enable --cleanup --interval 3600\n\ndocker run --detach \\\n  --name archiveteam-warrior \\\n  --label=com.centurylinklabs.watchtower.enable=true \\\n  --restart=on-failure \\\n  --publish 8001:8001 \\\n  atdr.meo.ws/archiveteam/warrior-dockerfile\n```\n\nOn Windows (CMD), replace `\\` with `^` like so:\n\n```bash\ndocker run --detach ^\n  --name watchtower ^\n  --restart=on-failure ^\n  --volume /var/run/docker.sock:/var/run/docker.sock ^\n  containrrr/watchtower --label-enable --cleanup --interval 3600\n\ndocker run --detach ^\n  --name archiveteam-warrior ^\n  --label=com.centurylinklabs.watchtower.enable=true ^\n  --restart=on-failure ^\n  --publish 8001:8001 ^\n  atdr.meo.ws/archiveteam/warrior-dockerfile\n```\nOn Windows (PowerShell), replace `\\` (in the Linux example) with `` ` ``.\n\nTo easily access the Warrior's web interface of multiple containers, try binding a different port for each subsequent container by incrementing `--publish` in your `docker run` command for the Warrior like so:\n\n```bash\ndocker run --detach \\\n  --env DOWNLOADER=\"your name\" \\\n  --env SELECTED_PROJECT=\"auto\" \\\n  --name archiveteam-warrior \\\n  --label=com.centurylinklabs.watchtower.enable=true \\\n  --restart=on-failure \\\n  --publish 8002:8001 \\\n  atdr.meo.ws/archiveteam/warrior-dockerfile\n```\n\n## Configuration\n\nConfiguration of Warrior can be done in one of three ways:\n- Manually via the web interface.\n- Via environment variables.\n- Or via a configuration file (`projects/config.json`).\n\n### Manual Using the Web Interface\n\nTo access the web interface get the container IP from `docker inspect` and point your browser to `http://IP:8001`. If you are running this container on a headless machine, be sure to bind the docker container's port to a port on that machine (e.g. `-p 8001:8001`) so that you can access the web interface on your LAN.\n\nYou can stop and resume the Warrior with `docker stop` and `docker start`\n\n### Using Environment Variables\n\nIf you don't mount a `projects/config.json` configuration, you can provide seed settings using\nenvironment variables. Once a `projects/config.json` file exists, environment variables\nwill be ignored.\n\nFor example, to specify environment variables, modify your `docker run` command for the Warrior like so:\n\n```bash\ndocker run --detach \\\n  --env DOWNLOADER=\"your name\" \\\n  --env SELECTED_PROJECT=\"auto\" \\\n  --name archiveteam-warrior \\\n  --label=com.centurylinklabs.watchtower.enable=true \\\n  --restart=on-failure \\\n  --publish 8001:8001 \\\n  atdr.meo.ws/archiveteam/warrior-dockerfile\n```\n\n### Configuration Mapping\n\n| ENV                  | JSON key             | Example           | Default |\n|----------------------|----------------------|-------------------|---------|\n| DOWNLOADER           | downloader           |                   |         |\n| HTTP_PASSWORD        | http_password        |                   |         |\n| HTTP_USERNAME        | http_username        |                   |         |\n| SELECTED_PROJECT     | selected_project     | `auto`, `tumblr`  |         |\n| SHARED_RSYNC_THREADS | shared:rsync_threads |                   | `20`    |\n| WARRIOR_ID           | warrior_id           |                   |         |\n| CONCURRENT_ITEMS     | concurrent_items     |                   | `3`     |\n\n## Other Ways to Run\n\n### Kubernetes\n\nEdit the environment variable `DOWNLOADER` inside `k8s-warrior.yml` and set it to your name. This name will be used on the leaderboards.\n\n```bash\nkubectl create namespace archive\nkubectl apply -n archive -f k8s-warrior.yml\n```\n\nIf everything works out you should be able to connect to any of your k8s' nodes IP on port 30163 to view.\n\nYou can build the image on other platforms by using [`docker buildx`](https://github.com/docker/buildx), e.g.:\n\n```bash\ndocker buildx build -t \u003cyourusername\u003e/archive-team-warrior:latest --platform linux/arm/v7 --push .\n```\n\n### Docker Compose\n\nFirst edit the `docker-compose.yml` file with any configuration keys (as described above). When configured to your liking, use `docker compose` to start both Warrior and Watchtower.\n\n```bash\ncd examples\ndocker compose up -d\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchiveteam%2Fwarrior-dockerfile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchiveteam%2Fwarrior-dockerfile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchiveteam%2Fwarrior-dockerfile/lists"}