wip
This commit is contained in:
parent
548e012b7f
commit
0198cbf209
6 changed files with 115 additions and 33 deletions
13
Dockerfile-Mobilizon
Normal file
13
Dockerfile-Mobilizon
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
FROM framasoft/mobilizon:3.2.0
|
||||||
|
|
||||||
|
# USER root
|
||||||
|
|
||||||
|
# # Copy your local SSL certificate
|
||||||
|
# COPY certs/mkcert_development_CA_216145382363585732815310515133172061250.pem /usr/local/share/ca-certificates/my-cert1.crt
|
||||||
|
# COPY certs/mkcert_development_CA_251584780348326781939128892019987660627.pem /usr/local/share/ca-certificates/my-cert2.crt
|
||||||
|
|
||||||
|
# RUN cat /usr/local/share/ca-certificates/my-cert1.crt >> /etc/ssl/certs/ca-certificates.crt && \
|
||||||
|
# cat /usr/local/share/ca-certificates/my-cert2.crt >> /etc/ssl/certs/ca-certificates.crt && \
|
||||||
|
# update-ca-certificates
|
||||||
|
|
||||||
|
# USER nobody
|
28
Makefile
Normal file
28
Makefile
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
init:
|
||||||
|
@bash mobilizon/docker/message.sh "Start"
|
||||||
|
make start
|
||||||
|
|
||||||
|
setup: stop
|
||||||
|
@bash mobilizon/docker/message.sh "Compiling everything"
|
||||||
|
docker-compose run --rm mobilizon bash -c 'mix deps.get; npm ci; npm run build:pictures; mix ecto.create; mix ecto.migrate'
|
||||||
|
migrate:
|
||||||
|
docker-compose run --rm mobilizon mix ecto.migrate
|
||||||
|
logs:
|
||||||
|
docker-compose logs -f
|
||||||
|
start: stop
|
||||||
|
@bash mobilizon/docker/message.sh "Starting Mobilizon with Docker"
|
||||||
|
docker-compose up -d
|
||||||
|
@bash mobilizon/docker/message.sh "Docker server started"
|
||||||
|
stop:
|
||||||
|
@bash mobilizon/docker/message.sh "Stopping Mobilizon"
|
||||||
|
docker-compose down
|
||||||
|
@bash mobilizon/docker/message.sh "Mobilizon is stopped"
|
||||||
|
test: stop
|
||||||
|
@bash mobilizon/docker/message.sh "Running tests"
|
||||||
|
docker-compose -f docker-compose.yml -f docker-compose.test.yml run mobilizon mix prepare_test
|
||||||
|
docker-compose -f docker-compose.yml -f docker-compose.test.yml run mobilizon mix test $(only)
|
||||||
|
@bash mobilizon/docker/message.sh "Done running tests"
|
||||||
|
format:
|
||||||
|
docker-compose run --rm mobilizon bash -c "mix format && mix credo --strict"
|
||||||
|
@bash mobilizon/docker/message.sh "Code is now ready to commit :)"
|
||||||
|
target: init
|
20
README.md
20
README.md
|
@ -3,21 +3,29 @@
|
||||||
- docker
|
- docker
|
||||||
- `mkcert` to handle locally trusted SSL certificates.
|
- `mkcert` to handle locally trusted SSL certificates.
|
||||||
|
|
||||||
2. Generate a local certificate which is used for both WordPress and Mobilizon.
|
2. Clone mobilizon source
|
||||||
|
```bash
|
||||||
|
git clone https://framagit.org/framasoft/mobilizon.git
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Generate a local certificate which is used for both WordPress and Mobilizon.
|
||||||
```bash
|
```bash
|
||||||
mkcert -install -cert-file certs/lan.pem -key-file certs/lan-key.pem wp.lan mz.lan
|
mkcert -install -cert-file certs/lan.pem -key-file certs/lan-key.pem wp.lan mz.lan
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Add the two dummy domains to your /etc/hosts file:
|
4. Add the two dummy domains to the /etc/hosts file on your machine:
|
||||||
```
|
```
|
||||||
127.0.0.1 wp.lan
|
127.0.0.1 wp.lan
|
||||||
127.0.0.1 mz.lan
|
127.0.0.1 mz.lan
|
||||||
```
|
```
|
||||||
4. Start the docker-container via `docker-compose up -d`
|
|
||||||
|
|
||||||
5. Go to https://wp.lan and setup WordPress
|
5. Build mobilizon via running `make setup``
|
||||||
|
|
||||||
6. Create an administrator user for Mobilizon
|
5. Start the docker containers via `docker-compose up -d`
|
||||||
|
|
||||||
|
6. Go to https://wp.lan and setup WordPress
|
||||||
|
|
||||||
|
7. Create an administrator user for Mobilizon
|
||||||
```
|
```
|
||||||
docker-compose exec mobilizon mobilizon_ctl users.new "your@email.com" --admin --password "Y0urP4ssw0rd"
|
docker-compose exec mobilizon mobilizon_ctl users.new "your@email.com" --admin --password "abc"
|
||||||
```
|
```
|
||||||
|
|
|
@ -20,42 +20,45 @@ services:
|
||||||
- mz.lan
|
- mz.lan
|
||||||
|
|
||||||
mobilizon:
|
mobilizon:
|
||||||
image: framasoft/mobilizon:3.2.0
|
container_name: mobilizon
|
||||||
env_file:
|
restart: unless-stopped
|
||||||
- .env
|
build:
|
||||||
environment:
|
context: ./mobilizon
|
||||||
- MOBILIZON_INSTANCE_NAME
|
dockerfile: Dockerfile
|
||||||
- MOBILIZON_INSTANCE_HOST
|
|
||||||
- MOBILIZON_INSTANCE_PORT
|
|
||||||
- MOBILIZON_INSTANCE_EMAIL
|
|
||||||
- MOBILIZON_REPLY_EMAIL
|
|
||||||
- MOBILIZON_ADMIN_EMAIL
|
|
||||||
- MOBILIZON_INSTANCE_REGISTRATIONS_OPEN
|
|
||||||
- MOBILIZON_DATABASE_USERNAME=${POSTGRES_USER}
|
|
||||||
- MOBILIZON_DATABASE_PASSWORD=${POSTGRES_PASSWORD}
|
|
||||||
- MOBILIZON_DATABASE_DBNAME=${POSTGRES_DB}
|
|
||||||
- MOBILIZON_DATABASE_HOST=mobilizon_db
|
|
||||||
- MOBILIZON_INSTANCE_SECRET_KEY_BASE
|
|
||||||
- MOBILIZON_INSTANCE_SECRET_KEY
|
|
||||||
- MOBILIZON_SMTP_SERVER
|
|
||||||
- MOBILIZON_SMTP_HOSTNAME
|
|
||||||
- MOBILIZON_SMTP_PORT
|
|
||||||
- MOBILIZON_SMTP_SSL
|
|
||||||
- MOBILIZON_SMTP_USERNAME
|
|
||||||
- MOBILIZON_SMTP_PASSWORD
|
|
||||||
- MOBILIZON_SMTP_TLS
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./public/uploads:/var/lib/mobilizon/uploads
|
- "./mobilizon:/app"
|
||||||
- /etc/ssl/certs:/etc/ssl/certs:ro
|
- /etc/ssl/certs:/etc/ssl/certs:ro
|
||||||
- /etc/ca-certificates/:/etc/ca-certificates/:ro
|
- /etc/ca-certificates/:/etc/ca-certificates/:ro
|
||||||
- ./config.exs:/etc/mobilizon/config.exs:ro
|
ports:
|
||||||
|
- 4000:4000
|
||||||
|
- 5173:5173
|
||||||
|
depends_on:
|
||||||
|
- mobilizon_db
|
||||||
|
environment:
|
||||||
|
MIX_ENV: "dev"
|
||||||
|
DOCKER: "true"
|
||||||
|
MOBILIZON_INSTANCE_NAME: My Local Mobilizon
|
||||||
|
MOBILIZON_INSTANCE_HOST: mz.lan
|
||||||
|
MOBILIZON_INSTANCE_HOST_PORT: 4000
|
||||||
|
MOBILIZON_INSTANCE_PORT: 4000
|
||||||
|
MOBILIZON_INSTANCE_EMAIL: noreply@mobilizon.me
|
||||||
|
MOBILIZON_INSTANCE_REGISTRATIONS_OPEN: "true"
|
||||||
|
MOBILIZON_DATABASE_PASSWORD: mobilizon
|
||||||
|
MOBILIZON_DATABASE_USERNAME: mobilizon
|
||||||
|
MOBILIZON_DATABASE_DBNAME: mobilizon
|
||||||
|
MOBILIZON_DATABASE_HOST: mobilizon_db
|
||||||
|
MOBILIZON_DATABASE_PORT: 5432
|
||||||
|
VITE_HOST: ${VITE_HOST:-0.0.0.0}
|
||||||
|
command: sh -c "mix phx.server"
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
expose:
|
expose:
|
||||||
- "4000"
|
- "4000"
|
||||||
|
|
||||||
wordpress:
|
wordpress:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile-WordPress
|
||||||
volumes:
|
volumes:
|
||||||
- ./wordpress:/var/www/html
|
- ./wordpress:/var/www/html
|
||||||
- /etc/ssl/certs:/etc/ssl/certs:ro
|
- /etc/ssl/certs:/etc/ssl/certs:ro
|
||||||
|
@ -93,6 +96,7 @@ services:
|
||||||
|
|
||||||
mobilizon_db:
|
mobilizon_db:
|
||||||
image: postgis/postgis:15-3.4
|
image: postgis/postgis:15-3.4
|
||||||
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- mobilizon_database_data:/var/lib/postgresql/data
|
- mobilizon_database_data:/var/lib/postgresql/data
|
||||||
environment:
|
environment:
|
||||||
|
|
29
rootCA.pem
Normal file
29
rootCA.pem
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFADCCA2igAwIBAgIRAL1Fd1kL693kmpgG3ImrP1MwDQYJKoZIhvcNAQELBQAw
|
||||||
|
gZcxHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTE2MDQGA1UECwwtYW5k
|
||||||
|
cmVAYW5kcmUtbWVucmF0aCAoQW5kcsOpIE1lbnJhdGggKFByaXZhdCkpMT0wOwYD
|
||||||
|
VQQDDDRta2NlcnQgYW5kcmVAYW5kcmUtbWVucmF0aCAoQW5kcsOpIE1lbnJhdGgg
|
||||||
|
KFByaXZhdCkpMB4XDTIzMTIwNTE0MjQ1OFoXDTMzMTIwNTE0MjQ1OFowgZcxHjAc
|
||||||
|
BgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTE2MDQGA1UECwwtYW5kcmVAYW5k
|
||||||
|
cmUtbWVucmF0aCAoQW5kcsOpIE1lbnJhdGggKFByaXZhdCkpMT0wOwYDVQQDDDRt
|
||||||
|
a2NlcnQgYW5kcmVAYW5kcmUtbWVucmF0aCAoQW5kcsOpIE1lbnJhdGggKFByaXZh
|
||||||
|
dCkpMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvNixWV9EpcugVQx9
|
||||||
|
vqVbJHQEsqQHrPvVMyhNt9YblpPgKZ83ka0/PRF0yBjZIS5hTSMKgw8E7hZrC8x0
|
||||||
|
urIGkQpZh4TAEha9ZOA8udC32SFDUwwyGYYTyLUJEVwr1fZ7x6ChfLBlrUdTpmqa
|
||||||
|
TnrgP7KzYGKTcft/IJvZaeyGhKguvt6RIsfVX3sB0cO627axObH4ugv4eLlLDz5i
|
||||||
|
gtjqmGE6SdkxF+6B//8Pc8N95KKq8o+q7+HQwrCOwjpy/qNDM/5czNRAYvfZlpsp
|
||||||
|
r1hyPobrSGvhtZeAPmOvgu5lKRQarcffvJaIzUUVKbzz8A5LckAFNtJiY/uGXBGT
|
||||||
|
C5/kr47s/1jCNECu4UeS8Iznk1YQJAGWdMIHEDBjkIkMt1RHvc+SOn7ADJdu2a2y
|
||||||
|
q5JbbReLBK1x3vs6XMsJl0qNip59VUCsnmvAsquujbD3sCSXcx7kre2KfKGLLxz3
|
||||||
|
PDh6Q1PSB+JfRmzlE/XHtMzFt1QgzmP2juZ/kUPhbZkfeMp5AgMBAAGjRTBDMA4G
|
||||||
|
A1UdDwEB/wQEAwICBDASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSp+OhG
|
||||||
|
6Ob3x1b5/vFGO5M8mcj58jANBgkqhkiG9w0BAQsFAAOCAYEASttRwchg+YGWrQCy
|
||||||
|
kXL+e/BsvJEEainyaqKPKpqxxprwiGjmc3++p2AQ9lfbfziJjjoa13NPwiwWt8GC
|
||||||
|
gxbTP28B7NRHKVx2Ub9b+nl+ca9KwLQulurxiP2Wez7ln+Gf/YnzFHHzX7N5TgzG
|
||||||
|
REdSXIlRtcNhuxFWHa0B2Qxtlr9hJyY5kZFFKXlwkw8VHbhpguizVnwy0rwnkKwu
|
||||||
|
13tFYuBPQDmyacy36Bki1UxW2K9JogDVNfTbzrDev4D7q7bBskCokvBGJflinV+O
|
||||||
|
3IN1OQrwfEa7RsgMvb8lmk24lHqqkIjpDsi/MqHM+1YSx6b3+PYD7LcdEtDLVQDL
|
||||||
|
3hM/TmKVSub+lH7irpgEQmT9fIMBKMiaV0j9bUurXgVu/mYVmQbCzEgd9oNpslOu
|
||||||
|
Zf8ke6nNm24oSGKju790N5bx7fLCCAGVnUF51UBTmVymOXAv2q7QfQY7WXO3hbTl
|
||||||
|
vZwkCMVn4t6gy8TBcQhSl/0OFFTdOHTYueRA9RoBzyMCo9Uk
|
||||||
|
-----END CERTIFICATE-----
|
Loading…
Reference in a new issue