Skip to content

Deploying Salut a Toi

Introduction

Salut a Toi (SaT), also known as Libervia, is an open-source decentralized communication platform built on the XMPP protocol. It goes beyond simple instant messaging to provide a comprehensive suite of communication and collaboration tools, all based on open standards and federation.

The project aims to provide an ethical alternative to centralized platforms, giving users control over their data while enabling seamless communication across different servers. Libervia’s web interface provides access to all features without requiring desktop software installation.

Key highlights of Salut a Toi:

  • XMPP Foundation: Built on open, federated standards
  • Multi-Frontend: Web, desktop, command-line, and Android interfaces
  • Instant Messaging: One-to-one and group conversations
  • Microblogging: Decentralized social media features
  • File Sharing: Secure peer-to-peer and server-mediated transfers
  • Photo Albums: Share and organize photos
  • Event Planning: Calendar and event organization
  • Ticket System: Collaborative issue tracking
  • End-to-End Encryption: OMEMO encryption support
  • Federation: Communicate with any XMPP server
  • Privacy Focused: Decentralized by design

This guide walks through deploying Libervia (Salut a Toi’s web interface) on Klutch.sh using Docker and configuring the communication platform.

Why Deploy Salut a Toi on Klutch.sh

Deploying Salut a Toi on Klutch.sh provides several advantages for decentralized communication:

Simplified Deployment: Klutch.sh automatically builds your Libervia configuration without complex setup.

Persistent Storage: Attach volumes for message history, files, and configuration.

HTTPS by Default: Secure web access with automatic SSL certificates.

GitHub Integration: Store configuration in version control for reproducible deployments.

Federation Support: Connect with the broader XMPP network from a reliable host.

Always-On Messaging: 24/7 availability for message delivery and synchronization.

Prerequisites

Before deploying Salut a Toi on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your configuration
  • Basic familiarity with Docker and XMPP concepts
  • An XMPP server (or plan to connect to existing accounts)
  • (Optional) A custom domain for your Libervia instance

Deploying Salut a Toi on Klutch.sh

    Create Your Repository

    Create a new GitHub repository for your deployment. Add a Dockerfile:

    FROM debian:bookworm
    RUN apt-get update && apt-get install -y \
    python3 \
    python3-pip \
    python3-venv \
    && rm -rf /var/lib/apt/lists/*
    RUN python3 -m venv /opt/libervia
    RUN /opt/libervia/bin/pip install libervia
    ENV PATH="/opt/libervia/bin:$PATH"
    ENV LIBERVIA_PORT=8080
    EXPOSE 8080
    HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
    CMD curl -f http://localhost:8080/ || exit 1
    CMD ["libervia", "web", "--port", "8080"]

    Push to GitHub

    Commit and push your Dockerfile to your GitHub repository.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project.

    Create a New App

    Within your project, create a new app. Connect your GitHub account and select your repository.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 8080

    Set Environment Variables

    Configure Libervia settings:

    VariableValue
    LIBERVIA_PORT8080

    Attach Persistent Volumes

    Add volumes for data persistence:

    Mount PathRecommended SizePurpose
    /var/lib/libervia20 GBApplication data
    /root/.config/libervia1 GBConfiguration

    Deploy Your Application

    Click Deploy to start the build process.

    Access Libervia

    Once deployed, access your Libervia web interface at the provided URL.

Initial Configuration

First-Time Setup

Configure Libervia after deployment:

  1. Access the web interface
  2. Create or connect XMPP account
  3. Configure server settings
  4. Set up profile information

XMPP Account Configuration

Connect your XMPP identity:

  1. Enter JID (user@domain.com)
  2. Provide password
  3. Configure server if non-standard
  4. Test connection

Features

Instant Messaging

Real-time communication:

  • One-to-one conversations
  • Group chats (MUC)
  • Message history
  • Typing notifications
  • Read receipts

Microblogging

Decentralized social features:

  • Status updates
  • Comments and likes
  • Following/followers
  • Public and private posts
  • Federation with other XMPP nodes

File Sharing

Share files securely:

  • Direct file transfers
  • Server-mediated transfers
  • Photo galleries
  • Document sharing

Events and Calendar

Organize activities:

  • Create events
  • Send invitations
  • RSVP tracking
  • Calendar integration

Ticket System

Collaborative issue tracking:

  • Create tickets
  • Assign and track
  • Comments and updates
  • Status management

Security Configuration

End-to-End Encryption

Enable OMEMO encryption:

  1. Access security settings
  2. Enable OMEMO
  3. Verify device keys
  4. Trust contacts

Account Security

Protect your account:

  • Strong password
  • Session management
  • Login notifications

Client Connectivity

Web Interface

Access via browser:

  • Responsive design
  • All features available
  • No installation required

Desktop Client

Install Cagou for desktop:

Terminal window
pip install cagou

Command Line

Use jp for CLI access:

Terminal window
jp message send user@domain.com "Hello!"

Mobile

Android app available:

  • Download from F-Droid
  • Configure XMPP account
  • Sync with server

Federation

XMPP Interoperability

Connect with the XMPP network:

  • Add contacts from any server
  • Join rooms on other servers
  • Federated microblogging

Server-to-Server

Configure S2S communication:

  • Automatic discovery
  • Secure connections
  • Federation policies

Administration

User Management

Manage local users:

  • Create accounts
  • Set permissions
  • Monitor activity

Server Settings

Configure server behavior:

  • Rate limiting
  • Storage quotas
  • Federation policies

Customization

Theme Configuration

Customize appearance:

  • Color schemes
  • Logo and branding
  • Layout options

Plugin System

Extend functionality:

  • Browse available plugins
  • Install and configure
  • Develop custom plugins

Troubleshooting

Connection Issues

  • Verify XMPP server accessibility
  • Check credentials
  • Review firewall rules
  • Test with other clients

Message Delivery

  • Check contact online status
  • Verify encryption settings
  • Review server logs

Performance

  • Monitor resource usage
  • Optimize database
  • Configure caching

Additional Resources

Conclusion

Deploying Salut a Toi (Libervia) on Klutch.sh provides a comprehensive, decentralized communication platform. With instant messaging, microblogging, file sharing, and more - all built on open XMPP standards - you get freedom from centralized platforms while maintaining full connectivity. Combined with Klutch.sh’s reliable hosting, you have an always-available communication hub that respects user privacy and promotes open standards.