diff --git a/docs/index.md b/docs/index.md index 42cc59c..3b6683c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,8 +1,11 @@ # ๐ฒ Kemoverse Gacha Game Documentation Welcome to the developer documentation for **Kemoverse**, a gacha trading card game in the Fediverse! + Features collectible cards, rarity-based pulls, and integration with Misskey. + Name comes from Kemonomimi and Fediverse. + --- ## ๐ Table of Contents diff --git a/docs/install.md b/docs/install.md new file mode 100644 index 0000000..e5f8658 --- /dev/null +++ b/docs/install.md @@ -0,0 +1,83 @@ + +## ๐งช Installation + +### Download and install dependencies + +Clone the repo + +```sh +git clone https://git.waifuism.life/waifu/kemoverse.git +cd kemoverse +``` + +Setup a virtual environment (Optional, recommended) + +```sh +python3 -m venv venv +source venv/bin/activate +``` + +Install project dependencies via pip + +```sh +python3 -m pip install -r requirements.txt +``` + +### Setup config file + +A sample config file is included with the project as a template: `example_config.ini` + +Create a copy of this file and replace its' values with your own. Consult the +template for more information about individual config values and their meaning. + +Config files are environment-specific. Use `config_dev.ini` for development and +`config_prod.ini` for production. Switch between environments using the +`KEMOVERSE_ENV` environment variable. + +```sh +cp example_config.ini config_dev.ini +# Edit config_dev.ini +``` + +### Setup database + +To set up the database, run: + +```sh +KEMOVERSE_ENV=dev python3 setup_db.py +``` + +### Run the bot + +```sh +KEMOVERSE_ENV=dev ./startup.sh +``` + +If all goes well, you should now be able to interact with the bot. + +### Running in production + +To run the the in a production environment, use `KEMOVERSE_ENV=prod`. You will +also need to create a `config_prod.ini` file and run the database setup step +again if pointing prod to a different database. (you are pointing dev and prod +to different databases, right? ๐คจ) + +### Updating + +To update the bot, first pull new changes from upstream: + +```sh +git pull +``` + +Then run any database migrations. We recommend testing in dev beforehand to +make sure nothing breaks in the update process. + +**Always backup your prod database before running any migrations!** + +```sh +# Backup database file +cp gacha_game_dev.db gacha_game_dev.db.bak +# Run migrations +KEMOVERSE_ENV=dev python3 setup_db.py +``` diff --git a/readme.md b/readme.md index 40d723d..37b9849 100644 --- a/readme.md +++ b/readme.md @@ -1,12 +1,9 @@ # Kemoverse A gacha-style bot for the Fediverse built with Python. Users can roll for characters, trade, duel, and perhaps engage with popularity-based mechanics. Currently designed for use with Misskey. Name comes from Kemonomimi and Fediverse. - -## Installation - -## Roadmap - - +
+
+