forked from potsda.mn/mobilizon
Change configuration and docker compose
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
3c1b0448a8
commit
6885c73aa8
|
@ -10,13 +10,13 @@ GRAPHQL_API_FULL_PATH=""
|
|||
|
||||
# APP
|
||||
MIX_ENV=prod
|
||||
PORT=4002
|
||||
MOBILIZON_INSTANCE_PORT=4002
|
||||
MOBILIZON_LOGLEVEL="info"
|
||||
MOBILIZON_SECRET="<%= instance_secret %>"
|
||||
|
||||
# Database
|
||||
MOBILIZON_DATABASE_USERNAME="mobilizon"
|
||||
MOBILIZON_DATABASE_USERNAME="<%= database_username %>"
|
||||
MOBILIZON_DATABASE_PASSWORD="<%= database_password %>"
|
||||
MOBILIZON_DATABASE_DBNAME="mobilizon_prod"
|
||||
MOBILIZON_DATABASE_HOST="localhost"
|
||||
MOBILIZON_DATABASE_PORT=5432
|
||||
MOBILIZON_DATABASE_DBNAME="<%= database_name %>"
|
||||
MOBILIZON_DATABASE_HOST="<%= database_host %>"
|
||||
MOBILIZON_DATABASE_PORT=<%= database_port %>
|
|
@ -6,10 +6,16 @@ stages:
|
|||
|
||||
variables:
|
||||
MIX_ENV: "test"
|
||||
# DB Variables for Postgres / Postgis
|
||||
POSTGRES_DB: mobilizon_test
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: ""
|
||||
POSTGRES_HOST: postgres
|
||||
# DB Variables for Mobilizon
|
||||
MOBILIZON_DATABASE_USERNAME: $POSTGRES_USER
|
||||
MOBILIZON_DATABASE_PASSWORD: $POSTGRES_PASSWORD
|
||||
MOBILIZON_DATABASE_DBNAME: $POSTGRES_DB
|
||||
MOBILIZON_DATABASE_HOST: $POSTGRES_HOST
|
||||
GEOLITE_CITIES_PATH: "/usr/share/GeoIP/GeoLite2-City.mmdb"
|
||||
|
||||
js:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM elixir:1.6
|
||||
FROM elixir:1.7
|
||||
|
||||
RUN apt-get update && apt-get install -y build-essential inotify-tools postgresql-client
|
||||
|
||||
|
@ -8,4 +8,4 @@ COPY docker/entrypoint.sh /bin/entrypoint
|
|||
|
||||
WORKDIR /app
|
||||
|
||||
EXPOSE 4000
|
||||
EXPOSE 4000 4001 4002
|
|
@ -7,7 +7,13 @@ use Mix.Config
|
|||
# watchers to your application. For example, we use it
|
||||
# with brunch.io to recompile .js and .css sources.
|
||||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
http: [port: System.get_env("PORT") || 4001],
|
||||
http: [
|
||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4001
|
||||
],
|
||||
url: [
|
||||
host: System.get_env("MOBILIZON_INSTANCE_HOST") || "mobilizon.dev",
|
||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4001
|
||||
],
|
||||
debug_errors: true,
|
||||
code_reloader: true,
|
||||
check_origin: false,
|
||||
|
@ -53,8 +59,9 @@ config :mobilizon, Mobilizon.Mailer, adapter: Bamboo.LocalAdapter
|
|||
config :mobilizon, Mobilizon.Repo,
|
||||
adapter: Ecto.Adapters.Postgres,
|
||||
types: Mobilizon.PostgresTypes,
|
||||
username: System.get_env("POSTGRES_USER") || "elixir",
|
||||
password: System.get_env("POSTGRES_PASSWORD") || "elixir",
|
||||
database: System.get_env("POSTGRES_DATABASE") || "mobilizon_dev",
|
||||
hostname: System.get_env("POSTGRES_HOST") || "localhost",
|
||||
username: System.get_env("MOBILIZON_DATABASE_USERNAME") || "mobilizon",
|
||||
password: System.get_env("MOBILIZON_DATABASE_PASSWORD") || "mobilizon",
|
||||
database: System.get_env("MOBILIZON_DATABASE_DBNAME") || "mobilizon_dev",
|
||||
hostname: System.get_env("MOBILIZON_DATABASE_HOST") || "localhost",
|
||||
port: System.get_env("MOBILIZON_DATABASE_PORT") || "5432",
|
||||
pool_size: 10
|
||||
|
|
|
@ -16,8 +16,11 @@ use Mix.Config
|
|||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
load_from_system_env: true,
|
||||
url: [
|
||||
host: System.get_env("MOBILIZON_INSTANCE_HOST") || "example.com",
|
||||
port: 80
|
||||
host: System.get_env("MOBILIZON_INSTANCE_HOST") || "mobilizon.me",
|
||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4000
|
||||
],
|
||||
http: [
|
||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4000
|
||||
],
|
||||
secret_key_base:
|
||||
System.get_env("MOBILIZON_SECRET") || "ThisShouldBeAVeryStrongStringPleaseReplaceMe",
|
||||
|
@ -26,6 +29,7 @@ config :mobilizon, MobilizonWeb.Endpoint,
|
|||
# Configure your database
|
||||
config :mobilizon, Mobilizon.Repo,
|
||||
adapter: Ecto.Adapters.Postgres,
|
||||
types: Mobilizon.PostgresTypes,
|
||||
username: System.get_env("MOBILIZON_DATABASE_USERNAME") || "mobilizon",
|
||||
password: System.get_env("MOBILIZON_DATABASE_PASSWORD") || "mobilizon",
|
||||
database: System.get_env("MOBILIZON_DATABASE_DBNAME") || "mobilizon_prod",
|
||||
|
|
|
@ -3,7 +3,13 @@ use Mix.Config
|
|||
# We don't run a server during test. If one is required,
|
||||
# you can enable the server option below.
|
||||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
http: [port: 4001],
|
||||
http: [
|
||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4002
|
||||
],
|
||||
url: [
|
||||
host: System.get_env("MOBILIZON_INSTANCE_HOST") || "mobilizon.test",
|
||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4002
|
||||
],
|
||||
server: false
|
||||
|
||||
# Print only warnings and errors during test
|
||||
|
@ -15,10 +21,11 @@ config :logger,
|
|||
# Configure your database
|
||||
config :mobilizon, Mobilizon.Repo,
|
||||
adapter: Ecto.Adapters.Postgres,
|
||||
username: System.get_env("POSTGRES_USER") || "elixir",
|
||||
password: System.get_env("POSTGRES_PASSWORD") || "elixir",
|
||||
database: "mobilizon_test",
|
||||
hostname: System.get_env("POSTGRES_HOST") || "localhost",
|
||||
types: Mobilizon.PostgresTypes,
|
||||
username: System.get_env("MOBILIZON_DATABASE_USERNAME") || "mobilizon",
|
||||
password: System.get_env("MOBILIZON_DATABASE_PASSWORD") || "mobilizon",
|
||||
database: System.get_env("MOBILIZON_DATABASE_DBNAME") || "mobilizon_test",
|
||||
hostname: System.get_env("MOBILIZON_DATABASE_HOST") || "localhost",
|
||||
pool: Ecto.Adapters.SQL.Sandbox,
|
||||
types: Mobilizon.PostgresTypes
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ services:
|
|||
postgres:
|
||||
container_name: mobilizon_db
|
||||
restart: unless-stopped
|
||||
image: mdillon/postgis:10
|
||||
image: mdillon/postgis:11
|
||||
environment:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_DB: mobilizon_dev
|
||||
|
@ -27,14 +27,19 @@ services:
|
|||
volumes:
|
||||
- '.:/app'
|
||||
ports:
|
||||
- "4000:4000"
|
||||
- "4000:4001"
|
||||
depends_on:
|
||||
- postgres
|
||||
environment:
|
||||
# Environment: Prod when ready
|
||||
MIX_ENV: dev
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_DATABASE: mobilizon_dev
|
||||
POSTGRES_HOST: postgres
|
||||
PORT: 4000
|
||||
# Instance
|
||||
MOBILIZON_INSTANCE_NAME: My Mobilizon Instance
|
||||
MOBILIZON_INSTANCE_HOST: mobilizon.me
|
||||
MOBILIZON_INSTANCE_EMAIL: noreply@mobilizon.me
|
||||
MOBILIZON_INSTANCE_REGISTRATIONS_OPEN: "false"
|
||||
MOBILIZON_DATABASE_PASSWORD: postgres
|
||||
MOBILIZON_DATABASE_USERNAME: postgres
|
||||
MOBILIZON_DATABASE_DBNAME: mobilizon_dev
|
||||
MOBILIZON_DATABASE_HOST: postgres
|
||||
entrypoint: entrypoint
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
mix deps.get
|
||||
|
||||
# Wait for Postgres to become available.
|
||||
until PGPASSWORD=$POSTGRES_PASSWORD psql -h postgres -U "postgres" -c '\q' 2>/dev/null; do
|
||||
until PGPASSWORD=$MOBILIZON_DATABASE_PASSWORD psql -h $MOBILIZON_DATABASE_HOST -U $MOBILIZON_DATABASE_USERNAME -c '\q' 2>/dev/null; do
|
||||
>&2 echo "Postgres is unavailable - sleeping"
|
||||
sleep 1
|
||||
done
|
||||
|
|
|
@ -66,7 +66,10 @@ defmodule MobilizonWeb.Endpoint do
|
|||
"""
|
||||
def init(_key, config) do
|
||||
if config[:load_from_system_env] do
|
||||
port = System.get_env("PORT") || raise "expected the PORT environment variable to be set"
|
||||
port =
|
||||
System.get_env("MOBILIZON_INSTANCE_PORT") ||
|
||||
raise "expected the MOBILIZON_INSTANCE_PORT environment variable to be set"
|
||||
|
||||
{:ok, Keyword.put(config, :http, [:inet6, port: port])}
|
||||
else
|
||||
{:ok, config}
|
||||
|
|
Loading…
Reference in a new issue