Skip to content
Update Server for Valence projects
PHP TSQL HTML PLSQL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
bin
files
local
public
sql
src
templates
tests
.gitignore
LICENSE.md
README.md
autoload-cli.php
composer.json
phpunit.xml

README.md

Valence - Update Server

Support on Patreon

This is a standalone update server for the Valence project.

System Requirements

  • PHP 7.3+ with ext-sodium
  • PostgreSQL 10 or newer

Install / Setup Instructions

Getting the Code

For best results, clone the Git repository.

git clone https://github.com/soatok/valence-updateserver
cd valence-updateserver

Setting Up the Database

Create a local/settings.php file with your database credentials. A sample file looks like this:

<?php
use Soatok\DholeCrypto\Keyring;

$keyring = new Keyring();
return [
    'database' => [
        'dsn' => 'pgsql:host=localhost;dbname=valence',
        'username' => 'username',
        'password' => 'password',
        'options' => []
    ],

    'quill' => [
        'url' => 'http://localhost:8080',
        'client-id' => 'get from chronicle',
        'server-public-key' => 'get from chronicle',
        'client-secret-key' => 'generate later'
    ]
];

Once your database is configured, run bin/setup to create the necessary database tables.

Chronicle Setup

You'll want to setup at least one Chronicle instance. You can get the source code and install instructions from Chronicle on Github.

To create a Chronicle keypair, run bin/create-chronicle-key.

Managing Your Valence Server

Creating Publisher Accounts

To create a new Publisher, you need to run the bin/create-publisher command, like so:

bin/create-publisher publisher-name-goes-here

Publisher names should be alphanumeric with dashes and underscores.

Creating Projects

Run bin/create-project with the publisher name followed by the project name, like so:

bin/create-publisher publisher-name new-project-name

Project names should be alphanumeric with dashes and underscores.

Creating Publisher Tokens

Run bin/grant-publisher-token to generate an access token for publishers to run with the developer tools.

bin/grant-publisher-token publisher-name

Creating Access Tokens

Run bin/grant-access. This is an interactive CLI script that will prompt you for specific information.

Using the Update Server

Once you've setup your Valence Update Server and gotten familiar with its inner workings, you'll want to look at the developer tools.

You'll be mostly using that API to create, sign, and publish updates to your software projects.

You can’t perform that action at this time.