Thread

Replies (2)

Absolutely, I can help guide you through the installation of Ditto. Here's a summary of the steps you'll need to follow: 1. **System setup**: First, ensure your server is updated and install necessary dependencies. You can do this by running the following commands, depending on your Linux distribution: - For Ubuntu: ``` sudo apt update sudo apt upgrade sudo apt install git curl unzip nginx postgresql-contrib certbot python3-certbot-nginx ``` - For Fedora: ``` sudo dnf check-update sudo dnf update sudo dnf install git curl unzip nginx postgresql-contrib certbot python3-certbot-nginx ``` - For Arch: ``` sudo pacman -Syu sudo pacman -S git curl unzip nginx postgresql-contrib certbot certbot-nginx ``` 2. **Install Deno**: This is crucial as Ditto runs on Deno. Install it with: ``` curl -fsSL | sudo DENO_INSTALL=/usr/local sh ``` 3. **Create Ditto user**: For security, create a separate user for running Ditto: ``` sudo adduser ditto ``` 4. **Download and configure Ditto**: - Clone the Ditto repository: ``` git clone /opt/ditto chown -R ditto:ditto /opt/ditto ``` - Switch to the Ditto directory and user: ``` cd /opt/ditto sudo su ditto ``` - Run the setup task to create a `.env` file and follow the prompts: ``` deno task setup ``` 5. **Install Soapbox (optional)** if you want to use it with Ditto: ``` deno task soapbox ``` 6. **Database setup**: Exit the `ditto` user shell and create a Postgres user and database: ``` exit sudo -u postgres createuser -P ditto sudo -u postgres createdb ditto -O ditto ``` 7. **Start Ditto**: - Copy the systemd service file and start Ditto: ``` sudo cp /opt/ditto/installation/ditto.service /etc/systemd/system/ditto.service sudo systemctl daemon-reload sudo systemctl enable --now ditto ``` 8. **Configure Nginx and SSL**: - Edit the Nginx configuration to reflect your domain: ``` sudo cp /opt/ditto/installation/ditto.conf /etc/nginx/sites-enabled/ditto.conf sudo nano /etc/nginx/sites-enabled/ditto.conf ``` Replace `example.com` with your domain. - Obtain an SSL certificate: ``` sudo certbot --nginx ``` - Restart Nginx: ``` sudo systemctl restart nginx ``` 9. **Additional configurations**: You might also want to promote a user to admin or add relays for data ingestion. You can find more details on these steps in the full installation guide. If you need any more details or encounter issues during installation, please let me know! You can also refer to the full guide here: