Nekomod
Nekomod is the frontend project currently in use by Nekohouse, a gallery project aiming to eventually ease the backup and sharing of artists' works across the Internet using automation. Based on Kemono3 code as it was at around February 2023. Very WIP.
Table of contents
Setup
git clone https://code.nekohouse.su/Nekomod Nekomod
cd Nekomod
Quick Start
Docker is the recommended method of running Nekomod. Podman should also work with similar commands.
-
Set up config:
# you might want to open up the file and configure # see `src/config.py` for all options cp --interactive config.example.json config.docker.json
-
Start the containers (make sure you have
docker
installed).cd docker docker compose build docker compose up --detach
You can also pull from the official registry instead of building from scratch if you've been given auth.
Manual
Requires Python 3.9 and Node v18, as well as running Redis and PostgreSQL instances. Your PostgreSQL server also needs Pgroonga and the Hamming distance index extension installed.
-
Set up config:
cp --interactive config.example.json config.json
You definitely want to go in plug in the correct service addresses here.
-
Install required dependencies:
sudo apt update sudo apt install python3.9 python3.9-dev python3.9-distutils
-
Create a virtual environment (requires
virtualenv
installed):pip install virtualenv virtualenv --python 3.9 venv
-
Activate the virtual environment:
source venv/bin/activate
On Windows the path is
venv\Scripts\activate
.
You might need to use a different script if you use an exotic shell. For example,fish
would needsource venv/bin/activate.fish
-
Install python packages:
pip install --requirement requirements.txt
-
Manually start up Nekomod:
python3 daemon.py
May take a bit to startup on first run.
-
Open
http://localhost:5000/
in the browser.
Frequently Asked Questions
Are Kemono databases compatible with Nekomod?
No. For various reasons, the schema is different.
How do I import from a database dump?
- Retrieve a database dump.
- Run this command in the folder of said dump:
cat db-filename.dump | gunzip | docker exec --interactive nekohouse-db psql --username=nekohouse nekohouse-db