Skip to content

A simple poll application that is intended to be easy to self-host. Written in rust using tide HTTP framework and askama templating. Data stored in SQLite.

License

Notifications You must be signed in to change notification settings

orndorffgrant/poller

Repository files navigation

poller

A simple poll application that is intended to be easy to self-host. This is a personal project that I run at its current version and (lack of) stability, but it may not meet your production standards.

You can see demo polls here:

Build Instructions

cd assets-src
npm run build
cd ..
cargo build --release

Running instructions

  1. Create a new database file (sqlite)
    poller init data.db
    
    • This will print out an admin user and password
  2. Set a secret environment variable (32 random characters)
    export POLLER_SECRET=asdfasdfasdfasdfasdfasdfasdfasdf
    
  3. Run poller
    poller run data.db
    
    • This will run on port 8000 (Change by setting the POLLER_PORT environment variable).
  4. Set up your reverse proxy that handles TLS to point to poller. I recommend caddy.

Using poller

  1. Log in to poller using the admin user and password that were printed when initializing the database.
  2. Create a new non-admin user via the interface.
    • admins cannot create polls - only manage users.
  3. Log in as the non-admin user
  4. Create a poll via the interface.
  5. Send the poll link to anyone you want.

About

A simple poll application that is intended to be easy to self-host. Written in rust using tide HTTP framework and askama templating. Data stored in SQLite.

Resources

License

Stars

Watchers

Forks