mirror of
https://github.com/jrasanen/writefreely-docker.git
synced 2025-05-08 15:16:03 +03:00
164 lines
4.6 KiB
Bash
Executable file
164 lines
4.6 KiB
Bash
Executable file
#! /bin/sh
|
|
## Writefreely wrapper for Docker
|
|
## Copyright (C) 2019 Gergely Nagy
|
|
##
|
|
## This program is free software: you can redistribute it and/or modify
|
|
## it under the terms of the GNU General Public License as published by
|
|
## the Free Software Foundation, either version 3 of the License, or
|
|
## (at your option) any later version.
|
|
##
|
|
## This program is distributed in the hope that it will be useful,
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
## GNU General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU General Public License
|
|
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
set -e
|
|
|
|
cd /data
|
|
|
|
WRITEFREELY=/writefreely/writefreely
|
|
|
|
if [ -e ./config.ini ] && [ -e ./keys/email.aes256 ]; then
|
|
${WRITEFREELY} -migrate
|
|
exec ${WRITEFREELY}
|
|
fi
|
|
|
|
if [ -e ./config.ini ]; then
|
|
${WRITEFREELY} -init-db
|
|
${WRITEFREELY} -gen-keys
|
|
exec ${WRITEFREELY}
|
|
fi
|
|
|
|
WRITEFREELY_BIND_PORT="${WRITEFREELY_BIND_PORT:-8080}"
|
|
WRITEFREELY_BIND_HOST="${WRITEFREELY_BIND_HOST:-0.0.0.0}"
|
|
WRITEFREELY_SITE_NAME="${WRITEFREELY_SITE_NAME:-A Writefreely blog}"
|
|
WRITEFREELY_SITE_DESCRIPTION="${WRITEFREELY_SITE_DESCRIPTION:-My Writefreely blog}"
|
|
|
|
cat >./config.ini <<EOF
|
|
[server]
|
|
hidden_host =
|
|
port = ${WRITEFREELY_BIND_PORT}
|
|
bind = ${WRITEFREELY_BIND_HOST}
|
|
tls_cert_path =
|
|
tls_key_path =
|
|
autocert =
|
|
templates_parent_dir = /writefreely
|
|
static_parent_dir = /writefreely
|
|
pages_parent_dir = /writefreely
|
|
keys_parent_dir =
|
|
hash_seed =
|
|
gopher_port = 0
|
|
|
|
[database]
|
|
type = ${WRITEFREELY_DATABASE_DATABASE}
|
|
filename = ${WRITEFREELY_SQLITE_FILENAME}
|
|
username = ${WRITEFREELY_DATABASE_USERNAME}
|
|
password = ${WRITEFREELY_DATABASE_PASSWORD}
|
|
database = ${WRITEFREELY_DATABASE_NAME}
|
|
host = ${WRITEFREELY_DATABASE_HOST}
|
|
port = ${WRITEFREELY_DATABASE_PORT}
|
|
tls = false
|
|
|
|
[app]
|
|
site_name = ${WRITEFREELY_SITE_NAME}
|
|
site_description = ${WRITEFREELY_SITE_DESCRIPTION}
|
|
host = ${WRITEFREELY_HOST:-http://${WRITEFREELY_BIND_HOST}:${WRITEFREELY_BIND_PORT}}
|
|
theme = write
|
|
editor =
|
|
disable_js = false
|
|
webfonts = true
|
|
landing =
|
|
simple_nav = false
|
|
wf_modesty = false
|
|
chorus = false
|
|
forest = false
|
|
disable_drafts = false
|
|
single_user = ${WRITEFREELY_SINGLE_USER:-false}
|
|
open_registration = ${WRITEFREELY_OPEN_REGISTRATION:-false}
|
|
min_username_len = ${WRITEFREELY_MIN_USERNAME_LEN:-3}
|
|
max_blogs = ${WRITEFREELY_MAX_BLOG:-4}
|
|
federation = ${WRITEFREELY_FEDERATION:-true}
|
|
public_stats = ${WRITEFREELY_PUBLIC_STATS:-false}
|
|
monetization = false
|
|
notes_only = false
|
|
private = ${WRITEFREELY_PRIVATE:-false}
|
|
local_timeline = ${WRITEFREELY_LOCAL_TIMELINE:-false}
|
|
user_invites = ${WRITEFREELY_USER_INVITES}
|
|
update_checks = false
|
|
disable_password_auth = false
|
|
|
|
[email]
|
|
domain =
|
|
mailgun_private =
|
|
|
|
[oauth.slack]
|
|
client_id =
|
|
client_secret =
|
|
team_id =
|
|
callback_proxy =
|
|
callback_proxy_api =
|
|
|
|
[oauth.writeas]
|
|
client_id =
|
|
client_secret =
|
|
auth_location =
|
|
token_location =
|
|
inspect_location =
|
|
callback_proxy =
|
|
callback_proxy_api =
|
|
|
|
[oauth.gitlab]
|
|
client_id =
|
|
client_secret =
|
|
host =
|
|
display_name =
|
|
callback_proxy =
|
|
callback_proxy_api =
|
|
|
|
[oauth.gitea]
|
|
client_id =
|
|
client_secret =
|
|
host =
|
|
display_name =
|
|
callback_proxy =
|
|
callback_proxy_api =
|
|
|
|
[oauth.generic]
|
|
client_id =
|
|
client_secret =
|
|
host =
|
|
display_name =
|
|
callback_proxy =
|
|
callback_proxy_api =
|
|
token_endpoint =
|
|
inspect_endpoint =
|
|
auth_endpoint =
|
|
scope =
|
|
allow_disconnect = false
|
|
map_user_id =
|
|
map_username =
|
|
map_display_name =
|
|
map_email =
|
|
EOF
|
|
|
|
chmod 600 ./config.ini
|
|
|
|
${WRITEFREELY} --init-db
|
|
${WRITEFREELY} --gen-keys
|
|
|
|
if [ -n "$WRITEFREELY_ADMIN_USER" ]; then
|
|
${WRITEFREELY} user create --admin ${WRITEFREELY_ADMIN_USER}:${WRITEFREELY_ADMIN_PASSWORD}
|
|
echo Created user ${WRITEFREELY_ADMIN_USER}
|
|
else
|
|
echo Admin user not defined
|
|
exit 1
|
|
fi
|
|
if [ -n "$WRITEFREELY_WRITER_USER" ]; then
|
|
${WRITEFREELY} user create ${WRITEFREELY_WRITER_USER}:${WRITEFREELY_WRITER_PASSWORD}
|
|
echo Created user ${WRITEFREELY_WRITER_USER}
|
|
fi
|
|
|
|
exec ${WRITEFREELY}
|