Girish Ramakrishnan 4433857092 Write the installed version in data/version.json
The installed version is different from package.json because the version
is bumped for plain image changes as well

The updater is now simplified to only allow updates when there is a change
in versions file.
2015-01-11 18:36:29 -08:00
2013-10-12 09:56:21 -07:00
2014-11-28 09:54:54 -08:00
2015-01-09 22:25:37 -08:00
2015-01-11 00:58:09 -08:00
2014-11-23 22:45:01 -08:00
2015-01-11 00:44:28 -08:00
2015-01-06 19:31:59 -08:00
2014-11-24 16:38:15 -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%