Installing on macOS

Installing PostgreSQL

Please refer to the PostgreSQL Installation Guide to install and configure PostgreSQL.

You can install PostgreSQL via Homebrew:

brew install postgresql

After installation, create a database user and database for Palpo:

# Start the postgresql service
brew services start postgresql
psql postgres

# Execute in the psql shell:
CREATE USER palpo WITH PASSWORD 'your_secure_password';
CREATE DATABASE palpo OWNER palpo;

Replace 'your_secure_password' with a strong password. This will create a PostgreSQL user and database named palpo, and set the user as the database owner.

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 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. {/* 本行由工具自动生成,原文哈希值:74ae6f66a9f43b899d7aa61cf4e2a720 */}