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 - gancio networks: default: aliases: - wp.lan - mz.lan - ga.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" - /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:rox 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_SCHEME: https 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: "/etc/ssl/certs/ca-certificates.crt" command: sh -c "mix phx.server" expose: - "443" - "4000" ports: - "5173:5173" gancio: restart: always image: cisti/gancio container_name: gancio environment: - PATH=$PATH:/home/node/.yarn/bin - GANCIO_DATA=/home/node/data - NODE_ENV=development - GANCIO_DB_DIALECT=sqlite - GANCIO_DB_STORAGE=./gancio.sqlite - NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt - NODE_TLS_REJECT_UNAUTHORIZED='0' volumes: - gancio_data:/home/node/data - ./gancio/config.json:/home/node/data/config.json:rw - /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro ports: - "13120:13120" 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 mailpit: image: axllent/mailpit container_name: mailpit restart: unless-stopped volumes: - mailpit_data:/data ports: - 8025:8025 - 1025:1025 environment: MP_MAX_MESSAGES: 5000 MP_DATABASE: /data/mailpit.db MP_SMTP_AUTH_ACCEPT_ANY: 1 MP_SMTP_AUTH_ALLOW_INSECURE: 1 volumes: wordpress_database_data: mobilizon_database_data: gancio_data: mailpit_data: