mirror of
https://github.com/jrasanen/writefreely-docker.git
synced 2025-05-08 15:16:03 +03:00
Update ini configuration. Add docker-compose examples
This commit is contained in:
parent
0f4b06fa8f
commit
f709b4753d
5 changed files with 232 additions and 31 deletions
38
.env.mariadb
Normal file
38
.env.mariadb
Normal file
|
@ -0,0 +1,38 @@
|
|||
|
||||
# General Configuration
|
||||
WRITEFREELY_BIND_PORT=8080
|
||||
WRITEFREELY_BIND_HOST=0.0.0.0
|
||||
WRITEFREELY_SITE_NAME="My Blog"
|
||||
WRITEFREELY_SITE_DESCRIPTION="My fancy blog"
|
||||
|
||||
# Database Configuration
|
||||
MARIADB_USER=writefreely
|
||||
MARIADB_PASSWORD=changeme
|
||||
MARIADB_DATABASE=writefreely
|
||||
MARIADB_ROOT_PASSWORD=changeme
|
||||
|
||||
WRITEFREELY_DATABASE_DATABASE=mysql
|
||||
WRITEFREELY_DATABASE_USERNAME=${MARIADB_USER}
|
||||
WRITEFREELY_DATABASE_PASSWORD=${MARIADB_PASSWORD}
|
||||
WRITEFREELY_DATABASE_NAME=${MARIADB_DATABASE}
|
||||
WRITEFREELY_DATABASE_HOST=writefreely-db
|
||||
WRITEFREELY_DATABASE_PORT=3306
|
||||
|
||||
|
||||
# Application Settings
|
||||
WRITEFREELY_HOST=
|
||||
WRITEFREELY_SINGLE_USER=true
|
||||
WRITEFREELY_OPEN_REGISTRATION=false
|
||||
WRITEFREELY_MIN_USERNAME_LEN=4
|
||||
WRITEFREELY_MAX_BLOG=4
|
||||
WRITEFREELY_FEDERATION=true
|
||||
WRITEFREELY_PUBLIC_STATS=true
|
||||
WRITEFREELY_PRIVATE=false
|
||||
WRITEFREELY_LOCAL_TIMELINE=true
|
||||
WRITEFREELY_USER_INVITES=
|
||||
|
||||
# Writefreely Users
|
||||
WRITEFREELY_ADMIN_USER=admin
|
||||
WRITEFREELY_ADMIN_PASSWORD=changeme
|
||||
WRITEFREELY_WRITER_USER=
|
||||
WRITEFREELY_WRITER_PASSWORD=
|
31
.env.sqlite
Normal file
31
.env.sqlite
Normal file
|
@ -0,0 +1,31 @@
|
|||
|
||||
# General Configuration
|
||||
WRITEFREELY_BIND_PORT=8080
|
||||
WRITEFREELY_BIND_HOST=0.0.0.0
|
||||
WRITEFREELY_SITE_NAME="My Blog"
|
||||
WRITEFREELY_SITE_DESCRIPTION="My fancy blog"
|
||||
|
||||
# Database Configuration
|
||||
WRITEFREELY_DATABASE_DATABASE=sqlite3
|
||||
WRITEFREELY_SQLITE_FILENAME=./writefreely.db
|
||||
WRITEFREELY_DATABASE_USERNAME=writefreely
|
||||
WRITEFREELY_DATABASE_PASSWORD=changeme
|
||||
WRITEFREELY_DATABASE_NAME=writefreely
|
||||
|
||||
# Application Settings
|
||||
WRITEFREELY_HOST=
|
||||
WRITEFREELY_SINGLE_USER=true
|
||||
WRITEFREELY_OPEN_REGISTRATION=false
|
||||
WRITEFREELY_MIN_USERNAME_LEN=4
|
||||
WRITEFREELY_MAX_BLOG=4
|
||||
WRITEFREELY_FEDERATION=true
|
||||
WRITEFREELY_PUBLIC_STATS=true
|
||||
WRITEFREELY_PRIVATE=false
|
||||
WRITEFREELY_LOCAL_TIMELINE=true
|
||||
WRITEFREELY_USER_INVITES=
|
||||
|
||||
# Writefreely Users
|
||||
WRITEFREELY_ADMIN_USER=admin
|
||||
WRITEFREELY_ADMIN_PASSWORD=changeme
|
||||
WRITEFREELY_WRITER_USER=
|
||||
WRITEFREELY_WRITER_PASSWORD=
|
|
@ -39,44 +39,126 @@ WRITEFREELY_SITE_DESCRIPTION="${WRITEFREELY_SITE_DESCRIPTION:-My Writefreely blo
|
|||
|
||||
cat >./config.ini <<EOF
|
||||
[server]
|
||||
hidden_host =
|
||||
port = ${WRITEFREELY_BIND_PORT}
|
||||
bind = ${WRITEFREELY_BIND_HOST}
|
||||
tls_cert_path =
|
||||
tls_key_path =
|
||||
templates_parent_dir = /writefreely
|
||||
static_parent_dir = /writefreely
|
||||
pages_parent_dir = /writefreely
|
||||
keys_parent_dir =
|
||||
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}
|
||||
username = ${WRITEFREELY_DATABASE_USERNAME}
|
||||
password = ${WRITEFREELY_DATABASE_PASSWORD}
|
||||
database = ${WRITEFREELY_DATABASE_NAME}
|
||||
host = ${WRITEFREELY_DATABASE_HOST}
|
||||
port = ${WRITEFREELY_DATABASE_PORT}
|
||||
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
|
||||
disable_js = false
|
||||
webfonts = true
|
||||
landing =
|
||||
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:-1}
|
||||
federation = ${WRITEFREELY_FEDERATION:-true}
|
||||
public_stats = ${WRITEFREELY_PUBLIC_STATS:-false}
|
||||
private = ${WRITEFREELY_PRIVATE:-false}
|
||||
local_timeline = ${WRITEFREELY_LOCAL_TIMELINE:-false}
|
||||
user_invites = ${WRITEFREELY_USER_INVITES}
|
||||
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}
|
||||
|
|
35
docker-compose.mariadb.yaml
Normal file
35
docker-compose.mariadb.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
services:
|
||||
writefreely-web:
|
||||
container_name: writefreely-web
|
||||
image: gmag11/writefreely:latest
|
||||
build:
|
||||
context: .
|
||||
init: true
|
||||
env_file:
|
||||
- .env.mariadb
|
||||
volumes:
|
||||
- ./data:/data
|
||||
ports:
|
||||
- 8080:8080
|
||||
depends_on:
|
||||
writefreely-db:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
writefreely-db:
|
||||
container_name: writefreely-db
|
||||
image: mariadb:latest
|
||||
init: true
|
||||
volumes:
|
||||
- ./db-data:/var/lib/mysql
|
||||
networks:
|
||||
- internal
|
||||
env_file:
|
||||
- .env.mariadb
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "mariadb-admin ping -h localhost -u${MARIADB_USER} -p${MARIADB_PASSWORD} || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 30s
|
15
docker-compose.sqlite3.yaml
Normal file
15
docker-compose.sqlite3.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
services:
|
||||
writefreely-web:
|
||||
container_name: writefreely-web
|
||||
image: gmag11/writefreely:latest
|
||||
build:
|
||||
context: .
|
||||
init: true
|
||||
env_file:
|
||||
- .env.sqlite
|
||||
volumes:
|
||||
- ./data:/data
|
||||
ports:
|
||||
- 8080:8080
|
||||
restart: unless-stopped
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue