Skip to main content

Setup Wizard

The setup wizard provides a guided, visual way to configure Vidra. It launches automatically on first run when no configuration exists.

Starting the Wizard

git clone https://github.com/yosefgamble/athena.git vidra
cd vidra
docker compose up --build

Open http://localhost:8080 in your browser. If no .env file exists (or SETUP_COMPLETED=false), the wizard starts automatically.

Step 1: Welcome

The welcome screen detects your system resources and presents two paths:

  • Quick Install — Docker-managed setup with sensible defaults (recommended for most users)
  • Advanced Setup — Step-by-step configuration for custom infrastructure

Welcome Screen

The prerequisites check verifies Go version, available RAM, and CPU cores, then recommends which optional services your system can support.

Quick Install Path

For the fastest setup, click Quick Install (Docker). This path only requires:

  1. Admin username, email, and password
  2. Domain/hostname

Everything else (PostgreSQL, Redis, IPFS, email) is auto-configured with Docker containers.

Quick Install

If you want more control, click Continue for the advanced setup described below.


Step 2: Database Configuration

Choose how PostgreSQL is provisioned:

Database Configuration

No configuration needed. Docker manages PostgreSQL automatically with:

  • User: athena
  • Password: Auto-generated
  • Database: athena
  • Port: 5432 (internal)

External Service

Connect to an existing PostgreSQL instance by providing:

FieldExampleRequired
Hostdb.example.comYes
Port5432Yes
UservidraYes
Password••••••••Yes
Database NamevidraNo (default: athena)
SSL ModerequireNo (default: disable)

Use the Test Connection button to verify connectivity before proceeding.


Step 3: Services Configuration

Configure required and optional services:

Services Configuration

Redis (Required)

  • Local Docker — Auto-managed, no configuration needed
  • External Service — Provide a Redis URL (e.g., redis://cache.example.com:6379/0)

Optional Services

ServiceRAM RequirementPurpose
IPFS2 GB+Distributed P2P storage
IOTA PaymentsCryptocurrency payments
ClamAV2 GB+Virus scanning on uploads
Whisper4 GB+ (GPU recommended)Automatic video captions

The wizard's resource detection panel recommends which services your system can support based on available RAM and CPU cores.


Step 4: Email Configuration

Configure how Vidra sends emails for verification, password resets, and notifications:

Email Configuration

Built-in (Mailpit) — Development

All emails are captured locally. View them at http://localhost:8025. No emails are actually delivered to recipients. Ideal for development and testing.

External SMTP — Production

FieldExampleRequired
SMTP Hostsmtp.mailgun.orgYes
SMTP Port587Yes
Usernamepostmaster@mg.example.comNo
Password••••••••No
From Addressnoreply@vidra.example.comYes
From NameVidraNo

Use the Send Test Email button to verify your SMTP configuration.

Disabled

No email functionality. Users cannot verify email addresses, reset passwords, or receive notifications. Not recommended for production.


Step 5: Networking

Configure how Vidra is accessed:

Networking Configuration

FieldDefaultDescription
Domain/HostnamelocalhostYour server's domain or IP
Port80HTTP port (443 for HTTPS, 8080+ for non-privileged)
ProtocolHTTPChoose HTTPS for production

TLS/SSL (HTTPS only)

  • Self-Signed — Quick setup, browser will show a warning
  • Let's Encrypt — Free, automatic certificates (requires a real domain, not localhost)

Step 6: Storage

Configure where uploaded videos and backups are stored:

Storage Configuration

FieldDefaultDescription
Storage Path./data/storageDirectory for uploaded videos
Enable BackupsYesAutomated database and config backups
Backup TargetLocalLocal, S3, or SFTP
ScheduleDaily (2 AM)When backups run
Retention7 daysHow long to keep backups

Step 7: Security

Set up authentication secrets and the initial admin account:

Security Configuration

JWT Secret

A 32-character secure random key is auto-generated. You can click Customize to provide your own (minimum 32 characters).

caution

Store the JWT secret securely. Changing it later will invalidate all existing sessions.

Administrator Account

Security Form Filled

FieldRequirements
UsernameLetters, numbers, underscore, hyphen only
EmailValid email address
PasswordMinimum 8 characters

This account has full administrative privileges over the Vidra instance.


Step 8: Review & Apply

Review all your configuration before applying:

Review Configuration

The review page shows a summary of every setting. Click Edit next to any section to go back and make changes.

When you click Complete Setup, the wizard:

  1. Creates the database (if using external PostgreSQL with "Create DB" enabled)
  2. Creates the admin user
  3. Generates the nginx reverse proxy configuration
  4. Writes docker-compose.override.yml with your service selections
  5. Writes the .env file with all configuration
  6. Sets SETUP_COMPLETED=true

After completion, the server restarts and redirects to the main application. Log in with your admin credentials.


Post-Setup

After the wizard completes:

# Verify the server is running
curl http://localhost:8080/api/v1/config

# Check service health
curl http://localhost:8080/health

# View logs
docker compose logs -f

Your .env file contains all configuration. Back it up — it contains secrets including the JWT key and database credentials.

tip

To re-run the wizard, set SETUP_COMPLETED=false in your .env file and restart the server.