Skip to content
Snippets Groups Projects
freedombone-app-pleroma 74.6 KiB
Newer Older
    increment_app_install_progress

Bob Mottram's avatar
Bob Mottram committed
    # daemon
Bob Mottram's avatar
Bob Mottram committed
    { echo '[Unit]';
      echo 'Description=Pleroma social network';
      echo 'After=network.target postgresql.service';
      echo '';
      echo '[Service]';
      echo 'User=pleroma';
      echo "WorkingDirectory=$PLEROMA_DIR";
      echo "Environment=\"HOME=$PLEROMA_DIR\"";
Bob Mottram's avatar
Bob Mottram committed
      echo 'ExecStart=/usr/bin/mix phx.server';
Bob Mottram's avatar
Bob Mottram committed
      echo "ExecReload=/bin/kill \$MAINPID";
      echo 'KillMode=process';
      echo 'Restart=on-failure';
      echo 'PrivateTmp=true';
      echo 'PrivateDevices=false';
      echo 'NoNewPrivileges=true';
      echo 'CapabilityBoundingSet=~CAP_SYS_ADMIN';
Bob Mottram's avatar
Bob Mottram committed
      echo '';
      echo '[Install]';
      echo 'WantedBy=multi-user.target';
      echo 'Alias=pleroma.service'; } > /etc/systemd/system/pleroma.service

    # avoid mixed content warnings
    sed -i 's|:chat, enabled:.*|:chat, enabled: false|g' $pleroma_secret
Bob Mottram's avatar
Bob Mottram committed
    if ! grep -q '9050' $pleroma_secret; then
        sed -i '/url:/a config :pleroma, :http, proxy_url: {:socks5, :localhost, 9050}' $pleroma_secret
    fi
    # set registrations closed initially
Bob Mottram's avatar
Bob Mottram committed
    sed -i 's|registrationOpen:.*|registrationOpen: false,|g' $pleroma_secret
    sed -i 's|"registrationOpen":.*|"registrationOpen": false,|g' $PLEROMA_DIR/priv/static/static/config.json
    sed -i 's|"chatDisabled":.*|"chatDisabled": true,|g' $PLEROMA_DIR/priv/static/static/config.json
    increment_app_install_progress

    pleroma_set_permissions

    # Handle inconsistent location of mix command
Bob Mottram's avatar
Bob Mottram committed
    # On x86 /usr/local/bin/mix, on arm /usr/bin/mix
    if [ ! -f /usr/bin/mix ]; then
        if [ -f /usr/local/bin/mix ]; then
            if grep -q '/usr/bin/mix' /etc/systemd/system/pleroma.service; then
                sed -i 's|/usr/bin/mix|/usr/local/bin/mix|g' /etc/systemd/system/pleroma.service
            fi
        fi
    fi

Bob Mottram's avatar
Bob Mottram committed
    systemctl daemon-reload
    systemctl enable pleroma
    systemctl start pleroma

    increment_app_install_progress

    cd $PLEROMA_DIR || exit 19
    echo 'y' | sudo -u pleroma mix pleroma.user new "$MY_USERNAME" "$MY_EMAIL_ADDRESS" --bio $"Your bio goes here" --password "$PLEROMA_ADMIN_PASSWORD"

    increment_app_install_progress

    sudo -u pleroma mix set_moderator "$MY_USERNAME" true
    increment_app_install_progress

Bob Mottram's avatar
Bob Mottram committed
    pleroma_create_recompile_command

Bob Mottram's avatar
Bob Mottram committed
    pleroma_enable_web_push_encryption
Bob Mottram's avatar
Bob Mottram committed
    pleroma_installing=
Bob Mottram's avatar
Bob Mottram committed
    APP_INSTALLED=1
}

# NOTE: deliberately there is no "exit 0"