Skip to main content

Configuration

Customization - Virex Docs

Customize Virex to fit your workflow. Learn about themes, plugins, and advanced configuration options.

Virex is designed to be flexible. This guide covers how to customize the platform to fit your team’s workflow.

Dashboard Themes

Personalize your Virex dashboard experience:

export default {
  name: 'my-project',
  
  dashboard: {
    theme: 'dark', // 'light', 'dark', or 'system'
    accentColor: '#6366f1',
  },
};

Custom Domains

Connect your own domain to your deployments:

Via CLI

virex domains add myapp.com --environment production

Via Configuration

environments: {
  production: {
    domains: ['myapp.com', 'www.myapp.com'],
  },
},

Virex automatically provisions SSL certificates for custom domains.

Build Plugins

Extend the build process with plugins:

export default {
  name: 'my-project',
  
  plugins: [
    '@virex/plugin-analytics',
    '@virex/plugin-sentry',
    ['@virex/plugin-custom', { option: 'value' }],
  ],
};
PluginDescription
@virex/plugin-analyticsBuilt-in analytics dashboard
@virex/plugin-sentryError tracking integration
@virex/plugin-lighthouseAutomated performance audits
@virex/plugin-previewEnhanced preview deployments

Notifications

Configure where deployment notifications are sent:

export default {
  name: 'my-project',
  
  notifications: {
    slack: {
      webhook: process.env.SLACK_WEBHOOK,
      events: ['deployment.success', 'deployment.failure'],
    },
    email: {
      recipients: ['[email protected]'],
      events: ['deployment.failure'],
    },
  },
};

Team Permissions

Control who can do what in your project:

export default {
  name: 'my-project',
  
  team: {
    roles: {
      developer: {
        deploy: ['staging'],
        viewLogs: true,
      },
      admin: {
        deploy: ['staging', 'production'],
        manageTeam: true,
        viewLogs: true,
      },
    },
  },
};

Monorepo Support

For monorepo setups, specify the root directory:

export default {
  name: 'frontend-app',
  rootDirectory: 'apps/frontend',
};

Or use workspace detection:

virex init --workspace apps/frontend

CI/CD Integration

Integrate Virex into your existing CI/CD pipeline:

GitHub Actions

- name: Deploy to Virex
  uses: virex/deploy-action@v2
  with:
    token: ${{ secrets.VIREX_TOKEN }}
    environment: production

Generic CI

VIREX_TOKEN=$TOKEN virex deploy --environment production

Advanced: Custom Build Image

For specialized build requirements:

export default {
  name: 'my-project',
  
  build: {
    image: 'node:20-alpine',
    commands: [
      'apk add --no-cache python3',
      'npm ci',
      'npm run build',
    ],
  },
};

Next Steps

  • Check the FAQ for common questions
  • Join our Discord for community support