Skip to content

OAuth2 Login for Typeform and Tripetto

Notifications You must be signed in to change notification settings

RYGhub/rygforms

Repository files navigation

RYGforms

Ask for a OAuth2 login, then redirect to a Typeform having one or more hidden fields.

Running

Development

  1. Clone this repository:

    git clone [email protected]:RYGhub/rygforms.git
  2. Enter the cloned directory:

    cd rygforms
  3. Create a new .env file inside containing your configuration (see the example):

    cp EXAMPLE.env .env
    vim .env
  4. Install the requirements using Poetry:

    poetry install
  5. Run the debug server from inside the Poetry environment:

    poetry shell
    python -m rygforms

Production

  1. Create a new rygforms user:

    adduser rygforms --system
  2. Create a working directory for RYGforms, set the owner to rygforms and enter it:

    mkdir /opt/rygforms
    cd /opt/rygforms
    
  3. Create a new venv and enter it:

    python -m venv venv
    source venv/bin/activate
  4. Install through PyPI:

    pip install rygforms gunicorn
  5. Create a new .env file inside containing your configuration (see the example):

    curl https://raw.githubusercontent.com/RYGhub/rygforms/master/EXAMPLE.env > .env
    vim .env
  6. Change the owner of the working directory to rygforms:

    chown rygforms: /opt/rygforms
  7. Copy the provided systemd unit file to the /etc/systemd/system directory:

    curl https://raw.githubusercontent.com/RYGhub/rygforms/master/web-rygforms.service > /etc/systemd/system/web-rygforms.service
  8. Reload the systemd unit files:

    systemctl daemon-reload
  9. Start (and optionally enable) the service:

    systemctl start "web-rygforms"
    systemctl enable "web-rygforms"
  10. Copy the provided Apache site file to the /etc/apache2/sites-available directory:

    curl https://raw.githubusercontent.com/RYGhub/rygforms/master/rp-rygforms.conf > /etc/apache2/sites-available/rp-rygforms.conf
  11. Enable the rp-rygforms site and reload the Apache configuration:

    a2ensite rp-rygforms
    systemctl reload apache2