From 261494cd53de2693d2d40b8e7d6c9c5b10e139f6 Mon Sep 17 00:00:00 2001
From: Mindstan <mindstan@hotmail.fr>
Date: Fri, 23 Oct 2020 21:40:32 +0200
Subject: [PATCH] [Mobilizon] Add docker-compose + secrets

---
 pica-mobilizon/docker-compose.yml             | 73 +++++++++++++++++++
 .../secrets/mobilizon-app.secrets.example     | 10 +++
 .../secrets/mobilizon-db.secrets.example      |  6 ++
 3 files changed, 89 insertions(+)
 create mode 100644 pica-mobilizon/docker-compose.yml
 create mode 100644 pica-mobilizon/secrets/mobilizon-app.secrets.example
 create mode 100644 pica-mobilizon/secrets/mobilizon-db.secrets.example

diff --git a/pica-mobilizon/docker-compose.yml b/pica-mobilizon/docker-compose.yml
new file mode 100644
index 00000000..646ad330
--- /dev/null
+++ b/pica-mobilizon/docker-compose.yml
@@ -0,0 +1,73 @@
+# inspired from https://framagit.org/Windyo/mobilizon/-/blob/a1e0b9730e9c63de6058c3f5d803b2743efafed4/docker/docker-compose.yml
+
+version: "3.7"
+
+networks:
+    proxy:
+      external: true
+    mobilizon:
+
+volumes:
+    mobilizon-data:
+        name: mobilizon-data
+    mobilizon-db:
+        name: mobilizon-db
+
+services:
+    mobilizon:
+        image: registry.picasoft.net/pica-mobilizon:1.0.0.rc4
+        build:
+            context: ./app
+            dockerfile: Dockerfile
+            args:
+                - NODE_V=14
+                - MOBILIZON_GIT_URL=https://framagit.org/framasoft/mobilizon.git
+                - MOBILIZON_GIT_TAG=1.0.0.rc4
+                - MIX_ENV=prod
+        container_name: mobilizon-app
+        volumes:
+            - mobilizon-data:/app
+            - /etc/localtime:/etc/localtime:ro
+        environment:
+            - MIX_ENV=prod
+            # setup the instance config
+            - MOBILIZON_INSTANCE_HOST=mobilizon.picasoft.net
+            - MOBILIZON_INSTANCE_NAME=Instance Mobilizon de Picasoft
+            - MOBILIZON_INSTANCE_REGISTRATIONS_OPEN=false
+            - MOBILIZON_INSTANCE_EMAIL=mobilizon-no-reply@picasoft.net
+            - MOBILIZON_DATABASE_HOST=mobilizon-db
+            # standard ports, don't really need changing
+            - MOBILIZON_DATABASE_PORT=5432
+            - MOBILIZON_INSTANCE_LISTEN_PORT=4000
+        env_file:
+            - ./secrets/mobilizon-db.secrets
+            - ./secrets/mobilizon-app.secrets
+        labels:
+            traefic.enable: false
+            traefik.http.routers.mobilizon-app.entrypoints: websecure
+            traefik.http.routers.mobilizon-app.rule: Host(`mobilizon.picasoft.net`)
+            traefik.http.services.mobilizon-app.loadbalancer.server.port: 4000
+        networks:
+            - proxy
+            - mobilizon
+        depends_on:
+            - mobilizon-db
+        restart: unless-stopped
+    
+    mobilizon-db:
+        image: registry.picasoft.net/pica-postgres-postgis:12-alpine
+        build:
+            context: ./db
+            dockerfile: Dockerfile
+            args:
+                - POSGRES_DB=postgres_mobilizon
+        container_name: mobilizon-db
+        volumes:
+            - mobilizon-db:/var/lib/postgresql/data
+            - /etc/localtime:/etc/localtime:ro
+        env_file:
+            - ./secrets/mobilizon-db.secrets
+        networks:
+            - mobilizon
+        restart: unless-stopped
+        
\ No newline at end of file
diff --git a/pica-mobilizon/secrets/mobilizon-app.secrets.example b/pica-mobilizon/secrets/mobilizon-app.secrets.example
new file mode 100644
index 00000000..f0350a21
--- /dev/null
+++ b/pica-mobilizon/secrets/mobilizon-app.secrets.example
@@ -0,0 +1,10 @@
+
+INIT=FALSE
+ADMIN_EMAIL=your@email.com
+ADMIN_PASSWORD=yourpasswordtologin
+MOBILIZON_SMTP_SERVER=host.fr
+MOBILIZON_SMTP_HOSTNAME=your.host.fr
+MOBILIZON_SMTP_PORT=25
+MOBILIZON_SMTP_USERNAME=your@email.com
+MOBILIZON_SMTP_PASSWORD=yourpasswordtologin
+MOBILIZON_SMTP_SSL=true
diff --git a/pica-mobilizon/secrets/mobilizon-db.secrets.example b/pica-mobilizon/secrets/mobilizon-db.secrets.example
new file mode 100644
index 00000000..d9d43fd0
--- /dev/null
+++ b/pica-mobilizon/secrets/mobilizon-db.secrets.example
@@ -0,0 +1,6 @@
+POSTGRES_DB=postgres_mobilizon
+POSTGRES_USER=mobilizon
+POSTGRES_PASSWORD=superSecretPsswrd
+MOBILIZON_DATABASE_DBNAME=postgres_mobilizon
+MOBILIZON_DATABASE_USERNAME=mobilizon
+MOBILIZON_DATABASE_PASSWORD=superSecretPsswrd
-- 
GitLab