Installation

How to install and update locally or on a server.

Quickstart

Supported on Ubuntu/Debian. Other distros may work but aren't officially supported (yet).

Log in your server, run the following command and follow instructions:

curl -fsSL https://raw.githubusercontent.com/hunvreus/devpush/main/scripts/prod/inst

Note: Your user must have sudo privileges.

Install & Update

Prerequisites

You will need a fresh Ubuntu/Debian server you can SSH into with sudo privileges. We recommend a CPX31 from Hetzner.

You can use the provisioning script to get a server up and running:

  1. Sign in or sign up for a Hetzner account: Hetzner Cloud Console
  2. Generate an API token: Creating an API token
  3. Provision a server (requires --token; optional: --user, --name, --region, --type):
curl -fsSL https://raw.githubusercontent.com/hunvreus/devpush/main/scripts/prod/p

Install

Once you have your server ready, you can install the application using the quickstart command above.

curl -fsSL https://raw.githubusercontent.com/hunvreus/devpush/main/scripts/prod/inst | bash

Update

To update to the latest version, run the same installation command:

curl -fsSL https://raw.githubusercontent.com/hunvreus/devpush/main/scripts/prod/inst | bash

Development

Install

For development setup, clone the repository and follow the setup instructions:

git clone https://github.com/hunvreus/devpush.git
cd devpush
./scripts/dev/install.sh

Update

To update your development environment:

git pull origin main
./scripts/dev/update.sh

Scripts

The installation process uses several scripts that handle different aspects of the setup:

  • Production install: scripts/prod/inst - Main installation script
  • Provisioning: scripts/prod/p - Server provisioning script
  • Development: scripts/dev/install.sh - Development environment setup

Environment variables

Configure your installation using these environment variables:

export APP_NAME="My App"
export DATABASE_URL="postgresql://user:pass@localhost/db"
export SECRET_KEY="your-secret-key-here"

GitHub App

For GitHub integration, you'll need to set up a GitHub App:

  1. Go to your GitHub organization settings
  2. Navigate to "GitHub Apps"
  3. Create a new GitHub App
  4. Configure the necessary permissions
  5. Install the app on your repositories

Sign-in access control

Configure who can access your application by setting up authentication:

export ALLOWED_EMAILS="[email protected],[email protected]"
export ALLOWED_DOMAINS="example.com,company.com"