diff --git a/pica-mobilizon/app/Dockerfile b/pica-mobilizon/app/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..7289efb310156eccb4644e25bce14da75d1ab67c
--- /dev/null
+++ b/pica-mobilizon/app/Dockerfile
@@ -0,0 +1,52 @@
+# inspired from https://framagit.org/Windyo/mobilizon/-/blob/a1e0b9730e9c63de6058c3f5d803b2743efafed4/docker/app/Dockerfile
+
+# **** Temporary docker image ****
+# elixir version MUST match
+FROM elixir:1.10.4 as builder
+ARG MOBILIZON_GIT_URL
+ARG MOBILIZON_GIT_TAG
+ARG NODE_V
+ENV MIX_ENV prod
+ENV INSTANCE_CONFIG prod
+RUN apt-get update -y \
+	&& apt-get install -y apt-utils \
+	&& curl -sL https://deb.nodesource.com/setup_"$NODE_V".x | bash - \
+	&& apt-get install -y nodejs build-essential inotify-tools postgresql-client git curl gnupg xvfb libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 python3-pip cmake \
+	&& apt-get clean \
+	&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
+	&& npm install -g yarn wait-on
+RUN useradd -ms /bin/bash -p ! mobilizon
+USER mobilizon
+WORKDIR /home/mobilizon
+COPY ./prod.secret.exs /home/mobilizon/build/config/
+RUN git clone -b "$MOBILIZON_GIT_TAG" "$MOBILIZON_GIT_URL" ./build
+WORKDIR /home/mobilizon/build
+RUN mix local.hex --force \
+	&& mix local.rebar --force
+RUN mix deps.get
+RUN mix deps.compile
+RUN mix compile
+WORKDIR /home/mobilizon/build/js
+RUN yarn install \
+	&& yarn run build
+WORKDIR /home/mobilizon/build
+RUN rm -rf ./.dockerignore ./.gitignore ./.gitlab-ci.yml ./CHANGELOG.md ./CONTRIBUTING.md ./docker ./docker-compose.test.yml ./docker-compose.yml ./Dockerfile ./docs ./js ./Makefile ./README.md ./SECURITY.md ./setup_db.psql ./support \
+        && curl https://dbip.mirror.framasoft.org/files/dbip-city-lite-latest.mmdb --output GeoLite2-City.mmdb -s \
+        && mv GeoLite2-City.mmdb /home/mobilizon/build/priv/data/GeoLite2-City.mmdb
+
+# Final docker image
+FROM elixir:1.10.4-alpine
+ENV INIT=FALSE \
+	ADMIN_EMAIL=test@test.com \
+	ADMIN_PASSWORD=passwd \
+	MIX_ENV=prod \
+	INSTANCE_CONFIG=prod
+RUN addgroup -S mobilizongr && adduser -s /bin/bash -S mobilizon -G mobilizongr
+RUN apk update && apk add --update git && rm-rf /tmp/* /var/tmp/*
+COPY --from=builder /home/mobilizon/build/ /home/mobilizon/live/
+COPY --from=builder /home/mobilizon/.mix/ /home/mobilizon/.mix/
+COPY ./entrypoint.sh /home/mobilizon/entrypoint.sh
+RUN chmod +x /home/mobilizon/entrypoint.sh
+WORKDIR /home/mobilizon/live
+USER mobilizon
+ENTRYPOINT [ "/home/mobilizon/entrypoint.sh" ]
diff --git a/pica-mobilizon/app/entrypoint.sh b/pica-mobilizon/app/entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b8245708da86f7ede2f47b6522997d5eaad40d78
--- /dev/null
+++ b/pica-mobilizon/app/entrypoint.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+set -e
+export MIX_ENV=prod
+if [ "$INIT" = TRUE ]; then
+	echo "Initialization. Only run this once."
+	mix ecto.migrate 
+	mix mobilizon.users.new "$ADMIN_EMAIL" --admin --password "$ADMIN_PASSWORD" 
+	mix phx.server 
+else
+	echo "Running normal mode."
+	mix ecto.migrate --no-deps-check
+	mix phx.server --no-deps-check
+fi
+
+exec "$@"
diff --git a/pica-mobilizon/app/prod.secret.exs b/pica-mobilizon/app/prod.secret.exs
new file mode 100644
index 0000000000000000000000000000000000000000..a68297b00713d679ac7f808796a36fe583fa85f9
--- /dev/null
+++ b/pica-mobilizon/app/prod.secret.exs
@@ -0,0 +1,52 @@
+# Mobilizon instance configuration
+# Via Thomas Clavier
+
+# Warning : cfg is overrided by the ../docker-compose.yml and ../secrets/*.secrets files
+
+import Config
+
+config :mobilizon, Mobilizon.Web.Endpoint,
+   url: [host: System.get_env("MOBILIZON_INSTANCE_HOST", "mobilizon.lan")],
+   http: [port: System.get_env("MOBILIZON_INSTANCE_LISTEN_PORT", "4000")],
+   secret_key_base: System.get_env("MOBILIZON_SECRET_KEY_BASE", "ZcvexeC7cnwtKR8ADMBDwrYu2aYHUyjrOu4yA181Z112HNu/I5jyRleo4hoxOMqQ")
+
+config :mobilizon, Mobilizon.Web.Auth.Guardian,
+  secret_key: System.get_env("MOBILIZON_SECRET_KEY", "KsdUIvp6hQ7b97yxUZcDQyGH0g4LS3fF0OvIsIATpkKzd1MDvSS4KexWXsjXeMQZ")
+
+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"),
+  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_INSTANCE_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"),
+  pool_size: 10
+
+config :mobilizon, Mobilizon.Web.Email.Mailer,
+  adapter: Bamboo.SMTPAdapter,
+  server: System.get_env("MOBILIZON_SMTP_SERVER", "localhost"),
+  hostname: System.get_env("MOBILIZON_SMTP_HOSTNAME", "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),
+  # can be `:always` or `:never`
+  tls: :if_available,
+  allowed_tls_versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
+  # can be `true`
+  ssl: System.get_env("MOBILIZON_SMTP_SSL", "false"),
+  retries: 1,
+  # can be `true`
+  no_mx_lookups: false,
+  # can be `:always`. If your smtp relay requires authentication set it to `:always`.
+  auth: :if_available
diff --git a/pica-mobilizon/db/Dockerfile b/pica-mobilizon/db/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..ad867be9a5f1599a0f8b312f73b195f4c2b9b4c4
--- /dev/null
+++ b/pica-mobilizon/db/Dockerfile
@@ -0,0 +1,6 @@
+FROM postgres:12-alpine
+ARG POSTGRES_DB
+RUN apk update \
+    && apk add --update postgis \
+    && rm -rf /tmp/* /var/tmp/*
+RUN printf "\\c "$POSTGRES_DB" \n CREATE EXTENSION postgis; \n CREATE EXTENSION pg_trgm; \n CREATE EXTENSION unaccent;" > /docker-entrypoint-initdb.d/setup.sql
diff --git a/pica-mobilizon/secrets/mobilizon-app.secrets.example b/pica-mobilizon/secrets/mobilizon-app.secrets.example
index f0350a218f397b532fcda0402f90afb6c2e9bb8e..02c2ffd0ee605c0a0f97c41fb8b0a279e4a1e706 100644
--- a/pica-mobilizon/secrets/mobilizon-app.secrets.example
+++ b/pica-mobilizon/secrets/mobilizon-app.secrets.example
@@ -1,4 +1,3 @@
-
 INIT=FALSE
 ADMIN_EMAIL=your@email.com
 ADMIN_PASSWORD=yourpasswordtologin