Gallery-Archivist/README.md
2024-04-18 19:46:48 +02:00

186 lines
3.5 KiB
Markdown

# Gallery-Archivist
---
[![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page)
My try to make a Social media archiving web tool with django and gallery-dl
## Features / Roadmap
*Note!* This is still in early development so stuff **will** change.
- [ ] Scraping sites primarily with gallery-dl, but also for other links found in posts.
- [ ] Scheduled tasks
- [ ] Site support
- [ ] [Furaffinity](https://www.furaffinity.net)
- [ ] [Twitter/X](https://twitter.com/)
- [x] User import With profile/banner images
- [ ] Import images from timeline
- [ ] Media support and previews
- [x] Flash (With [Ruffle](https://github.com/ruffle-rs/ruffle/))
- [x] PDF (With HTML embed tag)
- [X] Image (With HTML img tag)
- [ ] Video (With [FluidPlayer](https://www.fluidplayer.com/))
- [ ] Compressed archive previews
- [ ] other text documents
- [ ] Easy download list of all files of post and user
---
## Usage
### Run without Docker
- **Step 1:** Clone repo
```bash
git clone https://git.aroy-art.com/Aroy/Gallery-Archivist.git
```
- **Step 2:** Change dir to the new cloned repo
```bash
cd Gallery-Archivist
```
- **Step 3:** Make a python environment
```bash
python3 -m venv venv
```
- **Step 4:** Activate the new python environment
```bash
source ./venv/bin/activate
```
- **Step 5:** Install python dependencies
```bash
pip install -r requirements.txt
```
- **Step 6:** Copy environment config file and change it to your liking
```bash
cp env-sample .env
```
- **Step 7:** Change directory to `./archivist`
```bash
cd ./archivist
```
- **Step 8:** Run django server
```bash
python3 manage.py runserver
```
### Manual Import Data
It is possible to import data from saved gallery-dl json files
- **Step 1:** Make sure that you are in the root folder of the project.
- **Step 2:** Make sure to activate the python environment.
```bash
source ./venv/bin/activate
```
- **Step 3:** Change directory to `./archivist`
```bash
cd ./archivist
```
- **Step 4:** Import the json data and media file from gallery-dl
replace `<path>` with the path of the folder or json file to import
```bash
python manage.py import_data <path>
```
## Development
### Without Docker
*Note!* Instructions are made for a modern linux environment.
- **Step 0:** Make sure that you have installed the dependencies.
You need `git, python, python-virtualenv, redis`
- **Step 1:** Clone repo
```bash
git clone https://git.aroy-art.com/Aroy/Gallery-Archivist.git
```
- **Step 2:** Change dir to the new cloned repo
```bash
cd Gallery-Archivist
```
- **Step 3:** Make a python environment
```bash
python3 -m venv venv
```
- **Step 4:** Activate the new python environment
```bash
source ./venv/bin/activate
```
- **Step 5:** Install python dependencies
```bash
pip install -r requirements.txt
```
- **Step 6:** Copy environment config file and change it to your liking
```bash
cp env-sample archivist/.env
```
- **Step 7:** Change directory to archivist
```bash
cd archivist
```
- **Step 8:** Run django database migrations
```bash
python manage.py migrate
```
- **Step 9:** Start the redis server
```bash
redis-server
```
- **Step :10** Open another shell inside of `archivist/` folder and start the django server
```bash
python3 manage.py runserver
```
- **Step :11** Open another shell inside of `archivist/` folder and start the celery worker
```bash
celery -A core worker -l info
```
- **Step :12** Open another shell inside of `archivist/` folder and start the celery beat
```bash
celery -A core beat -l info
```