Compare commits

..

2 commits

Author SHA1 Message Date
087151f0d6 create mobilizon config 2023-12-05 18:35:39 +01:00
8e9bf639f4 add hostname aliases within docker 2023-12-05 18:35:28 +01:00
2 changed files with 100 additions and 2 deletions

91
config.exs Normal file
View file

@ -0,0 +1,91 @@
# Mobilizon instance configuration
import Config
listen_ip = System.get_env("MOBILIZON_INSTANCE_LISTEN_IP", "0.0.0.0")
listen_ip =
case listen_ip |> to_charlist() |> :inet.parse_address() do
{:ok, listen_ip} -> listen_ip
_ -> raise "MOBILIZON_INSTANCE_LISTEN_IP does not match the expected IP format."
end
config :mobilizon, Mobilizon.Web.Endpoint,
server: true,
url: [host: System.get_env("MOBILIZON_INSTANCE_HOST", "mobilizon.lan")],
http: [
port: String.to_integer(System.get_env("MOBILIZON_INSTANCE_PORT", "4000")),
ip: listen_ip
],
secret_key_base: System.get_env("MOBILIZON_INSTANCE_SECRET_KEY_BASE", "changethis")
config :mobilizon, Mobilizon.Web.Auth.Guardian,
secret_key: System.get_env("MOBILIZON_INSTANCE_SECRET_KEY", "changethis")
config :mobilizon, :instance,
name: System.get_env("MOBILIZON_INSTANCE_NAME", "Mobilizon"),
description: "Change this to a proper description of your instance",
hostname: System.get_env("MOBILIZON_INSTANCE_HOST", "mobilizon.lan"),
registrations_open: System.get_env("MOBILIZON_INSTANCE_REGISTRATIONS_OPEN", "false") == "true",
demo: false,
allow_relay: true,
federating: true,
email_from: System.get_env("MOBILIZON_INSTANCE_EMAIL", "noreply@mobilizon.lan"),
email_reply_to: System.get_env("MOBILIZON_REPLY_EMAIL", "noreply@mobilizon.lan")
config :mobilizon, Mobilizon.Storage.Repo,
adapter: Ecto.Adapters.Postgres,
username: System.get_env("MOBILIZON_DATABASE_USERNAME", "username"),
password: System.get_env("MOBILIZON_DATABASE_PASSWORD", "password"),
database: System.get_env("MOBILIZON_DATABASE_DBNAME", "mobilizon"),
hostname: System.get_env("MOBILIZON_DATABASE_HOST", "postgres"),
port: System.get_env("MOBILIZON_DATABASE_PORT", "5432"),
ssl: System.get_env("MOBILIZON_DATABASE_SSL", "false") == "true",
pool_size: 10
config :mobilizon, Mobilizon.Web.Email.Mailer,
adapter: Swoosh.Adapters.SMTP,
relay: System.get_env("MOBILIZON_SMTP_SERVER", "localhost"),
port: System.get_env("MOBILIZON_SMTP_PORT", "25"),
username: System.get_env("MOBILIZON_SMTP_USERNAME", nil),
password: System.get_env("MOBILIZON_SMTP_PASSWORD", nil),
tls: :if_available,
allowed_tls_versions: [:"tlsv1.2", :"tlsv1.3"],
tls_options: [
verify: :verify_peer,
versions: [:"tlsv1.2", :"tlsv1.3"],
cacerts: :public_key.cacerts_get(),
server_name_indication: System.get_env("MOBILIZON_SMTP_SERVER", "localhost"),
depth: 99
],
ssl: System.get_env("MOBILIZON_SMTP_SSL", "false"),
retries: 1,
no_mx_lookups: false,
auth: :if_available
config :geolix,
databases: [
%{
id: :city,
adapter: Geolix.Adapter.MMDB2,
source: "/var/lib/mobilizon/geo_db/GeoLite2-City.mmdb"
}
]
config :mobilizon, Mobilizon.Web.Upload.Uploader.Local,
uploads: System.get_env("MOBILIZON_UPLOADS", "/var/lib/mobilizon/uploads")
config :mobilizon, :exports,
path: System.get_env("MOBILIZON_UPLOADS_EXPORTS", "/var/lib/mobilizon/uploads/exports"),
formats: [
Mobilizon.Service.Export.Participants.CSV,
Mobilizon.Service.Export.Participants.PDF,
Mobilizon.Service.Export.Participants.ODS
]
config :tz_world,
data_dir: System.get_env("MOBILIZON_TIMEZONES_DIR", "/var/lib/mobilizon/timezones")
config :tzdata, :data_dir, System.get_env("MOBILIZON_TIMEZONES_DIR", "/var/lib/mobilizon/tzdata")
config :logger, :console, format: "[$level] $message\n", level: :debug

View file

@ -3,7 +3,6 @@ version: "3.9"
services: services:
nginx: nginx:
image: nginx:latest image: nginx:latest
hostname: wp.lan
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
@ -14,6 +13,11 @@ services:
depends_on: depends_on:
- wordpress - wordpress
- mobilizon - mobilizon
networks:
default:
aliases:
- wp.lan
- mz.lan
mobilizon: mobilizon:
image: framasoft/mobilizon:3.2.0 image: framasoft/mobilizon:3.2.0
@ -42,7 +46,9 @@ services:
- MOBILIZON_SMTP_TLS - MOBILIZON_SMTP_TLS
volumes: volumes:
- ./public/uploads:/var/lib/mobilizon/uploads - ./public/uploads:/var/lib/mobilizon/uploads
# - ${PWD}/config.exs:/etc/mobilizon/config.exs:ro - /etc/ssl/certs:/etc/ssl/certs:ro
- /etc/ca-certificates/:/etc/ca-certificates/:ro
- ./config.exs:/etc/mobilizon/config.exs:ro
expose: expose:
- "4000" - "4000"
@ -65,6 +71,7 @@ services:
depends_on: depends_on:
- mariadb - mariadb
- phpmyadmin - phpmyadmin
- mobilizon
restart: always restart: always
expose: expose:
- "80" - "80"