docker/docker-compose.yml
2023-12-06 19:45:57 +01:00

119 lines
2.8 KiB
YAML
Executable file

version: "3.9"
services:
nginx:
image: nginx:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./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
mobilizon:
container_name: mobilizon
restart: unless-stopped
build:
context: ./mobilizon
dockerfile: Dockerfile
volumes:
- "./mobilizon:/app"
- /etc/ssl/certs:/etc/ssl/certs:ro
- /etc/ca-certificates/:/etc/ca-certificates/: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:
- "4000"
wordpress:
build:
context: .
dockerfile: Dockerfile-WordPress
volumes:
- ./wordpress:/var/www/html
- /etc/ssl/certs:/etc/ssl/certs:ro
- /etc/ca-certificates/:/etc/ca-certificates/:ro
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:
# Needed for XDebug
- "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
mobilizon_db:
image: postgis/postgis:15-3.4
restart: unless-stopped
volumes:
- mobilizon_database_data:/var/lib/postgresql/data
environment:
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
phpmyadmin:
depends_on:
- mariadb
image: phpmyadmin/phpmyadmin:latest
restart: always
environment:
PMA_HOST: mariadb
MYSQL_ROOT_PASSWORD: password
volumes:
wordpress_database_data:
mobilizon_database_data: