HTML Ruby Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
images
script
.dockerignore
.env.sample
.envrc.sample
.gitignore
LICENSE
README.md
Vagrantfile
config.rb
user-data.yml.erb

README.md

Paus: Docker Compose PaaS

Bring your app to the cloud easily.

Deploy application by 2 steps:

  • Prepare docker-compose.yml on the repository
  • git push paus master

That's all. You don't have to learn the platform-specific file anymore.

Demo (YouTube)

Demo

Try on local machine with Vagrant

At first, run script/bootstrap 🚀

$ script/bootstrap

Prepare .env

Set environment variables in .env.

MUST: PAUS_GITHUB_CLIENT_ID and PAUS_GITHUB_CLIENT_SECRET are required to launch Paus. Create new OAuth application from here, then write Client ID and Client Secret in .env For Vagrant, callback URL should be "http://paus.dev/oauth/callback".

Launch Paus

3 CoreOS machines are launched.

$ vagrant up
$ vagrant dns --install
$ vagrant dns --start

Sign up & Create application.

Access to http://paus.dev and sign up with your GitHub account.

After that, create application.

Write ~/.ssh/config

Host paus.dev
  User git
  Port 2222
  IdentityFile ~/.ssh/id_rsa
  StrictHostKeyChecking no

Prepare docker-compose.yml

e.g. Wordpress + MySQL

$ cd /path/to/your/app
$ cat docker-compose.yml
version: '2'
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  web:
    depends_on:
      - db
    image: wordpress:latest
    links:
      - db
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_PASSWORD: wordpress

Add Git remote repository

$ git remote add paus git@paus.dev:<username>/<app_name>

Push!

$ git push paus master

Access to the application

Access to the URL shown the end of deployment.

Modules

Paus consists of the below modules:

Presentation material