parent
78fb46c35d
commit
da94dbd1d5
@ -0,0 +1,62 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
mobilizon:
|
||||||
|
image: framasoft/mobilizon
|
||||||
|
container_name: mobilizon
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./data/mobilizon/uploads:/var/lib/mobilizon/uploads
|
||||||
|
- ./mobilizon/config.exs:/etc/mobilizon/config.exs:ro
|
||||||
|
environment:
|
||||||
|
- KEYCLOAK_HOSTNAME=${KEYCLOAK_HOSTNAME}.${DOMAIN_NAME}
|
||||||
|
- REALM=${REALM}
|
||||||
|
- MOBILIZON_INSTANCE_NAME=${MOBILIZON_HOSTNAME}.${DOMAIN_NAME}
|
||||||
|
- MOBILIZON_INSTANCE_HOST=${MOBILIZON_HOSTNAME}.${DOMAIN_NAME}
|
||||||
|
- MOBILIZON_INSTANCE_SECRET_KEY_BASE=${MOBILIZON_ADMIN_PASSWORD}
|
||||||
|
- MOBILIZON_INSTANCE_SECRET_KEY=${MOBILIZON_SESSION_SECRET}
|
||||||
|
- MOBILIZON_CLIENT_SECRET=${MOBILIZON_CLIENT_SECRET}
|
||||||
|
- MOBILIZON_INSTANCE_EMAIL=events@${DOMAIN_NAME}
|
||||||
|
- MOBILIZON_REPLY_EMAIL=noreply@${DOMAIN_NAME}
|
||||||
|
- MOBILIZON_SMTP_SERVER=${SMTP_SERVER}
|
||||||
|
- MOBILIZON_SMTP_PORT=${SMTP_PORT}
|
||||||
|
- MOBILIZON_SMTP_USERNAME=${SMTP_USER}
|
||||||
|
- MOBILIZON_SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||||
|
- MOBILIZON_SMTP_SSL=true
|
||||||
|
- MOBILIZON_DATABASE_USERNAME=mobilizon
|
||||||
|
- MOBILIZON_DATABASE_PASSWORD=mobilizon
|
||||||
|
- MOBILIZON_DATABASE_DBNAME=mobilizon
|
||||||
|
- MOBILIZON_DATABASE_HOST=mobilizon-db
|
||||||
|
- MOBILIZON_INSTANCE_REGISTRATIONS_OPEN=false
|
||||||
|
- MOBILIZON_INSTANCE_PORT=7000
|
||||||
|
user: root
|
||||||
|
entrypoint:
|
||||||
|
- "/bin/sh"
|
||||||
|
- "-c"
|
||||||
|
- "chmod 777 /var/lib/mobilizon/uploads && exec su -p nobody -s /bin/sh /docker-entrypoint.sh"
|
||||||
|
|
||||||
|
# ports:
|
||||||
|
# - "7000:7000"
|
||||||
|
|
||||||
|
mobilizon-db:
|
||||||
|
image: postgis/postgis:13-3.1
|
||||||
|
container_name: mobilizon-db
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./data/mobilizon/db:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=mobilizon
|
||||||
|
- POSTGRES_PASSWORD=mobilizon
|
||||||
|
- POSTGRES_DB=mobilizon
|
||||||
|
|
||||||
|
# add the nginx configuration into the nginx volume
|
||||||
|
nginx:
|
||||||
|
volumes:
|
||||||
|
- ./mobilizon/nginx.conf:/etc/nginx/templates/mobilizon.conf.template:ro
|
||||||
|
|
||||||
|
# add the client secrets to the keycloak-setup volume
|
||||||
|
keycloak-setup:
|
||||||
|
env_file:
|
||||||
|
- data/mobilizon/secrets
|
||||||
|
volumes:
|
||||||
|
- ./mobilizon/keycloak.sh:/keycloak-setup/mobilizon.sh:ro
|
@ -1,26 +0,0 @@
|
|||||||
version: "3"
|
|
||||||
|
|
||||||
services:
|
|
||||||
mobilizon:
|
|
||||||
image: framasoft/mobilizon
|
|
||||||
restart: always
|
|
||||||
env_file:
|
|
||||||
- ../env.production
|
|
||||||
- ./env.production
|
|
||||||
- ../data/mobilizon/env.secrets
|
|
||||||
volumes:
|
|
||||||
- ../data/mobilizon/uploads:/var/lib/mobilizon/uploads
|
|
||||||
- ./config.exs:/etc/mobilizon/config.exs:ro
|
|
||||||
# - ${PWD}/GeoLite2-City.mmdb:/var/lib/mobilizon/geo_db/GeoLite2-City.mmdb
|
|
||||||
ports:
|
|
||||||
- "7000:7000"
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: postgis/postgis:13-3.1
|
|
||||||
restart: always
|
|
||||||
volumes:
|
|
||||||
- ../data/mobilizon/db:/var/lib/postgresql/data
|
|
||||||
environment:
|
|
||||||
- POSTGRES_USER=mobilizon
|
|
||||||
- POSTGRES_PASSWORD=mobilizon
|
|
||||||
- POSTGRES_DB=mobilizon
|
|
@ -1,24 +0,0 @@
|
|||||||
# Database settings
|
|
||||||
POSTGRES_USER=mobilizon
|
|
||||||
POSTGRES_PASSWORD=changethis
|
|
||||||
POSTGRES_DB=mobilizon
|
|
||||||
MOBILIZON_DATABASE_USERNAME=mobilizon
|
|
||||||
MOBILIZON_DATABASE_PASSWORD=mobilizon
|
|
||||||
MOBILIZON_DATABASE_DBNAME=mobilizon
|
|
||||||
MOBILIZON_DATABASE_HOST=db
|
|
||||||
|
|
||||||
|
|
||||||
# Instance configuration
|
|
||||||
MOBILIZON_INSTANCE_REGISTRATIONS_OPEN=false
|
|
||||||
MOBILIZON_INSTANCE_PORT=7000
|
|
||||||
|
|
||||||
MOBILIZON_INSTANCE_EMAIL=noreply@mobilizon.lan
|
|
||||||
MOBILIZON_REPLY_EMAIL=contact@mobilizon.lan
|
|
||||||
|
|
||||||
# Email settings
|
|
||||||
MOBILIZON_SMTP_SERVER=localhost
|
|
||||||
MOBILIZON_SMTP_PORT=25
|
|
||||||
MOBILIZON_SMTP_HOSTNAME=localhost
|
|
||||||
MOBILIZON_SMTP_USERNAME=noreply@mobilizon.lan
|
|
||||||
MOBILIZON_SMTP_PASSWORD=password
|
|
||||||
MOBILIZON_SMTP_SSL=false
|
|
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
# Setup the OAuth client connection
|
||||||
|
|
||||||
|
client-create mobilizon "$MOBILIZON_HOSTNAME.$DOMAIN_NAME" "$MOBILIZON_CLIENT_SECRET" </dev/null
|
@ -1,62 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
die() { echo >&2 "mobilizon: $@" ; exit 1 ; }
|
|
||||||
|
|
||||||
DIRNAME="$(dirname $0)"
|
|
||||||
cd "$DIRNAME"
|
|
||||||
source ../env.production || die "no top level env?"
|
|
||||||
source env.production || die "no local env?"
|
|
||||||
source ../env.smtp 2>/dev/null
|
|
||||||
|
|
||||||
DATA="../data/mobilizon"
|
|
||||||
SECRETS="$DATA/env.secrets"
|
|
||||||
|
|
||||||
if [ -r "$SECRETS" ]; then
|
|
||||||
docker-compose up -d || die "unable to start"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker-compose down 2>/dev/null
|
|
||||||
|
|
||||||
CLIENT_SECRET="$(openssl rand -hex 20)"
|
|
||||||
|
|
||||||
mkdir -p "$DATA/uploads"
|
|
||||||
chmod 777 "$DATA/uploads"
|
|
||||||
|
|
||||||
mkdir -p "$(dirname "$SECRETS")"
|
|
||||||
cat <<EOF > "$SECRETS"
|
|
||||||
# DO NOT CHECK IN
|
|
||||||
MOBILIZON_INSTANCE_NAME=${DOMAIN_NAME}
|
|
||||||
MOBILIZON_INSTANCE_HOST=${MOBILIZON_HOSTNAME}
|
|
||||||
MOBILIZON_INSTANCE_SECRET_KEY_BASE=$(openssl rand -hex 20)
|
|
||||||
MOBILIZON_INSTANCE_SECRET_KEY=$(openssl rand -hex 20)
|
|
||||||
MOBILIZON_CLIENT_SECRET=${CLIENT_SECRET}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if [ -n "$SMTP_SERVER" ]; then
|
|
||||||
cat <<EOF >> "$SECRETS"
|
|
||||||
MOBILIZON_INSTANCE_EMAIL=events@${DOMAIN_NAME}
|
|
||||||
MOBILIZON_REPLY_EMAIL=noreply@${DOMAIN_NAME}
|
|
||||||
MOBILIZON_SMTP_SERVER=${SMTP_SERVER}
|
|
||||||
MOBILIZON_SMTP_PORT=${SMTP_PORT}
|
|
||||||
MOBILIZON_SMTP_USERNAME=${SMTP_USER}
|
|
||||||
MOBILIZON_SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
../keycloak/client-delete mobilizon
|
|
||||||
|
|
||||||
../keycloak/client-create <<EOF || die "unable to create client"
|
|
||||||
{
|
|
||||||
"clientId": "mobilizon",
|
|
||||||
"rootUrl": "https://$MOBILIZON_HOSTNAME",
|
|
||||||
"adminUrl": "https://$MOBILIZON_HOSTNAME",
|
|
||||||
"redirectUris": [ "https://$MOBILIZON_HOSTNAME/*" ],
|
|
||||||
"webOrigins": [ "https://$MOBILIZON_HOSTNAME" ],
|
|
||||||
"clientAuthenticatorType": "client-secret",
|
|
||||||
"secret": "$CLIENT_SECRET"
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
docker-compose up -d || die "unable to start container"
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in new issue