version: "3.9" services: nginx: image: nginx:latest ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./certs/:/etc/nginx/certs/:ro restart: always depends_on: - wordpress - mobilizon networks: default: aliases: - wp.lan - mz.lan postgres: container_name: mobilizon_db restart: unless-stopped image: postgis/postgis environment: - POSTGRES_USER=mobilizon - POSTGRES_PASSWORD=mobilizon - POSTGRES_DB=mobilizon - POSTGRES_PORT=5432 volumes: - mobilizon_database_data:/var/lib/postgresql/data ports: - "5432:5432" mobilizon: container_name: mobilizon restart: unless-stopped build: context: ./mobilizon/mobilizon dockerfile: Dockerfile volumes: - "./mobilizon/mobilizon:/app" - "./mobilizon/dev.exs:/app/config/dev.exs" - "./certs/:/app/priv/certs/:ro" - "/etc/ssl/certs/ca-certificates.crt:/app/priv/ca-bundle.crt:ro" depends_on: - postgres environment: MIX_ENV: "dev" DOCKER: "true" MOBILIZON_INSTANCE_NAME: Mobilizon Local MOBILIZON_INSTANCE_HOST: mz.lan MOBILIZON_INSTANCE_HOST_PORT: 443 MOBILIZON_INSTANCE_PORT: 443 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: postgres MOBILIZON_DATABASE_PORT: 5432 VITE_HOST: 0.0.0.0 MOBILIZON_CA_CERT_PATH: "/app/priv/ca-bundle.crt" command: sh -c "mix phx.server" expose: - "443" - "4000" ports: - "5173:5173" wordpress: build: context: ./wordpress dockerfile: Dockerfile volumes: - ./wordpress/wordpress:/var/www/html - /etc/ssl/certs/ca-certificates.crt:/var/www/html/wp-includes/certificates/ca-bundle.crt:ro - ./wordpress/vscode/launch.json:/var/www/html/.vscode/launch.json:rw environment: - DOCKER_DEV_DOMAIN=wp.lan - WORDPRESS_DB_NAME=wordpress - WORDPRESS_TABLE_PREFIX=wp_ - WORDPRESS_DB_HOST=mariadb - WORDPRESS_DB_USER=root - WORDPRESS_DB_PASSWORD=password - WORDPRESS_DEBUG=True depends_on: - mariadb - phpmyadmin - mobilizon restart: always expose: - "80" - "9003" extra_hosts: - "host.docker.internal:host-gateway" mariadb: image: mariadb:latest volumes: - wordpress_database_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_USER=root - MYSQL_PASSWORD=password - MYSQL_DATABASE=wordpress restart: always phpmyadmin: depends_on: - mariadb image: phpmyadmin/phpmyadmin:latest restart: always environment: PMA_HOST: mariadb MYSQL_ROOT_PASSWORD: password ports: - 8180:80 volumes: wordpress_database_data: mobilizon_database_data: