/torrust-index-gui

This repository serves as the frontend for the Torrust Index project.

Primary LanguageVueOtherNOASSERTION

Torrust Index GUI

Container Labels Test

This repository serves as the web GUI for the Torrust Index project.

It contains the vue-3 frontend web application for the Torrust Index.

This web GUI connects using the Torrust Index Application Interface to our reference Torrust Index.

Torrust Architecture

Key Features

  • Built with Nuxt and Vue 3.
  • Modern design.
  • Categories and tags.
  • Search.
  • Sorting.
  • Filtering.
  • Pagination.
  • Admin settings: tracker, categories, tags, etc.
  • Support for BitTorrent v1.

NOTE: It does not support the BitTorrent Protocol Specification v2.

You can see some screenshots of the application.

Getting Started

Container Version

The Torrust Index GUI is deployed to DockerHub, you can run a demo immediately with the following commands:

Docker

docker run -it --publish="3000:3000/tcp" torrust/index-gui:develop

Please read our container guide for more information.

Podman

podman run -it --publish="3000:3000/tcp" docker.io/torrust/index-gui:develop

Please read our container guide for more information.

Development Version

Requirements

  • Node >= 20.10.0

You can follow the documentation to install and use Torrust Index GUI for development.

There are some missing sections in the documentation like an installation guide for production. Contributions to the documentation are welcome.

Checkout and Run

# Checkout repository into a new folder:
git clone https://github.com/torrust/torrust-index-gui.git && cd torrust-index-gui

# Install dependencies
npm install

# Set up the .env file (if it doesn't exist, this is the normal behaviour with a newly cloned repo)
if ! [ -f "./.env" ]; then
    cp .env.local .env
fi

# Run development server
npm run dev

Customization

You can use environment variables to customize the application infrastructure settings.

NUXT_PUBLIC_API_BASE="http://localhost:3001/v1" \
    NITRO_HOST="0.0.0.0" \
    NITRO_PORT="3000" \
    npm run dev

Please read our container guide for more information.

Production Version

You can run the production build in preview mode with the following:

npm install && npm run build && npm run preview

Services

The default configuration serves the web app on http://[::]:3000.

Documentation

You can read the documentation here.

Contributing

We are happy to support and welcome new people to our project. Please consider our contributor guide.
This is an open-source community-supported project. We welcome contributions from the community!

How can you contribute?

  • Bug reports and feature requests.
  • Code contributions. You can start by looking at the issues labeled "[good first issues]".
  • Documentation improvements. Check the documentation for typos, errors, or missing information.
  • Participation in the community. You can help by answering questions in the discussions.

License

Copyright (c) 2023 The Torrust Developers.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Some files include explicit copyright notices and/or license notices.

Legacy Exception

For prosperity, versions of Torrust Tracker that are older than five years are automatically granted the MIT-0 license in addition to the existing AGPL-3.0-only license.

Contributor Agreement

The copyright of the Torrust Tracker is retained by the respective authors.

Contributors agree:

The Torrust-Tracker project has no copyright assignment agreement.

We kindly ask you to take time and consider The Torrust Project Contributor Agreement in full.

Disclaimer

This software is provided solely for lawful purposes. Users must ensure compliance with all applicable laws and regulations regarding copyright and intellectual property. The developers of this software do not condone or support the use of this software for any illegal activities, including but not limited to the distribution of copyrighted, protected, or otherwise illegal content. By using this software, you agree to use it responsibly and in compliance with all legal requirements. Misuse of this software for illegal purposes may lead to legal consequences, for which the developers are not liable.

Acknowledgments

This project was a joint effort by Nautilus Cyberneering GmbH, Dutch Bits and collaborators. Thank you to you all!