Phoenix Documentation
Phoenix ProductionPhoenix PreviewContentful
Primary version
Primary version
  • 🔥Phoenix 🔥
  • Installation + Usage
    • Prerequisites
    • Installation
    • Usage
  • Development
    • Architecture
      • Heroku
    • Content Types
      • Action Stats Block
      • Campaign
      • Content Block
      • Cause Page
      • Company Page
      • Current Club Block
      • Current School Block
      • Embed
      • External Link
      • Landing Page
      • Link Action
      • Metadata
      • Page
      • Photo Submission Action
      • Selection Submission Action
      • Share Action
      • Signup Referrals Block
      • Social Drive Action
      • Voter Registration Action
      • Voter Registration Drive Action
      • Voter Registration Marketing Page
      • Voter Registration Referrals Block
    • Features
      • Affiliate Opt In
      • Affiliate Scholarship Block
      • Analytics Waypoint
      • Delayed Element
      • Dismissable Element
      • Stat Card
      • General Buttons
      • Groups
      • Paginated Campaign Gallery
      • Popover Dispatcher
      • Refer A Friend
      • Referrals Gallery
      • Sitewide Banner
      • Sixpack A/B Testing
        • Code Tests
        • Contentful Tests
        • Testing Tips
      • Tooltip
      • Traffic Distribution
      • Volunteer Credits
      • Voter Registration
      • Zendesk Form
    • Contentful
      • Workflow
      • Content Management API Scripts
    • Helpers
  • Phoenix API
    • v2
      • Campaigns Resource
      • Posts Resource
      • Zendesk Endpoint
  • Data + Performance
    • Monitoring
    • Analytics
    • Logging
  • Contributing Instructions
    • Edit This Documentation
    • Glossary
Powered by GitBook
On this page
  • Heroku Resources
  • Laravel + Heroku notes
  1. Development
  2. Architecture

Heroku

PreviousArchitectureNextContent Types

Last updated 5 years ago

Heroku is a platform that lets developers focus on building applications instead of orchestrating infastructure. We currently use Heroku for Review Applications, temporary apps that deploy for every pull request, and we're moving towards hosting Phoenix entirely on Heroku.

Heroku Resources

Pages useful for understanding and debugging Heroku.

Laravel + Heroku notes

Review apps are spun up everytime a pull request is made by using the as an instruction set for how to configure the dyno. Any secret environment variables that it pulls in come from the QA (staging) app within the Phoenix Heroku pipeline.

Heroku apps contain a Procfile that declares what command should be executed to start an app. Phoenix's Procfile declares that a single web process type should be run; this process will be attached to the HTTP rounting stack of Heroku and receive web traffic when deployed. The command that is executed to start the app will run a composer command that helps with Phoenix setup, start up the Nginx server and serve the app from the public/ directory. It will also run the initial database migrations for the app.

Something to note is that we had to change the settings in order for the app to work smoothly with Heroku's load balancer.

12 Factor
Heroku Dev Center
Heroku Laravel Buildpack
Heroku Javascript Buildpack
Heroku Review Apps Documentation
app.json
Trusted Proxy