• Stars
    star
    151
  • Rank 245,115 (Top 5 %)
  • Language
    Shell
  • License
    Other
  • Created over 9 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fig powered mini-Heroku

Figure

Fig powered mini-Heroku. Inspired by Dokku.

What is it?

This project started as a fork of Dokku. It can host any application that can be run by fig up by Fig locally.

Demo

This demo shows how easy it is to deploy the Let's Chat program. It's applicable to any program that supports Fig.

  1. Follow the Installation guide to fire up a Figure server, or run vagrant up (with Vagrant installed) for a local development server.

  2. Clone the Let's Chat repo git clone https://github.com/sdelements/lets-chat.

  3. Figure requires a service named web defined in fig.yml. So you need to change the fig.yml slightly. Also, you can create a volume for mongo to keep the data. The final fig.yml may look as follows:

    # Let's Chat application
    web:
      build: .
      links:
        - db:db
      ports:
        - 5000:5000
    
    # Mongo Database
    db:
      image: mongo:latest
      volumes:
        - .docker/db:/data/db
    
  4. Commit the fig.yml file. Add Figure server for pushing.

    git add fig.yml
    git commit -m "adopt for figure deployment"
    git remote add figure figure@<your-server-address>:<app-name>
    
  5. Run git push. The application will be live at http://<app-name>.<your-server-address>.

Installation

The current version of Figure only supports Ubuntu. To install it on your server:

  1. Install make, git and ruby.
  2. If you want to run this on AWS, follow the instruction here to enable AUFS.
  3. Clone the repo by git clone https://github.com/project-nsmg/figure.
  4. Run make install as root.
  5. Run cat ~/.ssh/id_rsa.pub | ssh {YOUR_SERVER_IP} "sudo sshcommand acl-add figure $USER" in your local server to upload your public key.
  6. Add figure ALL=(ALL) NOPASSWD:ALL to sudoer file.
  7. Change content in /home/figure/VHOST to the domain you want to serve.

That's it!

Figure Commands

Following the same design principle of Dokku, you need to run figure commands through ssh, like ssh figure@your-server-address <your-command>. Run ssh figure@your-server-address help for all available commands.

Is It Suitable For Production?

Figure is powering http://ns.mg and http://snapviva.com, but it is still in a very early stage. Many functions may not work as expected.

License

MIT

More Repositories

1

rux

A hobbyist microkernel written in Rust, featuring a capability-based system similar to seL4.
Rust
295
star
2

reread

Hackable Hacker News Reader.
JavaScript
160
star
3

nlp.intent

An open source NLP library for recognizing intent and slots.
Clojure
53
star
4

flow

Simple Flow-based Machine Learning with Tensorflow
CSS
23
star
5

bm

Binary merkle tree implementation.
Rust
15
star
6

sputnikvm-in-browser

Run SputnikVM in browser through wasm32-unknown-emscripten target.
Rust
13
star
7

coinbase_exchange_bot

a trade bot for the coinbase exchange
JavaScript
12
star
8

substrate-pow-template

Rust
11
star
9

HTTP2.jl

A HTTP2 support library for Julia
Julia
11
star
10

sputnikvm-on-rux

SputnikVM for embedded devices.
Rust
8
star
11

rust-hmac-drbg

Pure Rust Implementation of Hmac DRBG
Rust
7
star
12

etclient

A bare minimum Ethereum and Ethereum Classic client built on top of SputnikVM and etcommon.
Rust
6
star
13

blockchain-rs

A generic blockchain interface for Rust
Rust
5
star
14

u256

A bare minimal (and will be fast) U256 implementation for Rust
Rust
4
star
15

asc15-gridding

The Gridding Code for ASC15.
C++
3
star
16

active_logic

Rails Plugin for Convenient Business Logic
Ruby
3
star
17

HPack.jl

Julia's Header Compression for HTTP/2
Julia
3
star
18

ec-rs

Elliptic Curve Cryptography in Pure Rust
Rust
2
star
19

vecarray

Generic array backed by a vector
Rust
2
star
20

substrate-actors-template

Template for working with Substrate's pallet-actors
Rust
2
star
21

stylesheets

Stylesheets used for That World website
CSS
1
star
22

better_exams

CSS
1
star
23

beaty-android

Java
1
star
24

polkamisc

Miscellaneous scripts used for Polkadot validators.
Nix
1
star
25

beaty-server

Ruby
1
star
26

taskibble

Fork of Scribble for task management
Racket
1
star
27

universe.ns.mg

2D Universe Simulation
JavaScript
1
star
28

press

1
star
29

99problems

Noted problems in Ocaml
OCaml
1
star
30

wasmi-on-rux

Run `wasmi` in the Rux microkernel!
Rust
1
star
31

blog.sorpaas.com

Old Blog Site Placeholder for redirection
1
star
32

ahnote

Ah Note is a notebook based on Dillinger
JavaScript
1
star
33

chtholly

Implementation of Chtholly Tree, a data structure used in solutions of CF896C.
Rust
1
star
34

bucme-fetcher

The BUCME Fetcher
Ruby
1
star
35

2train

Ruby
1
star
36

munje

A Time-tensed Logical Programming Language
Haskell
1
star
37

casper-validator

Dummy Casper validator implementation in javascript
JavaScript
1
star