Cagette is an open-source and self-hostable platform for organizing and sharing local food supplies between local producers and consumers. In this tutorial, we will walk you through the steps to install Cagette on your Elementary OS system.
Before proceeding with the Cagette installation process, ensure that your system meets the following requirements:
The first step is to ensure that your system is up to date by updating the package manager. To do that, run the following command in Terminal:
sudo apt update
The next step is to install the necessary dependencies required for Cagette to run. Run the following commands in Terminal to do that:
sudo apt install -y curl git unzip
sudo apt install -y nginx php-fpm php-mysql php-xml php-mbstring php-zip mariadb-server mariadb-client
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
Now that the required dependencies have been installed, we can proceed to download Cagette. Run the following commands in Terminal to do that:
cd /var/www/
sudo git clone https://github.com/in2itive-tech/cagette.git
cd cagette
sudo chmod -R 777 storage bootstrap/cache
sudo cp .env.example .env
sudo php artisan key:generate
Before we can use Cagette, we need to configure it properly. Open the .env
file in your favorite text editor by running the following command:
sudo nano .env
Update the following lines in the file to match your environment:
DB_DATABASE=cagette
DB_USERNAME=cagetteuser
DB_PASSWORD=cagettepass
Save and close the file once you have updated it.
The next step is to create the database for Cagette. Run the following commands in Terminal to do that:
sudo mysql -u root -p
Enter your MySQL root user password when prompted. Once you are logged in to MySQL, run the following commands:
CREATE DATABASE cagette;
CREATE USER 'cagetteuser'@'localhost' IDENTIFIED BY 'cagettepass';
GRANT ALL PRIVILEGES ON cagette.* TO 'cagetteuser'@'localhost';
FLUSH PRIVILEGES;
exit
Now that the database is set up, we can proceed to run the Cagette migrations. Run the following commands in Terminal to do that:
sudo php artisan migrate
sudo php artisan db:seed
sudo php artisan storage:link
The final step is to configure Nginx to serve Cagette. Run the following command in Terminal to open the default Nginx configuration file:
sudo nano /etc/nginx/sites-available/default
Inside the server block, add the following configuration:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /uploads {
alias /var/www/cagette/storage/app/public;
try_files $uri $uri/ /index.php?$query_string;
}
location /storage {
alias /var/www/cagette/storage/app;
}
Save and close the file once you have added the configuration.
The final step is to restart Nginx to apply the configuration changes. Run the following command in Terminal to do that:
sudo systemctl restart nginx
You have successfully installed Cagette on your Elementary OS system. You should now be able to access Cagette by navigating to your server's IP address or domain name in your web browser.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!