Browse Source

build front release; postgres init scripts; build backend

tags/v0.1.0
Robin Thoni 7 years ago
parent
commit
ebdda57756

+ 3
- 2
backend/Dockerfile View File

@@ -1,4 +1,4 @@
1
-FROM microsoft/dotnet:latest
1
+FROM microsoft/dotnet:1.0.3-sdk-projectjson
2 2
 
3 3
 RUN rm -rf /var/log/*
4 4
 
@@ -13,7 +13,8 @@ RUN cd /tmp/backend && \
13 13
     mkdir /var/www && \
14 14
     cd /tmp/backend/${WEBAPI_PROJECT} && \
15 15
     dotnet publish --output /var/www && \
16
-    ln -s /var/www/${WEBAPI_PROJECT}.dll /var/www/__RUN_ME.DLL
16
+    ln -s /var/www/${WEBAPI_PROJECT}.dll /var/www/__RUN_ME.DLL &&\
17
+    rm /tmp/backend -rf
17 18
 
18 19
 COPY ./vars-vars /etc/vars-vars
19 20
 

+ 1
- 0
backend/vars-files View File

@@ -0,0 +1 @@
1
+/var/www/appsettings.json

+ 25
- 12
frontend/Dockerfile View File

@@ -3,17 +3,21 @@ FROM debian:jessie
3 3
 # FROM https://github.com/ZHAJOR/Docker-Apache-2.4-Php-5.6-for-Laravel
4 4
 MAINTAINER Robin Thoni <robin@rthoni.com>
5 5
 
6
-RUN apt-get update && apt-get -y install\
7
-        apache2=2.4.*\
8
-        libapache2-mod-php5\
9
-        php5\
10
-        php5-mcrypt\
11
-        php5-pgsql\
12
-        php5-mysql\
13
-        php5-gd\
14
-        php5-curl\
15
-        php5-imap &&\
16
-        apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
6
+RUN apt-get update && apt-get -y install \
7
+        apache2=2.4.* \
8
+        git \
9
+        curl && \
10
+        apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/ && \
11
+        curl https://deb.nodesource.com/setup_7.x | bash && \
12
+        ln -s /usr/bin/nodejs /usr/bin/node
13
+
14
+RUN apt-get update && apt-get -y install \
15
+        nodejs && \
16
+        apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/ && \
17
+        curl https://www.npmjs.com/install.sh | sh
18
+
19
+RUN npm install -g bower && \
20
+        npm install -g grunt
17 21
 
18 22
 RUN /usr/sbin/a2enmod rewrite &&\
19 23
     rm -rf /var/www/html &&\
@@ -30,7 +34,16 @@ RUN a2enmod proxy_http
30 34
 
31 35
 COPY apache2.conf /etc/apache2/apache2.conf
32 36
 
33
-COPY ./frontend/ /var/www/html/
37
+COPY ./frontend/ /tmp/frontend
38
+
39
+RUN cd /tmp/frontend && \
40
+    npm install && \
41
+    bower --allow-root install && \
42
+    grunt --gruntfile Gruntfile_global.js && \
43
+    grunt --gruntfile Gruntfile_app.js && \
44
+    rmdir /var/www/html && \
45
+    cp -r /tmp/frontend/build/release/ /var/www/html && \
46
+    rm -rf /tmp/frontend
34 47
 
35 48
 COPY ./vars-vars /etc/vars-vars
36 49
 

+ 135
- 0
postgresql/docker-entrypoint-initdb.d/01_init.sql View File

@@ -0,0 +1,135 @@
1
+--
2
+-- PostgreSQL database dump
3
+--
4
+
5
+SET statement_timeout = 0;
6
+SET lock_timeout = 0;
7
+SET client_encoding = 'UTF8';
8
+SET standard_conforming_strings = on;
9
+SET check_function_bodies = false;
10
+SET client_min_messages = warning;
11
+
12
+--
13
+-- Name: plpgsql; Type: EXTENSION; Schema: -; 
14
+--
15
+
16
+CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
17
+
18
+
19
+--
20
+-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; 
21
+--
22
+
23
+COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
24
+
25
+
26
+--
27
+-- Name: unaccent; Type: EXTENSION; Schema: -; 
28
+--
29
+
30
+CREATE EXTENSION IF NOT EXISTS unaccent WITH SCHEMA public;
31
+
32
+
33
+--
34
+-- Name: EXTENSION unaccent; Type: COMMENT; Schema: -; 
35
+--
36
+
37
+COMMENT ON EXTENSION unaccent IS 'text search dictionary that removes accents';
38
+
39
+
40
+--
41
+-- Name: uuid-ossp; Type: EXTENSION; Schema: -; 
42
+--
43
+
44
+CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;
45
+
46
+
47
+--
48
+-- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; 
49
+--
50
+
51
+COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)';
52
+
53
+
54
+SET search_path = public, pg_catalog;
55
+
56
+--
57
+-- Name: get_uuid(); Type: FUNCTION; Schema: public; 
58
+--
59
+
60
+CREATE FUNCTION get_uuid() RETURNS uuid
61
+    LANGUAGE sql
62
+    AS $$SELECT * FROM uuid_generate_v1()$$;
63
+
64
+--
65
+-- Name: lu_on_row_delete(); Type: FUNCTION; Schema: public; 
66
+--
67
+
68
+CREATE FUNCTION lu_on_row_delete() RETURNS trigger
69
+    LANGUAGE plpgsql
70
+    AS $$BEGIN
71
+INSERT INTO lu_entities_history ("table", "data") VALUES(TG_TABLE_NAME, to_json(OLD));
72
+RETURN OLD;
73
+END$$;
74
+
75
+--
76
+-- Name: lu_on_row_update(); Type: FUNCTION; Schema: public; 
77
+--
78
+
79
+CREATE FUNCTION lu_on_row_update() RETURNS trigger
80
+    LANGUAGE plpgsql
81
+    AS $$BEGIN
82
+NEW.updated_at := now();
83
+INSERT INTO lu_entities_history ("table", "data") VALUES(TG_TABLE_NAME, to_json(OLD));
84
+return NEW;
85
+END$$;
86
+
87
+--
88
+-- Name: lu_text_match(text, text); Type: FUNCTION; Schema: public; 
89
+--
90
+
91
+CREATE FUNCTION lu_text_match(query text, data text) RETURNS boolean
92
+    LANGUAGE sql
93
+    AS $$SELECT unaccent(data) ILIKE  ('%' || unaccent(query) || '%') AS result$$;
94
+
95
+--
96
+-- Name: lu_texts_match(text, text[]); Type: FUNCTION; Schema: public; 
97
+--
98
+
99
+CREATE FUNCTION lu_texts_match(query text, VARIADIC data text[]) RETURNS boolean
100
+    LANGUAGE sql
101
+    AS $$
102
+WITH q AS (
103
+SELECT unnest(data) AS d UNION SELECT array_to_string(data, ' ')
104
+)
105
+SELECT lu_text_match(query, d.d) AS res FROM q d ORDER BY res DESC LIMIT 1
106
+$$;
107
+
108
+SET default_tablespace = '';
109
+
110
+SET default_with_oids = false;
111
+
112
+--
113
+-- Name: lu_entities_history; Type: TABLE; Schema: public; ; Tablespace:
114
+--
115
+
116
+CREATE TABLE lu_entities_history (
117
+    id uuid DEFAULT get_uuid() NOT NULL,
118
+    "table" character varying(128) NOT NULL,
119
+    data json,
120
+    date timestamp with time zone DEFAULT now() NOT NULL
121
+);
122
+
123
+--
124
+-- Name: lu_entities_history_pkey; Type: CONSTRAINT; Schema: public; ; Tablespace:
125
+--
126
+
127
+ALTER TABLE ONLY lu_entities_history
128
+    ADD CONSTRAINT lu_entities_history_pkey PRIMARY KEY (id);
129
+
130
+--
131
+-- PostgreSQL database dump complete
132
+--
133
+
134
+
135
+

+ 112
- 0
postgresql/docker-entrypoint-initdb.d/02_webtest.sql View File

@@ -0,0 +1,112 @@
1
+--
2
+-- Name: pk_bigserial; Type: TABLE; Schema: public; ; Tablespace:
3
+--
4
+
5
+CREATE TABLE pk_bigserial (
6
+    id bigint NOT NULL,
7
+    some_text character varying,
8
+    some_int integer,
9
+    created_at timestamp with time zone DEFAULT now() NOT NULL,
10
+    updated_at timestamp with time zone
11
+);
12
+
13
+--
14
+-- Name: pk_bigserial_id_seq; Type: SEQUENCE; Schema: public; 
15
+--
16
+
17
+CREATE SEQUENCE pk_bigserial_id_seq
18
+    START WITH 1
19
+    INCREMENT BY 1
20
+    NO MINVALUE
21
+    NO MAXVALUE
22
+    CACHE 1;
23
+
24
+
25
+--
26
+-- Name: pk_bigserial_id_seq; Type: SEQUENCE OWNED BY; Schema: public; 
27
+--
28
+
29
+ALTER SEQUENCE pk_bigserial_id_seq OWNED BY pk_bigserial.id;
30
+
31
+
32
+--
33
+-- Name: pk_guid; Type: TABLE; Schema: public; ; Tablespace:
34
+--
35
+
36
+CREATE TABLE pk_guid (
37
+    id uuid DEFAULT get_uuid() NOT NULL,
38
+    some_text character varying,
39
+    some_int integer,
40
+    created_at timestamp with time zone DEFAULT now() NOT NULL,
41
+    updated_at timestamp with time zone
42
+);
43
+
44
+--
45
+-- Name: id; Type: DEFAULT; Schema: public; 
46
+--
47
+
48
+ALTER TABLE ONLY pk_bigserial ALTER COLUMN id SET DEFAULT nextval('pk_bigserial_id_seq'::regclass);
49
+
50
+--
51
+-- Name: pk_bigserial_pkey; Type: CONSTRAINT; Schema: public; ; Tablespace:
52
+--
53
+
54
+ALTER TABLE ONLY pk_bigserial
55
+    ADD CONSTRAINT pk_bigserial_pkey PRIMARY KEY (id);
56
+
57
+
58
+--
59
+-- Name: pk_bigserial_some_text_key; Type: CONSTRAINT; Schema: public; ; Tablespace:
60
+--
61
+
62
+ALTER TABLE ONLY pk_bigserial
63
+    ADD CONSTRAINT pk_bigserial_some_text_key UNIQUE (some_text);
64
+
65
+
66
+--
67
+-- Name: pk_guid_pkey; Type: CONSTRAINT; Schema: public; ; Tablespace:
68
+--
69
+
70
+ALTER TABLE ONLY pk_guid
71
+    ADD CONSTRAINT pk_guid_pkey PRIMARY KEY (id);
72
+
73
+
74
+--
75
+-- Name: pk_guid_some_text_key; Type: CONSTRAINT; Schema: public; ; Tablespace:
76
+--
77
+
78
+ALTER TABLE ONLY pk_guid
79
+    ADD CONSTRAINT pk_guid_some_text_key UNIQUE (some_text);
80
+
81
+
82
+--
83
+-- Name: pk_bigserial_lu_on_row_delete; Type: TRIGGER; Schema: public; 
84
+--
85
+
86
+CREATE TRIGGER pk_bigserial_lu_on_row_delete BEFORE DELETE ON pk_bigserial FOR EACH ROW EXECUTE PROCEDURE lu_on_row_delete();
87
+
88
+
89
+--
90
+-- Name: pk_bigserial_lu_on_row_update; Type: TRIGGER; Schema: public; 
91
+--
92
+
93
+CREATE TRIGGER pk_bigserial_lu_on_row_update BEFORE UPDATE ON pk_bigserial FOR EACH ROW EXECUTE PROCEDURE lu_on_row_update();
94
+
95
+
96
+--
97
+-- Name: pk_guid_lu_on_row_delete; Type: TRIGGER; Schema: public; 
98
+--
99
+
100
+CREATE TRIGGER pk_guid_lu_on_row_delete BEFORE DELETE ON pk_guid FOR EACH ROW EXECUTE PROCEDURE lu_on_row_delete();
101
+
102
+
103
+--
104
+-- Name: pk_guid_lu_on_row_update; Type: TRIGGER; Schema: public; 
105
+--
106
+
107
+CREATE TRIGGER pk_guid_lu_on_row_update BEFORE UPDATE ON pk_guid FOR EACH ROW EXECUTE PROCEDURE lu_on_row_update();
108
+
109
+
110
+--
111
+-- PostgreSQL database dump complete
112
+--

Loading…
Cancel
Save