A web frontend that displays _rar_-archives and has the ability to add and edit them.
Find a file
Michael Rodin c85eed3bc0 Small bugfix
The pages aren't displayed on the last page
2023-11-07 13:36:59 +01:00
.gitea/workflows yml yaml 2023-10-20 01:04:21 +02:00
flask Small bugfix 2023-11-07 13:36:59 +01:00
.gitignore Small config file 2023-10-19 19:39:54 +02:00
Dockerfile Added Dockerfile 2023-10-20 00:26:56 +02:00
ER-rar-index.graphml Archive deletion 2023-10-19 19:14:18 +02:00
README.md Added label search and pages 2023-11-07 12:59:25 +01:00
requirements.txt Added Dockerfile 2023-10-20 00:26:56 +02:00

RAR-Index

It's some project for my school which is supposed to index rar-archives and make them searchable over a very ugly web frontend.

!!Works only on python 3.10 and newer!!

Features

  • Log into a user account
    • Log out
    • Edit the display name and password of yourself
  • Add archives (when logged in)
    • Edit their labels or delete them (as their owner)
  • Search through archives based on:
    • Keywords
    • Category
    • Labels
  • View the user details (when logged in)

Downloading

git clone https://git.marcelsite.com/marcel/rar-index-py
cd rar-index-py

Usage

Baremetal

Install the dependencies:

pip install -r requirements.txt

Edit the configuration:

cd flask
cp example.config.py config.py
$EDITOR config.py

Start the server:

python3 app.py

This will start the server in a development environment. The Docker image is built with uWSGI for production use.

Docker-Compose

I recommend just using the provided package on this server:

version: "2.4"
services:
  db:
    image: mariadb:latest
    environment:
      - MARIADB_DATABASE=rar_index
      - MARIADB_USER=rar_index_app
      - MARIADB_PASSWORD=password
      - MYSQL_ROOT_PASSWORD=secretadminpassword
    volumes:
      - db-data:/var/lib/mysql
    restart: unless-stopped

  app:
    image: git.marcelsite.com/marcel/rar-index-app
    container_name: rar-index-app
    environment:
      - MARIADB_USER=rar_index_app
      - MARIADB_HOST=db
      - MARIADB_PASSWORD=password
    depends_on:
      - db
    ports:
      - 5000:5000
    restart: unless-stopped

volumes:
  db-data:

This will make the server accessible from anywhere over port 5000.

Contributing

I don't recommend wasting your time on this project. It is only created to get a (hopefully) good grade in school.