Girish Ramakrishnan 140a695a69 Ignore network issues when pulling docker
postinstall.sh should never use the network in the first place. The
pull exists merely for dev convenience where we can test those images
using a forced push but not having to new build a new base image
2015-01-20 13:23:25 -08:00
2013-10-12 09:56:21 -07:00
2014-11-28 09:54:54 -08:00
2015-01-20 12:20:36 -08:00
2015-01-15 22:02:59 -08:00
2015-01-13 11:58:06 +01:00
2015-01-20 10:48:37 -08:00
2015-01-20 10:48:37 -08:00
2015-01-20 17:48:48 +01:00
2015-01-06 19:31:59 -08:00

The Box

Development setup

  • sudo useradd -m yellowtent ** This dummy user is required for supervisor 'box' configs

** Add a file called /etc/sudoers.d/yellowtent with the following contents:

Defaults!/home/girish/yellowtent/box/src/scripts/rmappdir.sh env_keep=HOME
girish ALL=(ALL) NOPASSWD: /home/girish/yellowtent/box/src/scripts/rmappdir.sh
Defaults!/home/girish/yellowtent/box/src/scripts/reloadnginx.sh env_keep=HOME
girish ALL=(ALL) NOPASSWD: /home/girish/yellowtent/box/src/scripts/reloadnginx.sh
Defaults!/home/girish/yellowtent/box/src/scripts/backup.sh env_keep=HOME
girish ALL=(ALL) NOPASSWD: /home/girish/yellowtent/box/src/scripts/backup.sh
Defaults!/home/girish/yellowtent/box/src/scripts/reboot.sh env_keep=HOME
girish ALL=(ALL) NOPASSWD: /home/girish/yellowtent/box/src/scripts/reboot.sh
Defaults!/home/girish/yellowtent/box/src/scripts/reloadcollectd.sh env_keep=HOME
girish ALL=(root) NOPASSWD: /home/girish/yellowtent/box/src/scripts/reloadcollectd.sh

(replace the path to the scripts to match your environment)

You might have to clear the sudo cache using sudo -k.

** scripts/checkInstall.sh

** Add admin-localhost as 127.0.0.1 in /etc/hosts ** All apps will be installed as hypened-subdomains of localhost. You should add hyphened-subdomains of your apps into /etc/hosts

Running

  • mkdir -p $HOME/.yellowtent/data - create data directory
  • npm run-script migrate - this sets up the database
  • Setup initial webadmin oauth client credentials:
export ADMIN_ID=$(cat /proc/sys/kernel/random/uuid)
export ADMIN_ORIGIN=https://admin-localhost
export ADMIN_SCOPES="root,profile,users,apps,settings,roleAdmin"
sqlite3 ~/.yellowtent/data/cloudron.sqlite "INSERT OR REPLACE INTO clients (id, appId, clientId, clientSecret, name, redirectURI, scope) VALUES (\"\$ADMIN_ID\", \"webadmin\", \"cid-webadmin\", \"secret-webadmin\", \"WebAdmin\", \"$ADMIN_ORIGIN\", \"\$ADMIN_SCOPES\")"
  • ./run.sh - this starts up nginx to serve up the webadmin
  • make sure at first run that the env variable APP_SERVER_URL is set to https://cloudron-dev.herokuapp.com
  • DEBUG=box:* ./app.js - this the main box code. NODE_ENV is set to production by default.
  • Navigate to https://admin-localhost

Deployment setup

Creating a box image involves the following steps:

  • scripts/createDigitalOceanImage.sh <GIT_REF>
  • This should spit out a image id at the end of the script
S
Description
Cloudron Box
Readme 47 MiB
Languages
JavaScript 72.6%
Vue 22.3%
Shell 3.1%
HTML 1.1%
EJS 0.7%
Other 0.2%