a cloud service to enable your own web server (owned by you and running on your computer) to be accessible on the internet in seconds, no credit card required
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
forest cb02fff137 first try simulating bandwidth and scheduling with visualizer 5 months ago
bandwidth_viz_test first try simulating bandwidth and scheduling with visualizer 5 months ago
frontend working on implementing backend for multi-tenant threshold services 5 months ago
schema_versions committing unstaged changes - tenant vps pins and scheduling 5 months ago
.gitignore fixing SameSite Strict issue that would prevent confirm email links from 5 months ago
ReadMe.md working on GetActiveTenants 5 months ago
backend.go committing unstaged changes - tenant vps pins and scheduling 5 months ago
db_model.go committing unstaged changes - tenant vps pins and scheduling 5 months ago
digitalocean_model.go working on implementing monitorAndRebalance function 5 months ago
email_service.go untested prototype 6 months ago
frontend.go working on implementing backend for multi-tenant threshold services 5 months ago
greenhouse-arch.png first greenhouse commit 6 months ago
greenhouse.png add logo 6 months ago
main.go committing unstaged changes - tenant vps pins and scheduling 5 months ago

ReadMe.md

greenhouse

greenhouse logo

Companion cloud service for Automated Server Garden

setup local environment

Write the config file config.json in the root directory:

{
  "FrontendPort": 8080,
  "FrontendDomain": "localhost",
  "DatabaseConnectionString": "host=/var/run/postgresql port=5432 user=postgres password=dev database=postgres",
  "DatabaseType": "postgres",
  "DatabaseSchema": "public",
  "SMTP": {
    "Host": "<my email server>",
    "Port": <587 (SMTP+STARTTLS) or 465 (SMTPS)>,
    "Username": "<my email address>",
    "Password": "<my email password>",
    "Encryption": "<SMTPS or STARTTLS>"
  }
}

Run the database:

mkdir -p postgres-data
docker run --rm -it -e POSTGRES_PASSWORD=dev -v /var/run/postgresql:/var/run/postgresql -v "$PWD/postgres-data":/var/lib/postgresql/data postgres

Run the app:

go run *.go

Inspect the database:

sudo apt-get install postgresql-client
PGPASSWORD=dev psql --host /var/run/postgresql --port 5432 --username postgres -d postgres -c 'select * from session_cookies'

Architechture:

architechture diagram

Features:

  • Threshold (TCP reverse tunnel) as a service (multi-tenant or dedicated IP address)
  • Object Storage
  • free subdomains (like duckdns / freedns.afraid.org)
  • managed domain names (like njalla)

Mockup:

https://picopublish.sequentialread.com/files/greenhouse.png