Skip to content

Instantly share code, notes, and snippets.

@cwilby
Last active August 6, 2022 15:01
Show Gist options
  • Save cwilby/be2990749518382e74c94fd249bbc053 to your computer and use it in GitHub Desktop.
Save cwilby/be2990749518382e74c94fd249bbc053 to your computer and use it in GitHub Desktop.
TastyIgniter Setup.md

TastyIgniter

TastyIgniter is a self-hosted, open source order management system to give businesses a way to provide online pickup/delivery for their customers.

Quickstart

Phase 1 - Application Setup

  • Create a LEMP Droplet on DigitalOcean.

  • Create an A record in your domain's DNS settings that points your domain name to your droplet's IP address.

  • SSH into the box: ssh root@yourwebsite.com

  • Update/upgrade packages (choose keep local in pink menu)

    $ apt update
    $ apt upgrade
    
  • Install dependencies

    $ apt install unzip
    $ apt install php7.2-gd php7.2-mbstring php7.2-zip php7.2-curl
    
  • Create MySQL user:

    $ mysql
    > CREATE USER 'tastyigniter'@'localhost' IDENTIFIED BY 'password';
    done
    > GRANT ALL ON *.* TO 'tastyigniter'@'localhost';
    done
    > FLUSH PRIVILEGES;
    done
    > CREATE DATABASE tastyigniter;
    done
    > exit
    
    goodbye
  • Run certbot to get SSL certificates, make sure to redirect HTTP to HTTPS.

    $ certbot run --nginx -d yourwebsite.com,www.yourwebsite.com
    
  • Modify /etc/nginx/sites-available/digitalocean per this diff. Note there are two server blocks in this file, make sure you analyze and modify both.

    location / {
    -   try_files $uri $uri/ =404;
    +   try_files $uri $uri/ /index.php?$query_string; 
    }
    
    +location ~* ^/storage {
    +    deny all;
    +}
    
    server {
      ...
    +  location = /favicon.ico { access_log off; log_not_found off; }
    +  location = /robots.txt  { access_log off; log_not_found off; }
      ...
    }
  • Download TastyIgniter setup to nginx directory

    $ cd /var/www/html
    $ rm -rf ./*
    $ wget https://codeload.github.com/tastyigniter/setup/zip/master
    $ unzip master
    $ mv setup-master/* .
    $ mv setup-master/.* .
    
    (to be expected)
    mv: cannot move 'setup-master/.' to './.': Device or resource busy
    mv: cannot move 'setup-master/..' to './..': Device or resource busy
    
    $ rmdir setup-master
    $ rm master
    $ chown -R www-data:www-data /var/www/html
    
  • Go to https://yourwebsite.com/setup.php

  • Accept EULA (MIT License)

  • Your database settings should mirror this guide:

  • Set restaurant details up how you want, I recommend not installing demo data.

  • Choose "Fresh Install" for theme to install another later.

  • 🕷BUG! TastyIgniter will take you to localhost at this point. Go to https://yourwebsite.com/admin.

🥳 You should know have a working instance of TastyIgniter!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment