- HTML 62.8%
- Python 29.5%
- CSS 5.7%
- Shell 1.2%
- JavaScript 0.7%
| locales/ru_RU/LC_MESSAGES | ||
| migrations | ||
| static | ||
| templates | ||
| .env.example | ||
| .gitignore | ||
| app.py | ||
| babel.cfg | ||
| Caddyfile | ||
| CHANGELOG.md | ||
| config.example.json | ||
| constants.py | ||
| docker-compose.yml | ||
| docker.md | ||
| Dockerfile | ||
| entrypoint.sh | ||
| fedi.py | ||
| functions.py | ||
| gunicorn.conf.py | ||
| install.sh | ||
| LICENSE | ||
| messages.pot | ||
| README.md | ||
| requirements.txt | ||
| roadmap.md | ||
| schema.sql | ||
| UPDATE.md | ||
| utils.py | ||
| version.txt | ||
| wordlist.txt | ||
| yoyo.ini | ||
CatAsk
Website - Documentation - Demo - Theme Store
a simple & easy to use Q&A software that makes answering questions easier
Prerequisites
- PostgreSQL
- Python 3.10+ (3.12+ recommended)
- Git
- (preferrably) A UNIX-based operating system
Note
Right now, we cannot guarantee that CatAsk will work properly on Windows as none of the devs have tested running it there.
Install
Automatic (Linux-only)
Simply download & run the install script:
curl -fsSL https://catask.org/install.sh | bash
Manual
Clone this repository:
git clone https://codeberg.org/catask-org/catask
Note
If you want to use Docker, see docker.md for further install instructions
Go into the cloned repository, create a virtual environment and activate it:
Linux
python -m venv venv && . venv/bin/activate
Windows (PowerShell)
python -m venv venv; .\venv\Scripts\activate
After that, install required packages:
pip install -r requirements.txt
Then, create the database and the user for CatAsk:
CREATE USER '<DB_USER>' WITH PASSWORD "<DB_PASS>";
CREATE DATABASE "<DB_NAME>" OWNER '<DB_USER>';
Post-install
Configuration
First, rename .env.example to .env and config.example.json to config.json, then configure all the values below:
.env
DB_HOST - database host (usually 127.0.0.1)
DB_NAME - database name
DB_USER - database user
DB_PASS - database password
DB_PORT - database port (usually 5432)
ADMIN_PASSWORD - password to access admin panel
APP_SECRET - application secret, generate one with this command: python3 -c 'import secrets; print(secrets.token_hex())'
After you're done configuring CatAsk, initialize the database:
flask init-db
If that doesn't work (e.g. tables are missing), try importing schema.sql file into the created database manually
Usage
Start CatAsk with this command:
gunicorn -w 4 app:app
If you want CatAsk to be accessible on a specific host address, specify a --bind option to the command (e.g. --bind 127.0.0.1:5000)
For debugging, run flask run --debug
Runs on 127.0.0.1:8000 by default
Caddy
This repository contains an example Caddyfile that runs CatAsk on catask.localhost by reverse proxying it to 127.0.0.1:5000, you can modify it as needed
Updating
For instructions with updating from one version to another, check the UPDATE.md file
Check the CHANGELOG.md file for release notes