WIP debconf
This commit is contained in:
parent
3337e87496
commit
d804d339fe
53
debian/config
vendored
Normal file
53
debian/config
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Source debconf library.
|
||||||
|
. /usr/share/debconf/confmodule
|
||||||
|
|
||||||
|
# Choose a domain name
|
||||||
|
db_input high mobilizon/domain_name || true
|
||||||
|
db_go
|
||||||
|
db_get mobilizon/domain_name
|
||||||
|
if [ -z "$RET" -o "$RET" = " " ]; then
|
||||||
|
db_set mobilizon/domain_name "mobilizon.localhost.localdomain"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TCP port
|
||||||
|
db_input low mobilizon/listen_port || true
|
||||||
|
db_go
|
||||||
|
db_get mobilizon/listen_port
|
||||||
|
if [ -z "$RET" -o "$RET" = " " ]; then
|
||||||
|
db_set mobilizon/listen_port "4000"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# DB hostname
|
||||||
|
db_input high mobilizon/db_host || true
|
||||||
|
db_go
|
||||||
|
db_get mobilizon/db_host
|
||||||
|
if [ -z "$RET" -o "$RET" = " " ]; then
|
||||||
|
db_set mobilizon/db_host "localhost"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# DB name
|
||||||
|
db_input medium mobilizon/db_name || true
|
||||||
|
db_go
|
||||||
|
db_get mobilizon/db_name
|
||||||
|
if [ -z "$RET" -o "$RET" = " " ]; then
|
||||||
|
db_set mobilizon/db_name "mobilizon"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# DB username
|
||||||
|
db_input high mobilizon/db_username || true
|
||||||
|
db_go
|
||||||
|
db_get mobilizon/db_username
|
||||||
|
if [ -z "$RET" -o "$RET" = " " ]; then
|
||||||
|
db_set mobilizon/db_username "mobilizon"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## DB userpass
|
||||||
|
#db_input high mobilizon/db_userpass || true
|
||||||
|
#db_go
|
||||||
|
#db_get mobilizon/db_userpass
|
||||||
|
#if [ -z "$RET" -o "$RET" = " " ]; then
|
||||||
|
# db_set mobilizon/db_userpass ""
|
||||||
|
#fi
|
||||||
|
|
35
debian/config.exs
vendored
Normal file
35
debian/config.exs
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Mobilizon instance configuration
|
||||||
|
|
||||||
|
import Config
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Web.Endpoint,
|
||||||
|
server: true,
|
||||||
|
url: [host: "__DOMAIN_NAME__"],
|
||||||
|
http: [
|
||||||
|
ip: {127,0,0,1},
|
||||||
|
port: __LISTEN_PORT__
|
||||||
|
],
|
||||||
|
secret_key_base: "fGRh4o8C28jkQG7PEWG2heRnbpSaYVaukgHuVvZ2/iWlZYKEG1lhDxuHkvLufJe7"
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Web.Auth.Guardian,
|
||||||
|
secret_key: "wDvmyIypO5NdQ7PNLinJs3oRgTiEhidj1IkPu73lzT37ogMuEJPDgBAC60tKZh1w"
|
||||||
|
|
||||||
|
config :mobilizon, :instance,
|
||||||
|
name: "A Debian-base Mobilizon instance",
|
||||||
|
description: "Change this to a proper description of your instance",
|
||||||
|
hostname: "__DOMAIN_NAME__",
|
||||||
|
registrations_open: false,
|
||||||
|
demo: false,
|
||||||
|
allow_relay: true,
|
||||||
|
federating: true,
|
||||||
|
email_from: "noreply@__DOMAIN_NAME__",
|
||||||
|
email_reply_to: "noreply@__DOMAIN_NAME__"
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Storage.Repo,
|
||||||
|
adapter: Ecto.Adapters.Postgres,
|
||||||
|
username: "__DB_USERNAME__",
|
||||||
|
password: "__DB_USERPASS__",
|
||||||
|
database: "__DB_NAME__",
|
||||||
|
hostname: "__DB_HOST__",
|
||||||
|
port: "5432",
|
||||||
|
pool_size: 10
|
3
debian/dirs
vendored
Normal file
3
debian/dirs
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
etc/mobilizon
|
||||||
|
usr/share/mobilizon
|
||||||
|
var/lib/mobilizon
|
2
debian/install
vendored
Normal file
2
debian/install
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
debian/config.exs etc/mobilizon
|
||||||
|
_build/prod/rel/mobilizon usr/share
|
28
debian/mobilizon.service
vendored
Normal file
28
debian/mobilizon.service
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Mobilizon Service
|
||||||
|
After=network.target postgresql.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=mobilizon
|
||||||
|
WorkingDirectory=/var/lib/mobilizon
|
||||||
|
ExecStart=/usr/share/mobilizon/bin/mobilizon start
|
||||||
|
ExecStop=/usr/share/mobilizon/bin/mobilizon stop
|
||||||
|
KillMode=process
|
||||||
|
Restart=on-failure
|
||||||
|
Environment=MIX_ENV=prod
|
||||||
|
|
||||||
|
SyslogIdentifier=mobilizon
|
||||||
|
|
||||||
|
; Some security directives.
|
||||||
|
; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops.
|
||||||
|
PrivateTmp=true
|
||||||
|
; Mount /usr, /boot, and /etc as read-only for processes invoked by this service.
|
||||||
|
ProtectSystem=full
|
||||||
|
; Sets up a new /dev mount for the process and only adds API pseudo devices like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled by default because it may not work on devices like the Raspberry Pi.
|
||||||
|
PrivateDevices=false
|
||||||
|
; Ensures that the service process and all its children can never gain new privileges through execve().
|
||||||
|
NoNewPrivileges=true
|
||||||
|
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
34
debian/postinst
vendored
34
debian/postinst
vendored
@ -5,18 +5,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Summary of how this script can be called:
|
# Load debconf
|
||||||
# * <postinst> 'configure' <most-recently-configured-version>
|
. /usr/share/debconf/confmodule
|
||||||
# * <old-postinst> 'abort-upgrade' <new version>
|
|
||||||
# * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
|
|
||||||
# <new-version>
|
|
||||||
# * <postinst> 'abort-remove'
|
|
||||||
# * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
|
|
||||||
# <failed-install-package> <version> 'removing'
|
|
||||||
# <conflicting-package> <version>
|
|
||||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
|
||||||
# the debian-policy package.
|
|
||||||
|
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
configure)
|
configure)
|
||||||
@ -32,7 +22,25 @@ case "$1" in
|
|||||||
--group \
|
--group \
|
||||||
mobilizon
|
mobilizon
|
||||||
fi
|
fi
|
||||||
# sdf
|
|
||||||
|
# Use debconf values to initialize config.exs
|
||||||
|
db_get mobilizon/domain_name
|
||||||
|
sed -i "s/__DOMAIN_NAME__/${RET}/" /etc/mobilizon/config.exs
|
||||||
|
|
||||||
|
db_get mobilizon/listen_port
|
||||||
|
sed -i "s/__LISTEN_PORT__/${RET}/" /etc/mobilizon/config.exs
|
||||||
|
|
||||||
|
db_get mobilizon/db_host
|
||||||
|
sed -i "s/__DB_HOST__/${RET}/" /etc/mobilizon/config.exs
|
||||||
|
|
||||||
|
db_get mobilizon/db_name
|
||||||
|
sed -i "s/__DB_NAME__/${RET}/" /etc/mobilizon/config.exs
|
||||||
|
|
||||||
|
db_get mobilizon/db_username
|
||||||
|
sed -i "s/__DB_USERNAME__/${RET}/" /etc/mobilizon/config.exs
|
||||||
|
|
||||||
|
db_get mobilizon/db_userpass
|
||||||
|
sed -i "s/__DB_USERPASS__/${RET}/" /etc/mobilizon/config.exs
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
37
debian/templates
vendored
Normal file
37
debian/templates
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
Template: mobilizon/domain_name
|
||||||
|
Type: string
|
||||||
|
Default: mobilizon.localhost.localdomain
|
||||||
|
Description: Mobilizon's domain name
|
||||||
|
Your Mobilizon instance need a domain name.
|
||||||
|
.
|
||||||
|
This is the domain name users will have to type in their browser.
|
||||||
|
|
||||||
|
Template: mobilizon/listen_port
|
||||||
|
Type: string
|
||||||
|
Default: 4000
|
||||||
|
Description: Mobilizon's TCP port
|
||||||
|
Which TCP port to listen on.
|
||||||
|
|
||||||
|
Template: mobilizon/db_host
|
||||||
|
Type: string
|
||||||
|
Default: localhost
|
||||||
|
Description: Mobilizon's Postgresql database host
|
||||||
|
Specify where the postgresql database is hosted.
|
||||||
|
|
||||||
|
Template: mobilizon/db_name
|
||||||
|
Type: string
|
||||||
|
Default: mobilizon
|
||||||
|
Description: Mobilizon's Postgresql database name
|
||||||
|
Specify the name of the postgresql database.
|
||||||
|
|
||||||
|
Template: mobilizon/db_username
|
||||||
|
Type: string
|
||||||
|
Default: mobilizon
|
||||||
|
Description: Mobilizon's Postgresql database username
|
||||||
|
Specify the username to connect to the postgresql database.
|
||||||
|
|
||||||
|
Template: mobilizon/db_userpass
|
||||||
|
Type: password
|
||||||
|
Default:
|
||||||
|
Description: Mobilizon's Postgresql database user password
|
||||||
|
Specify the password to connect to the postgresql database.
|
Loading…
Reference in New Issue
Block a user