docker/docker-compose.yml

122 lines
3 KiB
YAML
Raw Normal View History

2023-12-09 12:54:38 +01:00
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
2023-12-10 13:19:03 +01:00
ports:
- "5432:5432"
2023-12-09 12:54:38 +01:00
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/lan-key.pem:/app/priv/server.key:ro"
- "./certs/lan.pem:/app/priv/server.pem:ro"
2023-12-10 13:19:03 +01:00
- "/etc/ssl/certs/ca-certificates.crt:/app/priv/ca-bundle.crt:ro"
2023-12-09 12:54:38 +01:00
depends_on:
- postgres
environment:
MIX_ENV: "dev"
DOCKER: "true"
MOBILIZON_INSTANCE_NAME: My Local Mobilizon
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
2023-12-10 13:19:03 +01:00
command: sh -c "mix phx.server"
2023-12-09 12:54:38 +01:00
expose:
- "443"
- "4000"
ports:
- "5173:5173"
wordpress:
build:
context: ./wordpress
dockerfile: Dockerfile
volumes:
- ./wordpress/wordpress:/var/www/html
2023-12-10 13:19:03 +01:00
- /etc/ssl/certs/ca-certificates.crt:/var/www/html/wp-includes/certificates/ca-bundle.crt:ro
2023-12-09 12:54:38 +01:00
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
volumes:
wordpress_database_data:
mobilizon_database_data: