Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
bin
 
 
 
 
 
 
lib
 
 
 
 
rel
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PlanetEx

CircleCI

PlanetEx is an Elixir application for aggregating employee and SharePoint blogs.

Getting started

Prerequisites

You'll need to install the following dependencies first:

Installing

If you have asdf installed, simply run asdf install in the root directory.

Run the bootstrap script to install the remaining dependencies and create your development database:

$ cd planet
$ bin/setup

To run the server: mix phx.server.

Running the tests, formatter, and linter

$ mix verify

==> mix format --check-formatted
==> mix credo
==> mix test.all

Releasing and Deployment

PlanetEx uses Distillery and Docker to build Erlang releases targeted for Ubuntu.

Prerequisites

  • Docker
  • Server provisioned with the following
    • Postgres 10
      • Can be hosted on the same machine as the release or seperately.
    • xvfb
    • Google Chrome
    • ChromeDriver

Release

  • bin/docker-build - builds your Docker container.
    • You only need to do this once.
  • bin/release - builds your Distillery release.
    • Build artifacts are located in /rel/artifacts

Deployment

Environment Variables

Required
  • PORT
  • DOMAIN
  • POOL_SIZE
  • SECRET_KEY_BASE
    • Can be generated using mix phx.gen.secret
  • DATABASE_URL
Optional
  • SHAREPOINT_CREDS
    • In order to aggregate blogs from protected SharePoint sites, you must supply credentials in the form of username:password

Deliver to remote host

  • scp rel/artifacts/<your release> user@host:/path/to/release - Move release tar ball to the server.
  • tar -xvf /path/to/release - unpack the release.

Start the server

  • /path/to/release/bin/yourapp start - start the server in the background as a daemon
    • To stop the server - /path/to/release/bin/yourapp stop or
  • /path/to/release/bin/yourapp foreground - start the server in the foreground (analogous to mix phx.server)

Database migrations

PlanetEx comes with a migration release task.

On the remote server, run /path/to/release/bin/yourapp migrate []

Built With

Contributors


Powered by SEP logo

PlanetEx is supported by SEP: a Software Product Design + Development company. If you'd like to join our team, don't hesitate to get in touch!