Skip to main content

Installation

This guide walks through installing TryPost on a server (bare-metal or VM). For Docker-first setups, see Docker.

Requirements

  • PHP 8.2 or higher
  • Node.js 20 or higher
  • PostgreSQL 14+ or MySQL 8+
  • Redis 6+
  • Composer 2.x

Install

1. Clone the repository

git clone https://github.com/trypostit/trypost.git
cd trypost

2. First-time setup (one command)

composer setup
This runs composer install, copies .env.example to .env, generates APP_KEY, runs php artisan migrate --force, installs npm packages, and runs npm run build. After it finishes, edit .env to point at your real database, Redis, and any social platform credentials — see Configuration. If you prefer doing each step yourself:
composer install
cp .env.example .env
php artisan key:generate
# edit .env now
php artisan migrate
npm install
npm run build

3. Seed default data and create the admin user

Self-hosted installs default to SELF_HOSTED=true, which closes /register to the public — your instance only exists for you and the people you invite. On a fresh database, run this once:
php artisan migrate:fresh --seed && php artisan db:seed --class=UserSeeder
This rebuilds the schema, runs the default DatabaseSeeder (which provisions the Laravel Passport Personal Access Client required to issue API tokens, plus the plan rows), and then creates the admin user.
migrate:fresh drops every table. Only run it on a brand-new database during initial install. If you already have data, run php artisan db:seed && php artisan db:seed --class=UserSeeder instead — both seeders are idempotent.
The admin account ships with fixed credentials — change the password immediately on first login:
FieldValue
Emailadmin@trypost.it
Passwordpassword
After this, every other account on the instance comes from a workspace invite (Settings → Members) — invitees get a link that lets them sign up even though open registration stays off.

4. Run all dev processes in one terminal

composer dev
This concurrently starts:
  • php artisan serve — HTTP server on http://localhost:8000
  • php artisan queue:listen — queue worker
  • php artisan pail — live log tail
  • npm run dev — Vite with hot reload
For Inertia SSR development, use composer dev:ssr instead.

5. Production process supervisors

For production you don’t use composer dev. Configure separate supervisor entries for the web server (PHP-FPM / Octane), Horizon (queues), Reverb (WebSockets), and the cron job for php artisan schedule:run — see Production setup.

Verify the install

Visit http://localhost:8000 (or your configured APP_URL) and sign in with the admin credentials you set in step 3. You’ll land in the dashboard.

Next Steps