mirror of
https://memleak.eu/sn0w/pleroma-docker.git
synced 2024-12-21 20:08:47 -05:00
Update env-config
This commit is contained in:
parent
5f59cfd9ae
commit
3b84dfd5cf
@ -23,3 +23,4 @@ PLEROMA_REGISTRATIONS_OPEN=
|
||||
PLEROMA_MEDIA_PROXY_ENABLED=
|
||||
PLEROMA_MEDIA_PROXY_REDIRECT_ON_FAILURE=
|
||||
PLEROMA_MEDIA_PROXY_URL=
|
||||
PLEROMA_DB_POOL_SIZE=
|
||||
|
@ -1,7 +1,7 @@
|
||||
divert(-1)
|
||||
define(`upcase', `translit($1, `a-z', `A-Z')')
|
||||
define(`env', `upcase($1):${upcase($1):?upcase($1)}')
|
||||
define(`env_fb', `upcase($1):-$2')
|
||||
define(`env', `upcase($1): ${upcase($1):?upcase($1)}')
|
||||
define(`env_fb', `upcase($1): ${upcase($1):-$2}')
|
||||
define(`env_inline', `${upcase($1):?upcase($1)}')
|
||||
divert(1)dnl
|
||||
|
||||
@ -31,7 +31,7 @@ services:
|
||||
links:
|
||||
- db
|
||||
environment:
|
||||
env(`postgres_ip', `db')
|
||||
env_fb(`postgres_ip', `db')
|
||||
env(`postgres_db')
|
||||
env(`postgres_user')
|
||||
env(`postgres_password')
|
||||
@ -47,6 +47,7 @@ services:
|
||||
env(`pleroma_media_proxy_enabled')
|
||||
env(`pleroma_media_proxy_redirect_on_failure')
|
||||
env(`pleroma_media_proxy_url')
|
||||
env(`pleroma_db_pool_size')
|
||||
|
||||
env_fb(`pleroma_workspace', `/pleroma')
|
||||
env_fb(`mix_archives', `/mix/archives')
|
||||
|
@ -1,33 +1,42 @@
|
||||
use Mix.Config
|
||||
|
||||
env = fn name ->
|
||||
env_name = "pleroma_" <> Atom.to_string(name) |> String.upcase
|
||||
System.get_env(env_name) || raise "Could not find #{env_name} in environment. Please define it and try again."
|
||||
defmodule Docker do
|
||||
def env(name, verbatim \\ false) do
|
||||
env_name = (if verbatim, do: "", else: "pleroma_") <> Atom.to_string(name) |> String.upcase
|
||||
env_var = System.get_env(env_name)
|
||||
|
||||
if env_var == nil do
|
||||
raise "Could not find #{env_name} in environment. Please define it and try again."
|
||||
end
|
||||
|
||||
System.put_env(env_name, "")
|
||||
env_var
|
||||
end
|
||||
end
|
||||
|
||||
config :pleroma, Pleroma.Web.Endpoint,
|
||||
url: [
|
||||
host: env.(:url),
|
||||
scheme: env.(:scheme),
|
||||
port: env.(:port)
|
||||
host: Docker.env(:url),
|
||||
scheme: Docker.env(:scheme),
|
||||
port: Docker.env(:port)
|
||||
],
|
||||
secret_key_base: env.(:secret_key_base)
|
||||
secret_key_base: Docker.env(:secret_key_base)
|
||||
|
||||
config :pleroma, :instance,
|
||||
name: env.(:name),
|
||||
email: env.(:admin_email),
|
||||
limit: env.(:user_limit),
|
||||
registrations_open: env.(:registrations_open)
|
||||
name: Docker.env(:name),
|
||||
email: Docker.env(:admin_email),
|
||||
limit: Docker.env(:user_limit),
|
||||
registrations_open: Docker.env(:registrations_open)
|
||||
|
||||
config :pleroma, :media_proxy,
|
||||
enabled: env.(:media_proxy_enabled),
|
||||
redirect_on_failure: env.(:media_proxy_redirect_on_failure),
|
||||
base_url: env.(:media_proxy_url)
|
||||
enabled: Docker.env(:media_proxy_enabled),
|
||||
redirect_on_failure: Docker.env(:media_proxy_redirect_on_failure),
|
||||
base_url: Docker.env(:media_proxy_url)
|
||||
|
||||
config :pleroma, Pleroma.Repo,
|
||||
adapter: Ecto.Adapters.Postgres,
|
||||
username: env.(:db_user),
|
||||
password: env.(:db_pass),
|
||||
database: env.(:db_name),
|
||||
hostname: env.(:db_host),
|
||||
pool_size: env.(:db_pool_size)
|
||||
username: Docker.env(:postgres_user, true),
|
||||
password: Docker.env(:postgres_password, true),
|
||||
database: Docker.env(:postgres_db, true),
|
||||
hostname: Docker.env(:postgres_ip, true),
|
||||
pool_size: Docker.env(:db_pool_size)
|
||||
|
48
pleroma.sh
48
pleroma.sh
@ -23,79 +23,83 @@ function print_help {
|
||||
Pleroma Maintenance Script
|
||||
|
||||
Usage:
|
||||
$0 [action] [flags...]
|
||||
$0 [action] [flags]
|
||||
|
||||
Actions:
|
||||
build Build the pleroma container and all dependencies
|
||||
configure Runs the interactive configuration script
|
||||
run Start pleroma and sibling services
|
||||
stop Stop pleroma and sibling services
|
||||
logs Show the current container logs
|
||||
"
|
||||
}
|
||||
|
||||
function run_dockerized {
|
||||
log_info "Stopping existing containers (if any)..."
|
||||
log_info "Stopping existing containers (if any)"
|
||||
docker-compose down
|
||||
|
||||
log_info "Rebuilding images..."
|
||||
log_info "Rebuilding images"
|
||||
docker-compose build
|
||||
|
||||
log_info "Running action '$1'..."
|
||||
log_info "Running action '$1'"
|
||||
docker-compose run server $1
|
||||
|
||||
log_info "Cleaning up.."
|
||||
docker-compose down
|
||||
}
|
||||
|
||||
function action__pre {
|
||||
m4 docker-compose.m4 > docker-compose.yml
|
||||
}
|
||||
|
||||
function action__post {
|
||||
rm docker-compose.yml
|
||||
}
|
||||
|
||||
function action__build {
|
||||
action__pre
|
||||
run_dockerized "build"
|
||||
log_ok "Done"
|
||||
action__post
|
||||
}
|
||||
|
||||
function action__configure {
|
||||
action__pre
|
||||
run_dockerized "configure"
|
||||
log_ok "Done"
|
||||
action__post
|
||||
}
|
||||
|
||||
function action__run {
|
||||
action__pre
|
||||
log_info "Booting pleroma..."
|
||||
log_info "Booting pleroma"
|
||||
docker-compose up --remove-orphans -d
|
||||
log_ok "Done"
|
||||
action__post
|
||||
}
|
||||
|
||||
function action__stop {
|
||||
action__pre
|
||||
log_info "Stopping pleroma..."
|
||||
log_info "Stopping pleroma"
|
||||
docker-compose down
|
||||
log_ok "Done"
|
||||
action__post
|
||||
}
|
||||
|
||||
function action__logs {
|
||||
docker-compose logs -f
|
||||
}
|
||||
|
||||
function prepare {
|
||||
log_info "Preparing script"
|
||||
m4 docker-compose.m4 > docker-compose.yml
|
||||
}
|
||||
|
||||
function cleanup {
|
||||
log_info "Cleaning up"
|
||||
rm docker-compose.yml
|
||||
}
|
||||
|
||||
trap "cleanup" INT TERM EXIT
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
log_error "No action provided."
|
||||
print_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
prepare
|
||||
|
||||
case "$1" in
|
||||
build) action__build;;
|
||||
configure) action__configure;;
|
||||
run) action__run;;
|
||||
stop) action__stop;;
|
||||
logs) action__logs;;
|
||||
*)
|
||||
log_error "The action '$1' is invalid."
|
||||
print_help
|
||||
|
Loading…
Reference in New Issue
Block a user