plancks-cloud

所属分类:云计算
开发工具:GO
文件大小:846KB
下载次数:0
上传日期:2019-11-14 14:57:46
上 传 者sh-1993
说明:  使用普朗克云将您的家变成数据中心
(Turn your home into a data center with Planck s Cloud)

文件列表:
.codeclimate.yml (35, 2019-11-14)
.travis.yml (163, 2019-11-14)
Dockerfile (871, 2019-11-14)
LICENSE (1071, 2019-11-14)
application.go (969, 2019-11-14)
build-arm.sh (63, 2019-11-14)
controller (0, 2019-11-14)
controller\generic.go (274, 2019-11-14)
controller\health.go (1328, 2019-11-14)
controller\object.go (2494, 2019-11-14)
controller\object_test.go (2001, 2019-11-14)
controller\route.go (1625, 2019-11-14)
controller\route_test.go (1679, 2019-11-14)
controller\service.go (1732, 2019-11-14)
controller\sync.go (2521, 2019-11-14)
data (0, 2019-11-14)
docs (0, 2019-11-14)
docs\api.md (497, 2019-11-14)
docs\logo.png (144891, 2019-11-14)
docs\logob.png (53618, 2019-11-14)
docs\pc-arch.png (34438, 2019-11-14)
docs\pc-plan.png (624291, 2019-11-14)
docs\setup.md (977, 2019-11-14)
go.mod (341, 2019-11-14)
io (0, 2019-11-14)
io\gcp (0, 2019-11-14)
io\gcp\cf.go (1090, 2019-11-14)
io\http-admin (0, 2019-11-14)
io\http-admin\http.go (2847, 2019-11-14)
io\http-router (0, 2019-11-14)
io\http-router\http.go (6771, 2019-11-14)
io\mem (0, 2019-11-14)
io\mem\connection.go (1701, 2019-11-14)
io\mem\schema.go (786, 2019-11-14)
model (0, 2019-11-14)
model\cluster.go (104, 2019-11-14)
... ...

# Planck's Cloud [![](https://images.microbadger.com/badges/version/planckscloud/plancks-cloud.svg)](https://microbadger.com/images/planckscloud/plancks-cloud "Get your own version badge on microbadger.com")   [![License](http://img.shields.io/:license-mit-blue.svg?style=flat)](http://badges.mit-license.org) # What is Planck's Cloud? Have you ever wanted to build a tiny app and host it from home? Have you ever had a startup idea and wanted to deploy it within an hour? Planck's Cloud aims to make deploying, reverse proxying and HTTPS your next idea from home a walk in the park. # How it works Install Planck's Cloud onto a machine you want to use as a server. Install the CLI and start deploying! # What can Planck's Cloud do? - Host a website from home. - Host an API available for your next React, Vue or Angular app. - Run a database for your other services. - Allows you the freedom, flexibility and control to setup your own cloud infrastructure - Run your application in a configuration which would allow you to scale out at home or lift and shift to a cloud provider like AWS, GCP, Azure etc. # Current Status of Planck's Cloud?   [![codebeat badge](https://codebeat.co/badges/25407218-e856-4f5e-ac7c-9d045dc0fe5a)](https://codebeat.co/projects/github-com-plancks-cloud-plancks-cloud-master) The features currently available are: - Create, update and delete docker services. - Create routes for ingress. Route traffic for a hostname to a service or machine on your network. - SSL offloading. Expose endpoints with LetEncrypt provided HTTPS. # Architecture Planck's Cloud runs is an Open Source Golang app that runs inside a docker container. The standard method of deployment is to run the container as a service inside a docker swarm. Planck's Cloud communicates with the docker daemon to create, update and delete services. Docker also proxies traffic from 80 and 443 on the host to the Planck's Cloud container. Planck's Cloud matches DNS entries to reverse proxy traffic to various services hosted in the swarm or other computers on your network. # Installation [![Docker Pulls](https://img.shields.io/docker/pulls/planckscloud/plancks-cloud.svg?maxAge=8***00)](https://hub.docker.com/r/planckscloud/plancks-cloud)
See the Setup Guide for installation instructions. # Deploying your first app ## Domain - Buy a domain with DNS provided (Namecheap, Godaddy etc). You can use one you already own. - Point a DNS "A record" at your public IP address. To see your public IP open https://ifconfig.co/ in your browser. - *Optionally:* Setup your DNS provider's DNS updater to keep up-to-date with your public IP address. ## Deploying a docker container as a service - Define a service in service.json ```json { "type": "service", "list": [ { "id": "my-nginx", "name": "nginx", "image": "nginx:latest", "replicas": 1, "memoryLimit": 32 } ] } ``` - Deploy the service Run in terminal or cmd `./plancks create -e localhost:6227 -f service.json` (from the folder you created **service.json** in). Replace localhost with the IP address of your server if it's no the machine you're running the cli from. - Define a route in route.json Change the domainName field to the domain you would like to use. Change accept to `true` to accept LetsEncrypt terms and automatically setup HTTPS for this route as well. You may omit the `ssl` portion of the request or set accept to `false`. The email field is provided to LetsEncrypt. Please see their terms regarding the storage and use of your email address. ```json { "type": "route", "list": [ { "id": "nginx", "domainName": "myheredomin.com", "address": "nginx:80", "ssl": { "email": "youremailhere@provider.com", "accept": false } } ] } ``` - Deploy the route Run in terminal or cmd `./plancks create -e localhost:6227 -f route.json` (from the folder you created **route.json** in). Replace localhost with the IP address of your server if it's no the machine you're running the cli from. - Test Use a phone or another device not on your network (connected to the public Internet). Open the domain in your browser. Try the https url as well. # Getting Involved We're dieing to hear what you think about Plancks Cloud, do you like it? do you wish it actually worked? do you want help setting it up? did it help you? or did you want to help us instead? We're so open to the thoughts and comments, feel free to open an issue on this repository.

近期下载者

相关文件


收藏者