mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
Merge pull request #814 from georgejhunt/sugar
Sugarizer v1.0 migration
This commit is contained in:
commit
9383cca879
14 changed files with 93 additions and 64 deletions
|
@ -102,11 +102,11 @@
|
|||
# when: elgg_enabled or rachel_enabled or owncloud_enabled or phpmyadmin_enabled or wordpress_enabled or iiab_menu_install
|
||||
|
||||
# Commenting out MongoDB on a trial basis, for a more basic/lightweight Sugarizer, per https://github.com/iiab/iiab/pull/427
|
||||
# - name: Turn on mongodb if sugarizer enabled
|
||||
# set_fact:
|
||||
# mongodb_install: True
|
||||
# mongodb_enabled: True
|
||||
# when: sugarizer_enabled
|
||||
- name: Turn on mongodb if sugarizer enabled
|
||||
set_fact:
|
||||
mongodb_install: True
|
||||
mongodb_enabled: True
|
||||
when: sugarizer_enabled
|
||||
|
||||
# There might be other db's
|
||||
- name: Turn on PostgreSQL if Moodle or Pathagar enabled
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
- { path: '/library/dbdata/mongodb' }
|
||||
- { path: '/var/log/mongodb' }
|
||||
|
||||
- name: Create systemd files
|
||||
- name: Move required files
|
||||
template: src={{ item.src }}
|
||||
dest={{ item.dest }}
|
||||
owner=root
|
||||
|
@ -25,9 +25,7 @@
|
|||
mode=0644
|
||||
with_items:
|
||||
- { src: 'mongodb.service' , dest: '/etc/systemd/system/' }
|
||||
- { src: 'mongodb' , dest: '/etc/sysconfig/'}
|
||||
- { src: 'mongod.conf' , dest: '/etc/mongod.conf'}
|
||||
- { src: 'mongod.conf' , dest: '/etc/mongodb.conf'}
|
||||
|
||||
- name: enable services
|
||||
service: name={{ item.name }}
|
||||
|
@ -45,20 +43,6 @@
|
|||
- { name: mongodb }
|
||||
when: not mongodb_enabled
|
||||
|
||||
# See https://github.com/iiab/iiab/issues/254 for other attempts to eliminate
|
||||
# these 256MB files. Brute Force Idea: rm /var/lib/mongodb/journal/prealloc.*
|
||||
- name: find /var/lib/mongodb/prealloc.* files to delete
|
||||
find:
|
||||
paths: /var/lib/mongodb/journal
|
||||
patterns: prealloc.*
|
||||
register: files_to_delete
|
||||
|
||||
- name: delete prealloc files
|
||||
file:
|
||||
path: "{{ item.path }}"
|
||||
state: absent
|
||||
with_items: "{{ files_to_delete.files }}"
|
||||
|
||||
- name: add mongodb to service list
|
||||
ini_file: dest="{{ service_filelist }}"
|
||||
section=mongodb
|
||||
|
|
|
@ -9,22 +9,22 @@ bind_ip = 127.0.0.1
|
|||
port = 27018
|
||||
|
||||
# Fork server process (false by default)
|
||||
fork = true
|
||||
# fork = true
|
||||
|
||||
# Full path to pidfile (if not set, no pidfile is created)
|
||||
pidfilepath = /var/run/mongodb/mongod.pid
|
||||
# pidfilepath = /var/run/mongodb/mongod.pid
|
||||
|
||||
# Log file to send write to instead of stdout - has to be a file, not directory
|
||||
logpath = /var/log/mongodb/mongod.log
|
||||
|
||||
# Alternative directory for UNIX domain sockets (defaults to /tmp)
|
||||
unixSocketPrefix = /var/run/mongodb
|
||||
# unixSocketPrefix = /var/run/mongodb
|
||||
|
||||
# Directory for datafiles (defaults to /data/db/)
|
||||
dbpath = /library/dbdata/mongodb
|
||||
|
||||
# Enable/Disable journaling (journaling is on by default for 64 bit)
|
||||
#journal = true
|
||||
journal = true
|
||||
#nojournal = true
|
||||
|
||||
|
||||
|
@ -37,7 +37,7 @@ dbpath = /library/dbdata/mongodb
|
|||
#verbose = v
|
||||
|
||||
# Max number of simultaneous connections (1000000 by default)
|
||||
#maxConns = 1000000
|
||||
maxConns = 10000
|
||||
|
||||
# Log to system's syslog facility instead of file or stdout (false by default)
|
||||
#syslog = true
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
OPTIONS=' -f /etc/mongod.conf '
|
|
@ -3,12 +3,10 @@ Description=High-performance, schema-free document-oriented database
|
|||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
Type=simple
|
||||
User=mongodb
|
||||
Group=mongodb
|
||||
PIDFile=/var/run/mongodb/mongod.pid
|
||||
EnvironmentFile=/etc/sysconfig/mongodb
|
||||
ExecStart=/usr/bin/mongod -f /etc/mongod.conf
|
||||
ExecStart=/usr/bin/mongod -f /etc/mongod.conf
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
OPTIONS=' -f /etc/mongod.conf '
|
|
@ -57,6 +57,7 @@ services_externally_visible={{ services_externally_visible }}
|
|||
calibre_port={{ calibre_port }}
|
||||
kiwix_port={{ kiwix_port }}
|
||||
kalite_server_port={{ kalite_server_port }}
|
||||
sugarizer_port={{ sugarizer_port }}
|
||||
block_DNS={{ block_DNS }}
|
||||
captive_portal_enabled={{ captive_portal_enabled }}
|
||||
|
||||
|
@ -89,6 +90,7 @@ if [ "$services_externally_visible" == "True" ]; then
|
|||
$IPTABLES -A INPUT -p tcp --dport $kiwix_port -m state --state NEW -i $wan -j ACCEPT
|
||||
$IPTABLES -A INPUT -p tcp --dport $kalite_server_port -m state --state NEW -i $wan -j ACCEPT
|
||||
$IPTABLES -A INPUT -p tcp --dport $calibre_port -m state --state NEW -i $wan -j ACCEPT
|
||||
$IPTABLES -A INPUT -p tcp --dport $sugarizer_port -m state --state NEW -i $wan -j ACCEPT
|
||||
fi
|
||||
|
||||
if [ "$iiab_gateway_enabled" == "True" ]; then
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
sugarizer_install: True
|
||||
sugarizer_enabled: False
|
||||
sugarizer_location: '{{ doc_root }}'
|
||||
sugarizer_version: 'sugarizer-0.9'
|
||||
sugarizer_location: /opt/iiab
|
||||
sugarizer_version: 'sugarizer-1.0'
|
||||
sugarizer_server_version: 'sugarizer-server-1.0'
|
||||
npm_exists: False
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
dependencies:
|
||||
# - { role: mongodb, tags: ['generic','mongodb'], when: sugarizer_install }
|
||||
- { role: mongodb, tags: ['generic','mongodb'], when: sugarizer_install }
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
- name: Wipe any previous sugarizer installation
|
||||
shell: "rm -rf {{ doc_root }}/sugarizer*"
|
||||
when: sugarizer_version == "sugarizer-1.0"
|
||||
|
||||
- name: Download latest stable Sugarizer from location we control
|
||||
get_url:
|
||||
url: "{{ iiab_download_url }}/{{ sugarizer_version }}.tar.gz"
|
||||
|
@ -5,7 +9,7 @@
|
|||
timeout: "{{ download_timeout }}"
|
||||
when: internet_available
|
||||
|
||||
- name: Untar to /library/www/html/{{ sugarizer_version }}
|
||||
- name: Untar to {{ sugarizer_version }}
|
||||
unarchive:
|
||||
src: "{{ downloads_dir }}/{{ sugarizer_version }}.tar.gz"
|
||||
dest: "{{ sugarizer_location }}"
|
||||
|
@ -13,12 +17,35 @@
|
|||
# command: tar xzf {{ downloads_dir }}/{{ sugarizer_version }}.tar.gz -C {{ sugarizer_location }}
|
||||
# creates="{{ sugarizer_location }}/{{ sugarizer_version }}/index.html"
|
||||
|
||||
- name: Download latest stable Server from location we control
|
||||
get_url:
|
||||
url: "{{ iiab_download_url }}/{{ sugarizer_server_version }}.tar.gz"
|
||||
dest: "{{ downloads_dir }}/{{ sugarizer_server_version }}.tar.gz"
|
||||
timeout: "{{ download_timeout }}"
|
||||
when: internet_available
|
||||
|
||||
- name: Untar to /{{ sugarizer_version }}
|
||||
unarchive:
|
||||
src: "{{ downloads_dir }}/{{ sugarizer_version }}.tar.gz"
|
||||
dest: "{{ sugarizer_location }}"
|
||||
creates: "{{ sugarizer_location }}/{{ sugarizer_version }}/index.html"
|
||||
- name: Create symbolic link /library/www/html/sugarizer
|
||||
file:
|
||||
src: "{{ sugarizer_location }}/{{ sugarizer_version }}"
|
||||
dest: "{{ sugarizer_location }}/sugarizer"
|
||||
state: link
|
||||
|
||||
- name: Untar to /library/www/html/{{ sugarizer_server_version }}
|
||||
unarchive:
|
||||
src: "{{ downloads_dir }}/{{ sugarizer_server_version }}.tar.gz"
|
||||
dest: "{{ sugarizer_location }}"
|
||||
creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/index.html"
|
||||
- name: Create symbolic link /library/www/html/sugarizer
|
||||
file:
|
||||
src: "{{ sugarizer_location }}/{{ sugarizer_server_version }}"
|
||||
dest: "{{ sugarizer_location }}/sugarizer-server"
|
||||
state: link
|
||||
|
||||
- name: Set up Node.js 6.x apt sources (debuntu)
|
||||
shell: curl -sL https://deb.nodesource.com/setup_6.x | bash -
|
||||
when: internet_available and is_debuntu and not is_ubuntu_18
|
||||
|
@ -52,36 +79,37 @@
|
|||
# attempting to reinstall npm is broken on Raspbian 9
|
||||
- name: Check for Sugarizer already installed
|
||||
stat:
|
||||
path: "{{ sugarizer_location }}/sugarizer/server/node_modules"
|
||||
path: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/node_modules"
|
||||
register: npm
|
||||
ignore_errors: true
|
||||
|
||||
- name: Set a flag to abort second attempt to install
|
||||
set_fact:
|
||||
npm_exists: True
|
||||
when: npm.stat.exists is defined and npm.stat.exists
|
||||
when: npm.stat is defined and npm.stat.exists
|
||||
|
||||
- name: Create systemd files and copy our ini file
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: "{{ item.mode }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
with_items:
|
||||
- { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service'}
|
||||
- { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/sugarizer/server' }
|
||||
# - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available' }
|
||||
- { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service', mode: '0644' }
|
||||
- { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini', mode: '0644' }
|
||||
- { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available',mode: '0644' }
|
||||
|
||||
#- name: Create the symlink enabling the rewrite
|
||||
# file: src=/etc/apache2/sites-available/sugarizer.conf
|
||||
# dest=/etc/apache2/sites-enabled/sugarizer.conf
|
||||
# state=link
|
||||
- name: Create the symlink enabling the rewrite
|
||||
file: src=/etc/apache2/sites-available/sugarizer.conf
|
||||
dest=/etc/apache2/sites-enabled/sugarizer.conf
|
||||
state=link
|
||||
|
||||
- name: Create the express framework for Node.js (OS's other than Fedora 18)
|
||||
shell: npm install
|
||||
args:
|
||||
chdir: "{{ sugarizer_location }}/sugarizer/server"
|
||||
creates: "{{ sugarizer_location }}/sugarizer/server/node_modules"
|
||||
chdir: "{{ sugarizer_location }}/{{ sugarizer_server_version }}"
|
||||
creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/server/node_modules"
|
||||
when: not is_F18 and not npm_exists
|
||||
|
||||
- name: Create the express framework for Node.js (Fedora 18)
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
RewriteRule ^/sugarizer(.*)$ http://localhost:8089/sugarizer$1 [P,L]
|
||||
ProxyPassReverse /sugarizer http://localhost:8010/sugarizer
|
||||
ProxyRequests Off
|
||||
RewriteEngine on
|
||||
RewriteRule ^/sugarizer(.*)$ http://localhost:8089$1 [PT]
|
||||
|
|
|
@ -1,7 +1,20 @@
|
|||
; Sugarizer configuration file
|
||||
[information]
|
||||
name = Sugarizer Server
|
||||
description = Your Sugarizer Server
|
||||
|
||||
[web]
|
||||
port = 8089
|
||||
port = {{ sugarizer_port }}
|
||||
|
||||
[security]
|
||||
min_password_size = 4
|
||||
max_age = 172800000
|
||||
https = false
|
||||
certificate_file = ../server.crt
|
||||
key_file = ../server.key
|
||||
strict_ssl = false
|
||||
|
||||
[client]
|
||||
path = ../sugarizer/
|
||||
|
||||
[database]
|
||||
server = localhost
|
||||
|
@ -11,13 +24,16 @@ name = sugarizer
|
|||
[presence]
|
||||
port = 8039
|
||||
|
||||
[statistics]
|
||||
active = true
|
||||
|
||||
[collections]
|
||||
users = users
|
||||
journal = journal
|
||||
stats = stats
|
||||
|
||||
[activities]
|
||||
activities_directory_name = activities
|
||||
activities_path = ../activities
|
||||
template_directory_name = ActivityTemplate
|
||||
activity_info_path = activity/activity.info
|
||||
favorites = org.sugarlabs.GearsActivity,org.sugarlabs.MazeWebActivity,org.olpcfrance.PaintActivity,org.olpcfrance.TamTamMicro,org.olpcfrance.MemorizeActivity,org.olpg-france.physicsjs,org.sugarlabs.CalculateActivity,org.sugarlabs.TurtleBlocksJS,org.sugarlabs.Clock,,org.olpcfrance.RecordActivity,org.olpcfrance.Abecedarium,org.olpcfrance.KAView,org.olpcfrance.FoodChain,org.olpc-france.labyrinthjs,org.olpcfrance.TankOp,org.sugarlabs.ChatPrototype,org.olpcfrance.Gridpaint,org.olpc-france.LOLActivity,org.sugarlabs.StopwatchActivity,org.sugarlabs.GTDActivity,org.sugarlabs.Markdown,org.laptop.WelcomeWebActivity
|
||||
favorites = org.sugarlabs.GearsActivity,org.sugarlabs.MazeWebActivity,org.olpcfrance.PaintActivity,org.olpcfrance.TamTamMicro,org.olpcfrance.MemorizeActivity,org.olpg-france.physicsjs,org.sugarlabs.CalculateActivity,org.sugarlabs.TurtleBlocksJS,org.sugarlabs.Clock,org.sugarlabs.SpeakActivity,org.sugarlabs.moon,org.olpcfrance.RecordActivity,org.olpcfrance.Abecedarium,org.olpcfrance.videoviewer,org.olpcfrance.FoodChain,org.olpc-france.labyrinthjs,org.olpcfrance.TankOp,org.sugarlabs.ChatPrototype,org.olpcfrance.Gridpaint,org.olpc-france.LOLActivity,org.olpcfrance.sharednotes,org.sugarlabs.ColorMyWorldActivity,com.homegrownapps.xoeditor,com.homegrownapps.reflection,com.homegrownapps.abacus,org.sugarlabs.Blockrain,org.sugarlabs.StopwatchActivity,com.homegrownapps.flip,org.somosazucar.JappyActivity,org.olpcfrance.qrcode,org.sugarlabs.Markdown,org.sugarlabs.gameOfLife,org.sugarlabs.Scratch,org.sugarlabs.FotoToonJs
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
[unit]
|
||||
[Unit]
|
||||
Description=Node.js Sugarizer Server
|
||||
# Requires=After=mongodb.service # Requires the mongodb service to run first
|
||||
Requires=mongodb.service
|
||||
After=mongodb.service # Requires the mongodb service to run first
|
||||
|
||||
[Service]
|
||||
WorkingDirectory={{ sugarizer_location }}/sugarizer/server/
|
||||
ExecStart=/usr/bin/node sugarizer.js
|
||||
WorkingDirectory=/opt/iiab/sugarizer-server/
|
||||
ExecStart=/usr/bin/node /opt/iiab/sugarizer-server/sugarizer.js
|
||||
Type=simple
|
||||
Restart=always
|
||||
#RestartSec=10 # Restart service after 10 seconds if node service crashes
|
||||
StandardOutput=syslog # Output to syslog
|
||||
StandardError=syslog # Output to syslog
|
||||
RestartSec=10
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=sugarizer
|
||||
#User=<alternate user>
|
||||
#Group=<alternate group>
|
||||
Environment=NODE_ENV=production
|
||||
#Environment=NODE_ENV=production
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
|
@ -328,6 +328,7 @@ pathagar_enabled: False
|
|||
# Sugarizer
|
||||
sugarizer_install: True
|
||||
sugarizer_enabled: False
|
||||
sugarizer_port: 8089
|
||||
|
||||
# 8-MGMT-TOOLS
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue