Deploying Monica CRM with Nginx via Portainer



Deploying Monica CRM with Nginx via Portainer

Deploying Monica CRM with Nginx via Portainer

In this tutorial, we’ll walk through the process of deploying Monica CRM using Nginx, all managed via Portainer. From setting up the Monica docker container to configuring Nginx for SSL, we’ve got you covered. Follow the steps below to get started!

Monica Docker Container Setup:

Copy the Monica docker compose file from below.
Generate a 32-character encryption key using a password generator.
Update the APP_KEY, DB_PASSWORD, and APP_URL in the docker compose config.
Deploy the stack in Portainer.
Wait for the containers to launch and the database to initialize.

NGINX Proxy Docker Container Setup:

Ensure ports 80 and 443 are forwarded in your router or firewall.
Copy the nginx docker compose file from below.
Deploy the nginx stack in Portainer.
Access the nginx interface on port 81 and set up your proxy host.
Request an SSL certificate for secure access.

Monica Docker Compose:
GitHub.com/monicahq/docker

version: “3.4”

services:
app:
image: monica
depends_on:
– db
ports:
– 8080:80
environment:
– APP_KEY=
– DB_HOST=db
– DB_USERNAME=monicadb
– DB_PASSWORD=DBPASSWORD
– APP_URL=https://YOURURLHERE
– APP_ENV=production
volumes:
– data:/var/www/html/storage
restart: always

db:
image: mysql:5.7
environment:
– MYSQL_RANDOM_ROOT_PASSWORD=true
– MYSQL_DATABASE=monica
– MYSQL_USER=monicadb
– MYSQL_PASSWORD=DBPASSWORD
volumes:
– mysql:/var/lib/mysql
restart: always

volumes:
data:
name: data
mysql:
name: mysql

Nginx Docker Compose:

version: “2.2”

services:
proxy-manager:
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports:
– 80:80
– 81:81
– 443:443
volumes:
– nginxdata:/data
– nginxssl:/etc/letsencrypt

volumes:
nginxdata:
name: nginxdata
nginxssl:
name: nginxssl

#MonicaCRMSetup
#NginxDockerTutorial
#PortainerGuide
#SelfHostedCRM
#StevesTechStuff