|
@@ -187,6 +187,10 @@ function pleroma_create_database {
|
187
|
187
|
fi
|
188
|
188
|
|
189
|
189
|
add_postgresql_user pleroma "$PLEROMA_ADMIN_PASSWORD" encrypted
|
|
190
|
+ run_system_query_postgresql "create database pleroma;"
|
|
191
|
+ # temporarily allow the user to create databases
|
|
192
|
+ run_system_query_postgresql "ALTER USER pleroma CREATEDB;"
|
|
193
|
+ run_system_query_postgresql "ALTER USER pleroma SUPERUSER;"
|
190
|
194
|
run_system_query_postgresql "GRANT ALL ON ALL tables IN SCHEMA public TO pleroma;"
|
191
|
195
|
run_system_query_postgresql "GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;"
|
192
|
196
|
|
|
@@ -202,21 +206,28 @@ function pleroma_create_database {
|
202
|
206
|
sed -i "s|email: .*|email: \"$MY_EMAIL_ADDRESS\",|g" $pleroma_config
|
203
|
207
|
|
204
|
208
|
cd $PLEROMA_DIR
|
205
|
|
- mix local.rebar --force
|
|
209
|
+ chown -R pleroma:pleroma *
|
|
210
|
+ sudo -u pleroma mix local.rebar --force
|
206
|
211
|
if [ ! "$?" = "0" ]; then
|
207
|
212
|
echo $'mix local.rebar failed'
|
208
|
213
|
exit 73528562
|
209
|
214
|
fi
|
210
|
|
- mix ecto.create --force
|
|
215
|
+ sudo -u pleroma mix local.hex --force
|
|
216
|
+ sudo -u pleroma mix deps.compile mimerl
|
|
217
|
+ sudo -u pleroma mix ecto.create --force
|
211
|
218
|
if [ ! "$?" = "0" ]; then
|
212
|
219
|
echo $'mix ecto.create failed'
|
213
|
220
|
exit 83653582
|
214
|
221
|
fi
|
215
|
|
- mix ecto.migrate --force
|
|
222
|
+ sudo -u pleroma mix ecto.migrate --force
|
216
|
223
|
if [ ! "$?" = "0" ]; then
|
217
|
224
|
echo $'mix ecto.migrate failed'
|
218
|
225
|
exit 73752573
|
219
|
226
|
fi
|
|
227
|
+
|
|
228
|
+ # revoke the ability to create databases for this user
|
|
229
|
+ run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;"
|
|
230
|
+ run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;"
|
220
|
231
|
}
|
221
|
232
|
|
222
|
233
|
function reconfigure_pleroma {
|
|
@@ -637,12 +648,13 @@ function install_pleroma {
|
637
|
648
|
|
638
|
649
|
# back end
|
639
|
650
|
cd $PLEROMA_DIR
|
640
|
|
- mix local.hex --force
|
|
651
|
+ chown -R pleroma:pleroma *
|
|
652
|
+ sudo -u pleroma mix local.hex --force
|
641
|
653
|
if [ ! "$?" = "0" ]; then
|
642
|
654
|
echo $'mix local.hex failed'
|
643
|
655
|
exit 1745673
|
644
|
656
|
fi
|
645
|
|
- mix deps.get --force
|
|
657
|
+ sudo -u pleroma mix deps.get --force
|
646
|
658
|
if [ ! "$?" = "0" ]; then
|
647
|
659
|
echo $'mix deps.get failed'
|
648
|
660
|
exit 7325733
|