From 5ecfebaa84edb04699ad096c28d1f07dab7f7a87 Mon Sep 17 00:00:00 2001 From: Kevin Heyer Date: Sat, 29 Mar 2025 15:02:09 +0000 Subject: [PATCH] add Monica container --- monica/.env-example | 9 ++++++++ monica/README.md | 0 monica/docker-compose.yml | 48 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 monica/.env-example create mode 100644 monica/README.md create mode 100644 monica/docker-compose.yml diff --git a/monica/.env-example b/monica/.env-example new file mode 100644 index 0000000..f92d47b --- /dev/null +++ b/monica/.env-example @@ -0,0 +1,9 @@ +# Monica +MONICA_VERSION=4.1.2 +APPKEY= # generate with echo -n 'base64:'; openssl rand -base64 32 +MONICA_DOMAIN=monica.example.com + +# MySQL +MONICA_MYSQL_VERSION=11 +MONICA_MYSQL_USER=monica_user +MONICA_MYSQL_PASSWORD=securepassword123 \ No newline at end of file diff --git a/monica/README.md b/monica/README.md new file mode 100644 index 0000000..e69de29 diff --git a/monica/docker-compose.yml b/monica/docker-compose.yml new file mode 100644 index 0000000..b054cdf --- /dev/null +++ b/monica/docker-compose.yml @@ -0,0 +1,48 @@ +--- +services: + app: + image: monica:${MONICA_VERSION:-latest} + container_name: monica + restart: always + networks: + - traefik + - monica + environment: + - APP_KEY=${MONICA_APPKEY:?error} + - DB_HOST=db + - DB_USERNAME=${MONICA_MYSQL_USER:?error} + - DB_PASSWORD=${MONICA_MYSQL_PASSWORD:?error} + labels: + - "traefik.enable=true" + - "traefik.docker.network=traefik" + - "traefik.http.routers.monica.entrypoints=http" + - "traefik.http.routers.monica.rule=Host(`${MONICA_DOMAIN:?error}`)" + - "traefik.http.middlewares.monica-https-redirect.redirectscheme.scheme=https" + - "traefik.http.routers.monica.middlewares=monica-https-redirect" + - "traefik.http.routers.monica-secure.entrypoints=https" + - "traefik.http.routers.monica-secure.rule=Host(`${MONICA_DOMAIN:?error}`)" + - "traefik.http.routers.monica-secure.tls=true" + - "traefik.http.routers.monica-secure.service=monica" + - "traefik.http.services.monica.loadbalancer.server.port=80" + volumes: + - data:/var/www/html/storage + depends_on: + - db + + db: + image: mariadb:${MONICA_MYSQL_VERSION:-11} + container_name: monica-db + restart: always + networks: + - monica + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=true + - MYSQL_DATABASE=monica + - MYSQL_USER=${MONICA_MYSQL_USER:?error} + - MYSQL_PASSWORD=${MONICA_MYSQL_PASSWORD:?error} + volumes: + - db:/var/lib/mysql + +volumes: + data: + db: \ No newline at end of file