- HTML 42.1%
- CSS 34.6%
- Python 20.9%
- Shell 1.4%
- JavaScript 1%
| locales/ru_RU/LC_MESSAGES | ||
| migrations | ||
| static | ||
| templates | ||
| .env.example | ||
| .gitignore | ||
| app.py | ||
| babel.cfg | ||
| Caddyfile | ||
| CHANGELOG.md | ||
| config.example.json | ||
| constants.py | ||
| functions.py | ||
| gunicorn.conf.py | ||
| install.sh | ||
| LICENSE | ||
| messages.pot | ||
| README.md | ||
| requirements.txt | ||
| schema.sql | ||
| TODO.md | ||
| UPDATE.md | ||
| version.txt | ||
| yoyo.ini | ||
Foxivote
A simple yet powerful form platform. Foxes included.
Requirements
- PostgreSQL
- Python 3.10+ (3.12+ recommended)
- Git
Install
Automatic (Linux-only)
Note
The install script is not finished yet, use the manual method for now
Simply run the install script:
curl -fsSL foxivote.mystie.dev/install.sh | bash
Manual
Clone this repository:
git clone https://codeberg.org/foxivote-org/foxivote
Go into the cloned repository, create a virtual environment and activate it:
Linux
python3 -m venv venv && . venv/bin/activate
Windows (PowerShell)
py -m venv venv; .\venv\Scripts\activate
After that, install required packages:
pip install -r requirements.txt
Then, create the user for Foxivote and grant it permissions to create a database:
CREATE USER '<DB_USER>' WITH PASSWORD "<DB_PASS>";
ALTER USER "<DB_USER>" createdb;
After that, run the setup command and follow the instructions:
flask setup
This command will create the database and configure Foxivote.
Usage
Starting Foxivote
Start Foxivote with this command:
gunicorn -w 4 app:app
Foxivote runs on 127.0.0.1:8000 by default, if you want Foxivote to be accessible on a specific host address, add a --bind option to the command (e.g. --bind 127.0.0.1:5000)
For debugging, run flask run --debug
Examples
Caddy
This repository contains an example Caddyfile that runs Foxivote on foxivote.localhost by reverse proxying it to 127.0.0.1:5000, you can modify it as needed