A simple yet powerful form platform. Foxes included.
  • HTML 42.1%
  • CSS 34.6%
  • Python 20.9%
  • Shell 1.4%
  • JavaScript 1%
Find a file
2025-11-14 18:09:33 +03:00
locales/ru_RU/LC_MESSAGES update translations 2025-11-04 14:52:31 +03:00
migrations add db migration for invites 2025-11-04 14:52:18 +03:00
static add brand icons for social share buttons 2025-11-04 14:33:27 +03:00
templates fix input icons preventing clicking on the inputs 2025-11-04 14:48:28 +03:00
.env.example 1.0.0 2025-10-26 15:03:35 +03:00
.gitignore update gitignore 2025-11-04 14:15:36 +03:00
app.py ignore subprocess.CalledProcessError exception in getRelease() 2025-11-14 17:07:17 +03:00
babel.cfg 1.0.0 2025-10-26 15:03:35 +03:00
Caddyfile add example caddyfile 2025-10-26 15:08:45 +03:00
CHANGELOG.md add changelog for v1.2.2 2025-11-14 18:09:33 +03:00
config.example.json 1.0.0 2025-10-26 15:03:35 +03:00
constants.py automatically remove newlines from the version string 2025-11-14 18:09:16 +03:00
functions.py fix app.logger errors in functions.py 2025-11-14 17:09:13 +03:00
gunicorn.conf.py 1.0.0 2025-10-26 15:03:35 +03:00
install.sh 1.0.0 2025-10-26 15:03:35 +03:00
LICENSE 1.0.0 2025-10-26 15:03:35 +03:00
messages.pot update translations 2025-11-04 14:52:31 +03:00
README.md improve readme 2025-11-04 14:51:02 +03:00
requirements.txt add extra-platforms and yoyo-migrations to pip requirements 2025-11-04 14:51:27 +03:00
schema.sql update database schema 2025-11-04 14:23:23 +03:00
TODO.md update to-do 2025-11-04 14:50:43 +03:00
UPDATE.md add update guide for v1.2.0 2025-11-04 14:53:24 +03:00
version.txt bump to v1.2.2 2025-11-14 18:09:27 +03:00
yoyo.ini add yoyo configuration file 2025-11-04 14:51:50 +03:00

Foxivote icon 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