Installing on macOS

Installing PostgreSQL

Please refer to the PostgreSQL Installation Guide to install PostgreSQL and create the palpo database and user. On macOS, Homebrew (brew install postgresql) is the recommended installation method.

Downloading Palpo Distribution

Visit the official GitHub releases page:

https://github.com/palpo-im/palpo/releases

Download the latest macOS version (e.g., palpo-x.y.z-macos.zip) and extract it.

Configuring Palpo

Copy the example configuration file and rename it:

cp palpo-example.toml palpo.toml

Edit palpo.toml according to your environment and database settings. At minimum, you need to:

  • Set server_name to your desired domain, for example:

    server_name = "your.domain.com"
  • Set the database URL in the [db] section to match the database, user, and password you created above, for example:

    [db]
    url = "postgresql://palpo:your_secure_password@localhost:5432/palpo"

Replace your.domain.com and your_secure_password with your actual domain and password.

For local testing, set server_name to localhost:port, for example localhost:8008. Also configure the well_known section to specify the client connection address:

[well_known]
client = "http://127.0.0.1:8008"

If using Proxy, make sure to configure the correct client address to ensure external accessibility.

For more advanced configurations, please refer to the Configuration Page.

Running Palpo

Start Palpo from the command line:

./palpo

Setting Up as a Launchd Service (Auto-start on Boot)

To automatically start Palpo on boot, you can create a launchd service:

  1. Create a plist file at ~/Library/LaunchAgents/im.palpo.palpo.plist with the following content:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>im.palpo.palpo</string>
        <key>ProgramArguments</key>
        <array>
            <string>/path/to/palpo</string>
        </array>
        <key>WorkingDirectory</key>
        <string>/path/to</string>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <true/>
    </dict>
    </plist>

    Replace /path/to/palpo and /path/to with the actual paths to the Palpo executable and its directory.

  2. Load the service:

    launchctl load ~/Library/LaunchAgents/im.palpo.palpo.plist

Palpo will now start automatically upon login.