Add Crismapp, closes #304
This commit is contained in:
parent
9417ad24a2
commit
1eea6c8e99
@ -66,6 +66,9 @@ spoc-app publish ckan/app
|
|||||||
spoc-image build -p crisiscleanup/image
|
spoc-image build -p crisiscleanup/image
|
||||||
spoc-app publish crisiscleanup/app
|
spoc-app publish crisiscleanup/app
|
||||||
|
|
||||||
|
spoc-image build -p crismapp/image
|
||||||
|
spoc-app publish crismapp/app
|
||||||
|
|
||||||
spoc-image build -p cts/image
|
spoc-image build -p cts/image
|
||||||
spoc-app publish cts/app
|
spoc-app publish cts/app
|
||||||
|
|
||||||
|
27
lxc-apps/crismapp/app
Normal file
27
lxc-apps/crismapp/app
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"version": "0.0.1-200411",
|
||||||
|
"meta": {
|
||||||
|
"title": "Crismapp",
|
||||||
|
"desc-cs": "Test",
|
||||||
|
"desc-en": "Test",
|
||||||
|
"license": "GPL"
|
||||||
|
},
|
||||||
|
"containers": {
|
||||||
|
"crismapp": {
|
||||||
|
"image": "crismapp_0.0.1-200411",
|
||||||
|
"depends": [
|
||||||
|
"crismapp-mariadb"
|
||||||
|
],
|
||||||
|
"mounts": {
|
||||||
|
"crismapp/crismapp_conf/config.php": "srv/crismapp/6/app/config.php:file"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"crismapp-mariadb": {
|
||||||
|
"image": "mariadb_10.4.12-200403",
|
||||||
|
"mounts": {
|
||||||
|
"crismapp/mariadb_conf/my.cnf": "etc/my.cnf:file",
|
||||||
|
"crismapp/mariadb_data": "var/lib/mysql"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
33
lxc-apps/crismapp/image
Normal file
33
lxc-apps/crismapp/image
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
IMAGE crismapp_0.0.1-200411
|
||||||
|
FROM alpine3.8-php5.6_5.6.40-200403
|
||||||
|
|
||||||
|
RUN EOF
|
||||||
|
# Install runtime dependencies
|
||||||
|
apk --no-cache add php5-mysqli php5-pdo_mysql
|
||||||
|
|
||||||
|
# Install build dependencies
|
||||||
|
apk --no-cache add --virtual .deps git
|
||||||
|
|
||||||
|
# Clone Crismapp
|
||||||
|
git clone https://github.com/rostanetek/crismapp /srv/crismapp
|
||||||
|
EOF
|
||||||
|
|
||||||
|
COPY image.d
|
||||||
|
|
||||||
|
RUN EOF
|
||||||
|
# Patch config
|
||||||
|
cd /srv/crismapp
|
||||||
|
patch -p0 </config.patch
|
||||||
|
rm /config.patch
|
||||||
|
|
||||||
|
# Create OS user
|
||||||
|
addgroup -S -g 8080 crismapp
|
||||||
|
adduser -S -u 8080 -h /srv/crismapp -s /bin/false -g crismapp -G crismapp crismapp
|
||||||
|
chown -R crismapp:crismapp /srv/crismapp
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
apk --no-cache del .deps
|
||||||
|
find /srv/crismapp -name '.git*' -exec rm -rf {} +
|
||||||
|
EOF
|
||||||
|
|
||||||
|
CMD /bin/s6-svscan /etc/services.d
|
64
lxc-apps/crismapp/image.d/config.patch
Normal file
64
lxc-apps/crismapp/image.d/config.patch
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
--- 6/app/admin/DBC.php
|
||||||
|
+++ 6/app/admin/DBC.php
|
||||||
|
@@ -16,31 +16,17 @@ class DBC
|
||||||
|
|
||||||
|
private static $instance = null;
|
||||||
|
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- private static $host = 'wm53.wedos.net';
|
||||||
|
- private static $db = 'd61192_disert';
|
||||||
|
- private static $user = 'a61192_disert';
|
||||||
|
- private static $pass = 'jhdVu9D7';
|
||||||
|
-
|
||||||
|
- */
|
||||||
|
-
|
||||||
|
- private static $host = 'localhost';
|
||||||
|
- private static $db = 'disertace';
|
||||||
|
- private static $user = 'root';
|
||||||
|
- private static $pass = '';
|
||||||
|
-
|
||||||
|
-
|
||||||
|
public static function get()
|
||||||
|
{
|
||||||
|
if(self::$instance == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
+ include ('../config.php');
|
||||||
|
self::$instance = new PDO(
|
||||||
|
- 'mysql:host='.self::$host.';dbname='.self::$db,
|
||||||
|
- self::$user,
|
||||||
|
- self::$pass,
|
||||||
|
+ 'mysql:host='.$GLOBALS['host'].';dbname='.$GLOBALS['db_name'],
|
||||||
|
+ $GLOBALS['db_user'],
|
||||||
|
+ $GLOBALS['db_password'],
|
||||||
|
array(
|
||||||
|
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
|
||||||
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||||
|
--- 6/app/db.php
|
||||||
|
+++ 6/app/db.php
|
||||||
|
@@ -6,22 +6,7 @@
|
||||||
|
|
||||||
|
/* rostanetek.cz */
|
||||||
|
|
||||||
|
- /*
|
||||||
|
-$GLOBALS['host'] = 'wm53.wedos.net';
|
||||||
|
-$GLOBALS['db_user'] = 'a61192_disert';
|
||||||
|
-$GLOBALS['db_password'] = 'jhdVu9D7';
|
||||||
|
-$GLOBALS['db_name'] = 'd61192_disert';
|
||||||
|
-*/
|
||||||
|
- /* localhost*/
|
||||||
|
-
|
||||||
|
-$GLOBALS['host'] = 'localhost';
|
||||||
|
-$GLOBALS['db_user'] = 'root';
|
||||||
|
-$GLOBALS['db_password'] = '';
|
||||||
|
-$GLOBALS['db_name'] = 'disertace';
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
+include ('config.php');
|
||||||
|
|
||||||
|
//uzivatele
|
||||||
|
define('DB_HOST', $GLOBALS['host']);
|
44
lxc-apps/crismapp/image.d/etc/nginx/nginx.conf
Normal file
44
lxc-apps/crismapp/image.d/etc/nginx/nginx.conf
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
user nginx;
|
||||||
|
pid /run/nginx.pid;
|
||||||
|
worker_processes 1;
|
||||||
|
error_log /dev/stderr warn;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
access_log off;
|
||||||
|
server_tokens off;
|
||||||
|
client_max_body_size 100m;
|
||||||
|
sendfile on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
send_timeout 300;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 8080;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
root /srv/crismapp;
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php$is_args$args;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_pass unix:/var/run/crismapp.sock;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||||
|
fastcgi_param HTTP_HOST $http_x_forwarded_host if_not_empty;
|
||||||
|
fastcgi_param HTTPS "on";
|
||||||
|
fastcgi_param REQUEST_SCHEME "https";
|
||||||
|
fastcgi_param SERVER_NAME $http_x_forwarded_server_name if_not_empty;
|
||||||
|
fastcgi_param SERVER_PORT $http_x_forwarded_server_port if_not_empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
13
lxc-apps/crismapp/image.d/etc/php5/php-fpm.conf
Normal file
13
lxc-apps/crismapp/image.d/etc/php5/php-fpm.conf
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[global]
|
||||||
|
error_log = /proc/self/fd/2
|
||||||
|
daemonize = no
|
||||||
|
|
||||||
|
[crismapp]
|
||||||
|
catch_workers_output = yes
|
||||||
|
user = crismapp
|
||||||
|
group = crismapp
|
||||||
|
listen.owner = nginx
|
||||||
|
listen.group = nginx
|
||||||
|
listen = /var/run/crismapp.sock
|
||||||
|
pm = ondemand
|
||||||
|
pm.max_children = 16
|
4
lxc-apps/crismapp/image.d/etc/services.d/.s6-svscan/finish
Executable file
4
lxc-apps/crismapp/image.d/etc/services.d/.s6-svscan/finish
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/execlineb -P
|
||||||
|
|
||||||
|
foreground { s6-svwait -d -t 3000 nginx }
|
||||||
|
foreground { s6-svwait -d -t 3000 php-fpm }
|
3
lxc-apps/crismapp/image.d/etc/services.d/nginx/run
Executable file
3
lxc-apps/crismapp/image.d/etc/services.d/nginx/run
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/execlineb -P
|
||||||
|
|
||||||
|
nginx -g "daemon off;"
|
3
lxc-apps/crismapp/image.d/etc/services.d/php-fpm/run
Executable file
3
lxc-apps/crismapp/image.d/etc/services.d/php-fpm/run
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/execlineb -P
|
||||||
|
|
||||||
|
php-fpm5 -F
|
2
lxc-apps/crismapp/image.d/srv/crismapp/index.php
Normal file
2
lxc-apps/crismapp/image.d/srv/crismapp/index.php
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<?php
|
||||||
|
header('Location: /6/app/');
|
32
lxc-apps/crismapp/install.sh
Executable file
32
lxc-apps/crismapp/install.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -ev
|
||||||
|
|
||||||
|
# Volumes
|
||||||
|
MARIADB_CONF="${VOLUMES_DIR}/crismapp/mariadb_conf"
|
||||||
|
MARIADB_DATA="${VOLUMES_DIR}/crismapp/mariadb_data"
|
||||||
|
CRISMAPP_CONF="${VOLUMES_DIR}/crismapp/crismapp_conf"
|
||||||
|
CRISMAPP_LAYER="${LAYERS_DIR}/crismapp_0.0.1-200411"
|
||||||
|
|
||||||
|
# Create MariaDB instance
|
||||||
|
install -o 100000 -g 100000 -m 755 -d ${MARIADB_CONF}
|
||||||
|
install -o 103306 -g 103306 -m 750 -d ${MARIADB_DATA}
|
||||||
|
install -o 100000 -g 100000 -m 644 mariadb_conf/my.cnf ${MARIADB_CONF}/my.cnf
|
||||||
|
spoc-container exec crismapp-mariadb -- mysql_install_db --user=mysql --datadir=/var/lib/mysql --auth-root-authentication-method=socket --skip-test-db
|
||||||
|
|
||||||
|
# Create database
|
||||||
|
export CRISMAPP_PWD=$(head -c 18 /dev/urandom | base64 | tr -d '+/=')
|
||||||
|
spoc-container start crismapp-mariadb
|
||||||
|
envsubst <createdb.sql | spoc-container exec crismapp-mariadb -- mysql
|
||||||
|
|
||||||
|
# Populate database
|
||||||
|
cat ${CRISMAPP_LAYER}/srv/crismapp/6/disertace.sql | spoc-container exec crismapp-mariadb -- mysql crismapp
|
||||||
|
|
||||||
|
# Configure Crismapp
|
||||||
|
install -o 108080 -g 108080 -m 750 -d ${CRISMAPP_CONF}
|
||||||
|
envsubst <crismapp_conf/config.php | sed -e 's/§/$/g' | install -o 108080 -g 108080 -m 600 /dev/stdin ${CRISMAPP_CONF}/config.php
|
||||||
|
|
||||||
|
# Stop services required for setup
|
||||||
|
spoc-container stop crismapp-mariadb
|
||||||
|
|
||||||
|
# Register application
|
||||||
|
vmmgr register-app crismapp crismapp
|
3
lxc-apps/crismapp/install/createdb.sql
Normal file
3
lxc-apps/crismapp/install/createdb.sql
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
CREATE USER 'crismapp'@'%' IDENTIFIED BY '${CRISMAPP_PWD}';
|
||||||
|
CREATE DATABASE crismapp;
|
||||||
|
GRANT ALL PRIVILEGES ON crismapp.* TO 'crismapp'@'%';
|
5
lxc-apps/crismapp/install/crismapp_conf/config.php
Normal file
5
lxc-apps/crismapp/install/crismapp_conf/config.php
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
§GLOBALS['host'] = 'crismapp-mariadb';
|
||||||
|
§GLOBALS['db_user'] = 'crismapp';
|
||||||
|
§GLOBALS['db_password'] = '${CRISMAPP_PWD}';
|
||||||
|
§GLOBALS['db_name'] = 'crismapp';
|
24
lxc-apps/crismapp/install/mariadb_conf/my.cnf
Normal file
24
lxc-apps/crismapp/install/mariadb_conf/my.cnf
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[mysqld]
|
||||||
|
skip-external-locking
|
||||||
|
skip-name-resolve
|
||||||
|
key_buffer_size = 16M
|
||||||
|
max_allowed_packet = 1M
|
||||||
|
table_open_cache = 64
|
||||||
|
sort_buffer_size = 512K
|
||||||
|
net_buffer_length = 8K
|
||||||
|
read_buffer_size = 256K
|
||||||
|
read_rnd_buffer_size = 512K
|
||||||
|
myisam_sort_buffer_size = 8M
|
||||||
|
|
||||||
|
[mysqldump]
|
||||||
|
quick
|
||||||
|
max_allowed_packet = 1M
|
||||||
|
|
||||||
|
[mysql]
|
||||||
|
no-auto-rehash
|
||||||
|
|
||||||
|
[myisamchk]
|
||||||
|
key_buffer_size = 20M
|
||||||
|
sort_buffer_size = 20M
|
||||||
|
read_buffer = 2M
|
||||||
|
write_buffer = 2M
|
8
lxc-apps/crismapp/uninstall.sh
Executable file
8
lxc-apps/crismapp/uninstall.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -ev
|
||||||
|
|
||||||
|
# Remove persistent data
|
||||||
|
rm -rf "${VOLUMES_DIR}/crismapp"
|
||||||
|
|
||||||
|
# Unregister application
|
||||||
|
vmmgr unregister-app crismapp
|
Loading…
Reference in New Issue
Block a user