diff options
Diffstat (limited to 'docker/root/etc/cont-init.d')
-rwxr-xr-x | docker/root/etc/cont-init.d/10-adduser | 32 | ||||
-rwxr-xr-x | docker/root/etc/cont-init.d/50-config | 174 |
2 files changed, 0 insertions, 206 deletions
diff --git a/docker/root/etc/cont-init.d/10-adduser b/docker/root/etc/cont-init.d/10-adduser deleted file mode 100755 index 8ba1aea..0000000 --- a/docker/root/etc/cont-init.d/10-adduser +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | #!/usr/bin/with-contenv bash | ||
2 | |||
3 | PUID=${PUID:-911} | ||
4 | PGID=${PGID:-911} | ||
5 | |||
6 | groupmod -o -g "$PGID" abc | ||
7 | usermod -o -u "$PUID" abc | ||
8 | |||
9 | echo ' | ||
10 | ------------------------------------- | ||
11 | ____ ___ | ||
12 | / __/__ _______/ (_) | ||
13 | / _// -_) __/ _ / / | ||
14 | _/_/ \__/_/ \_,_/_/ | ||
15 | / __/__ _____ _____ ____ | ||
16 | _\ \/ -_) __/ |/ / -_) __/ | ||
17 | /___/\__/_/ |___/\__/_/ | ||
18 | |||
19 | Brought to you by getferdi.com | ||
20 | Support our Open Collective at: | ||
21 | https://opencollective.com/getferdi/ | ||
22 | ------------------------------------- | ||
23 | GID/UID | ||
24 | -------------------------------------' | ||
25 | echo " | ||
26 | User uid: $(id -u abc) | ||
27 | User gid: $(id -g abc) | ||
28 | ------------------------------------- | ||
29 | " | ||
30 | chown abc:abc /app | ||
31 | chown abc:abc /config | ||
32 | chown abc:abc /defaults \ No newline at end of file | ||
diff --git a/docker/root/etc/cont-init.d/50-config b/docker/root/etc/cont-init.d/50-config deleted file mode 100755 index 72b2d00..0000000 --- a/docker/root/etc/cont-init.d/50-config +++ /dev/null | |||
@@ -1,174 +0,0 @@ | |||
1 | #!/usr/bin/with-contenv bash | ||
2 | |||
3 | # Display variables for troubleshooting | ||
4 | echo " " | ||
5 | echo "-------------------------------------" | ||
6 | echo " " | ||
7 | echo -e "Variables set:\\n\ | ||
8 | NODE_ENV=${NODE_ENV}\\n\ | ||
9 | EXTERNAL_DOMAIN=${EXTERNAL_DOMAIN}\\n\ | ||
10 | DB_CONNECTION=${DB_CONNECTION}\\n\ | ||
11 | DB_HOST=${DB_HOST}\\n\ | ||
12 | DB_PORT=${DB_PORT}\\n\ | ||
13 | DB_USER=${DB_USER}\\n\ | ||
14 | DB_PASSWORD=${DB_PASSWORD}\\n\ | ||
15 | DB_DATABASE=${DB_DATABASE}\\n\ | ||
16 | DB_SSL=${DB_SSL}\\n\ | ||
17 | IS_CREATION_ENABLED=${IS_CREATION_ENABLED}\\n\ | ||
18 | IS_DASHBOARD_ENABLED=${IS_DASHBOARD_ENABLED}\\n\ | ||
19 | IS_REGISTRATION_ENABLED=${IS_REGISTRATION_ENABLED}\\n\ | ||
20 | CONNECT_WITH_FRANZ=${CONNECT_WITH_FRANZ}\\n\ | ||
21 | MAIL_CONNECTION=${MAIL_CONNECTION}\\n\ | ||
22 | SMTP_PORT=${SMTP_PORT}\\n\ | ||
23 | SMTP_HOST=${SMTP_HOST}\\n\ | ||
24 | MAIL_SSL=${MAIL_SSL}\\n\ | ||
25 | MAIL_USERNAME=${MAIL_USERNAME}\\n\ | ||
26 | MAIL_PASSWORD=${MAIL_PASSWORD}\\n\ | ||
27 | MAIL_SENDER=${MAIL_SENDER}\\n" | ||
28 | |||
29 | # Echo init finish for test runs | ||
30 | if [ -n "${TEST_RUN}" ]; then | ||
31 | echo " " | ||
32 | echo '**** [services.d] done ****' | ||
33 | fi | ||
34 | |||
35 | # set ferdi-server status | ||
36 | echo " " | ||
37 | echo "**** Checking Ferdi-server settings ****" | ||
38 | if [ -f /config/config.txt ]; then | ||
39 | [[ "${NODE_ENV}" ]] && sed -i "s/NODE_ENV=.*/NODE_ENV=${NODE_ENV}/g" /config/config.txt | ||
40 | [[ "${EXTERNAL_DOMAIN}" ]] && sed -i "s/EXTERNAL_DOMAIN=.*/EXTERNAL_DOMAIN=${EXTERNAL_DOMAIN}/g" /config/config.txt | ||
41 | [[ "${IS_CREATION_ENABLED}" ]] && sed -i "s/IS_CREATION_ENABLED=.*/IS_CREATION_ENABLED=${IS_CREATION_ENABLED}/g" /config/config.txt | ||
42 | [[ "${IS_DASHBOARD_ENABLED}" ]] && sed -i "s/IS_DASHBOARD_ENABLED=.*/IS_DASHBOARD_ENABLED=${IS_DASHBOARD_ENABLED}/g" /config/config.txt | ||
43 | [[ "${IS_REGISTRATION_ENABLED}" ]] && sed -i "s/IS_REGISTRATION_ENABLED=.*/IS_REGISTRATION_ENABLED=${IS_REGISTRATION_ENABLED}/g" /config/config.txt | ||
44 | [[ "${CONNECT_WITH_FRANZ}" ]] && sed -i "s/CONNECT_WITH_FRANZ=.*/CONNECT_WITH_FRANZ=${CONNECT_WITH_FRANZ}/g" /config/config.txt | ||
45 | [[ "${DB_CONNECTION}" ]] && sed -i "s/DB_CONNECTION=.*/DB_CONNECTION=${DB_CONNECTION}/g" /config/config.txt | ||
46 | [[ "${DB_HOST}" ]] && sed -i "s/DB_HOST=.*/DB_HOST=${DB_HOST}/g" /config/config.txt | ||
47 | [[ "${DB_PORT}" ]] && sed -i "s/DB_PORT=.*/DB_PORT=${DB_PORT}/g" /config/config.txt | ||
48 | [[ "${DB_DATABASE}" ]] && sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE}/g" /config/config.txt | ||
49 | [[ "${DB_USER}" ]] && sed -i "s/DB_USER=.*/DB_USER=${DB_USER}/g" /config/config.txt | ||
50 | [[ "${DB_PASSWORD}" ]] && sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/g" /config/config.txt | ||
51 | [[ "${DB_SSL}" ]] && sed -i "s/DB_SSL=.*/DB_SSL=${DB_SSL}/g" /config/config.txt | ||
52 | [[ "${MAIL_CONNECTION}" ]] && sed -i "s/MAIL_CONNECTION=.*/MAIL_CONNECTION=${MAIL_CONNECTION}/g" /config/config.txt | ||
53 | [[ "${SMTP_HOST}" ]] && sed -i "s/SMTP_HOST=.*/SMTP_HOST=${SMTP_HOST}/g" /config/config.txt | ||
54 | [[ "${SMTP_PORT}" ]] && sed -i "s/SMTP_PORT=.*/SMTP_PORT=${SMTP_PORT}/g" /config/config.txt | ||
55 | [[ "${MAIL_SSL}" ]] && sed -i "s/MAIL_SSL=.*/MAIL_SSL=${MAIL_SSL}/g" /config/config.txt | ||
56 | [[ "${MAIL_USERNAME}" ]] && sed -i "s/MAIL_USERNAME=.*/MAIL_USERNAME=${MAIL_USERNAME}/g" /config/config.txt | ||
57 | [[ "${MAIL_PASSWORD}" ]] && sed -i "s/MAIL_PASSWORD=.*/MAIL_PASSWORD=${MAIL_PASSWORD}/g" /config/config.txt | ||
58 | [[ "${MMAIL_SENDER}" ]] && sed -i "s/MAIL_SENDER=.*/MAIL_SENDER=${MAIL_SENDER}/g" /config/config.txt | ||
59 | rm /config/.env | ||
60 | cp /config/config.txt /config/.env | ||
61 | elif [ ! -f /config/config.txt ]; then | ||
62 | echo " " | ||
63 | echo "**** Generating .env file ****" | ||
64 | cp /defaults/.env.example /config/.env | ||
65 | [[ "${NODE_ENV}" ]] && sed -i "s/NODE_ENV=.*/NODE_ENV=${NODE_ENV}/g" /config/.env | ||
66 | [[ "${EXTERNAL_DOMAIN}" ]] && sed -i "s/EXTERNAL_DOMAIN=.*/EXTERNAL_DOMAIN=${EXTERNAL_DOMAIN}/g" /config/.env | ||
67 | [[ "${IS_CREATION_ENABLED}" ]] && sed -i "s/IS_CREATION_ENABLED=.*/IS_CREATION_ENABLED=${IS_CREATION_ENABLED}/g" /config/.env | ||
68 | [[ "${IS_DASHBOARD_ENABLED}" ]] && sed -i "s/IS_DASHBOARD_ENABLED=.*/IS_DASHBOARD_ENABLED=${IS_DASHBOARD_ENABLED}/g" /config/.env | ||
69 | [[ "${IS_REGISTRATION_ENABLED}" ]] && sed -i "s/IS_REGISTRATION_ENABLED=.*/IS_REGISTRATION_ENABLED=${IS_REGISTRATION_ENABLED}/g" /config/.env | ||
70 | [[ "${CONNECT_WITH_FRANZ}" ]] && sed -i "s/CONNECT_WITH_FRANZ=.*/CONNECT_WITH_FRANZ=${CONNECT_WITH_FRANZ}/g" /config/.env | ||
71 | [[ "${DB_CONNECTION}" ]] && sed -i "s/DB_CONNECTION=.*/DB_CONNECTION=${DB_CONNECTION}/g" /config/.env | ||
72 | [[ "${DB_HOST}" ]] && sed -i "s/DB_HOST=.*/DB_HOST=${DB_HOST}/g" /config/.env | ||
73 | [[ "${DB_PORT}" ]] && sed -i "s/DB_PORT=.*/DB_PORT=${DB_PORT}/g" /config/.env | ||
74 | [[ "${DB_DATABASE}" ]] && sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE}/g" /config/.env | ||
75 | [[ "${DB_USER}" ]] && sed -i "s/DB_USER=.*/DB_USER=${DB_USER}/g" /config/.env | ||
76 | [[ "${DB_PASSWORD}" ]] && sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/g" /config/.env | ||
77 | [[ "${DB_SSL}" ]] && sed -i "s/DB_SSL=.*/DB_SSL=${DB_SSL}/g" /config/.env | ||
78 | [[ "${MAIL_CONNECTION}" ]] && sed -i "s/MAIL_CONNECTION=.*/MAIL_CONNECTION=${MAIL_CONNECTION}/g" /config/.env | ||
79 | [[ "${SMTP_HOST}" ]] && sed -i "s/SMTP_HOST=.*/SMTP_HOST=${SMTP_HOST}/g" /config/.env | ||
80 | [[ "${SMTP_PORT}" ]] && sed -i "s/SMTP_PORT=.*/SMTP_PORT=${SMTP_PORT}/g" /config/.env | ||
81 | [[ "${MAIL_SSL}" ]] && sed -i "s/MAIL_SSL=.*/MAIL_SSL=${MAIL_SSL}/g" /config/.env | ||
82 | [[ "${MAIL_USERNAME}" ]] && sed -i "s/MAIL_USERNAME=.*/MAIL_USERNAME=${MAIL_USERNAME}/g" /config/.env | ||
83 | [[ "${MAIL_PASSWORD}" ]] && sed -i "s/MAIL_PASSWORD=.*/MAIL_PASSWORD=${MAIL_PASSWORD}/g" /config/.env | ||
84 | [[ "${MMAIL_SENDER}" ]] && sed -i "s/MAIL_SENDER=.*/MAIL_SENDER=${MAIL_SENDER}/g" /config/.env | ||
85 | cp /config/.env /config/config.txt | ||
86 | fi | ||
87 | |||
88 | # update .env | ||
89 | if [ -f /app/.env ]; then | ||
90 | rm /app/.env | ||
91 | ln -s /config/.env /app/.env | ||
92 | elif [ ! -f /app/.env ]; then | ||
93 | ln -s /config/.env /app/.env | ||
94 | fi | ||
95 | |||
96 | # install adonisjs cli | ||
97 | echo " " | ||
98 | echo "**** Installing AdonisJS and deps ****" | ||
99 | cd /app | ||
100 | echo " " | ||
101 | npm config set unsafe-perm true | ||
102 | npm i -g @adonisjs/cli | ||
103 | |||
104 | # install adonisjs dependencies | ||
105 | npm install | ||
106 | |||
107 | # make custom recipe dir | ||
108 | if [ ! -f /app/recipes/dev ]; then | ||
109 | mkdir -p /app/recipes/dev | ||
110 | fi | ||
111 | |||
112 | # setting the database helper | ||
113 | if [ "${DB_CONNECTION}" = "sqlite" ]; then | ||
114 | echo " " | ||
115 | echo "**** DB helper loaded ****" | ||
116 | else npm i ${DB_CONNECTION} | ||
117 | echo " " | ||
118 | echo "**** DB Helper loaded ****" | ||
119 | fi | ||
120 | |||
121 | # check for the database endpoint for 30 seconds | ||
122 | echo " " | ||
123 | echo "**** Checking DB endpoint ****" | ||
124 | source .env | ||
125 | END=$((SECONDS+30)) | ||
126 | while [ ${SECONDS} -lt ${END} ] && [ "${DB_HOST} ${DB_PORT}" ]; | ||
127 | do | ||
128 | /usr/bin/nc -z ${DB_HOST} ${DB_PORT} && \ | ||
129 | if [ ! -z "$(/usr/bin/nc -w1 ${DB_HOST} ${DB_PORT})" ]; | ||
130 | then | ||
131 | [ ! -z "${RUN}" ] && break | ||
132 | RUN="RAN" | ||
133 | # we sleep here again due to first run init on DB containers | ||
134 | [ ! -f /dbwait.lock ] && sleep 5 | ||
135 | else | ||
136 | sleep 1 | ||
137 | fi | ||
138 | sleep 1 | ||
139 | done | ||
140 | |||
141 | # source the .env file | ||
142 | source .env | ||
143 | |||
144 | # database migration | ||
145 | echo " " | ||
146 | echo "**** Run DB migration ****" | ||
147 | adonis migration:run --force | ||
148 | |||
149 | # Create APP key if needed | ||
150 | if [ ! -f "/config/FERDI_APP_KEY.txt" ]; | ||
151 | then | ||
152 | echo " " | ||
153 | echo "**** Generating Ferdi-server app key for first run ****" | ||
154 | adonis key:generate | ||
155 | source .env | ||
156 | echo $APP_KEY > /config/FERDI_APP_KEY.txt | ||
157 | echo "**** App Key set to $APP_KEY you can modify FERDI_APP_KEY.txt to update your key ****" | ||
158 | sed -i "s/APP_KEY=/APP_KEY=$APP_KEY/g" /config/config.txt | ||
159 | elif [ -f "/config/FERDI_APP_KEY.txt" ]; | ||
160 | then | ||
161 | echo " " | ||
162 | echo "**** App Key found ****" | ||
163 | APP_KEY=$(cat /config/FERDI_APP_KEY.txt) | ||
164 | sed -i "s/APP_KEY=.*/APP_KEY=$APP_KEY/g" /config/config.txt | ||
165 | echo "**** App Key set to $APP_KEY you can modify FERDI_APP_KEY.txt to update your key ****" | ||
166 | fi | ||
167 | |||
168 | # set permissions | ||
169 | chown -R abc:abc \ | ||
170 | /config \ | ||
171 | /app | ||
172 | |||
173 | # set lockfile to avoid DB waits for this specific container | ||
174 | touch /dbwait.lock | ||