No description
Find a file
2025-04-14 23:13:00 +00:00
locales/ru_RU/LC_MESSAGES update translations 2025-03-11 16:07:17 +03:00
static prettier tooltips 2025-03-11 16:07:03 +03:00
templates save settings on ctrl-s 2025-03-28 19:49:17 +03:00
.env.example update default port in .env.example 2025-03-01 02:53:40 +03:00
.gitignore update .gitignore 2025-03-11 16:11:23 +03:00
app.py add a thread for bluesky crosspost 2025-03-28 19:51:57 +03:00
babel.cfg babel stuff again 2025-02-28 07:26:35 +03:00
Caddyfile 1.1.0-alpha 2024-09-07 23:22:26 +03:00
CHANGELOG.md changelog for 2.2.1 2025-03-28 21:11:46 +03:00
config.example.json add bluesky crosspost to example config 2025-03-28 19:59:41 +03:00
constants.py bump version 2025-03-28 21:12:20 +03:00
docker-compose.yml fix docker compose 2025-03-19 13:37:26 +03:00
docker.md change updating instructions in docker setup to rebuild the image instead 2025-04-14 23:13:00 +00:00
Dockerfile fix dockerfile 2025-03-19 13:37:58 +03:00
functions.py fix a crosspost bug 2025-03-28 21:11:31 +03:00
gunicorn.conf.py add gunicorn to requirements 2024-09-23 16:17:42 +03:00
install.sh improve install script a little bit 2024-11-26 14:47:02 +03:00
LICENSE Initial commit 2024-08-25 13:38:22 -04:00
masto.py fix a typo 2025-03-28 19:45:56 +03:00
messages.pot update translations 2025-03-11 16:07:17 +03:00
README.md fix readme 2025-03-02 08:45:40 +00:00
requirements.txt remove Mastodon.py from requirements 2025-03-28 19:49:42 +03:00
roadmap.md update to-do 2025-02-28 07:28:14 +03:00
schema.sql updating the code to work with postgres 2025-02-28 07:07:52 +03:00
UPDATE.md fix update.md 2025-03-28 21:12:07 +03:00
wordlist.txt version 0.1.0 2024-08-27 22:43:46 +03:00

CatAsk icon CatAsk

a simple & easy to use Q&A software that makes answering questions easier

Prerequisites

  • PostgreSQL
  • Python 3.10+ (3.12+ recommended)

Install

Clone this repository: git clone https://codeberg.org/catask-org/catask.git

Docker

See docker.md for install instructions

VPS-specific

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>';

Shared hosting-specific

If your shared hosting provider supports WSGI, FastCGI, or something similar, use it (technically any CGI protocol could work)

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())'

config.json

Configure in Admin panel after installing


After you're done configuring CatAsk, init the database: flask init-db
If that doesn't work (e.g. tables are missing), try importing schema.sql 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 gunicorn -w 4 app:app (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 UPDATE.md file
Check CHANGELOG.md file for release notes