docker/docker-compose.yml
2023-12-07 19:08:52 +01:00

118 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
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
mobilizon:
container_name: mobilizon
restart: unless-stopped
build:
context: ./mobilizon
dockerfile: Dockerfile
volumes:
- "./mobilizon:/app"
- "~/.local/share/mkcert/:/root/.local/share/mkcert/:ro"
ports:
- 4000:4000
- 5173:5173
depends_on:
- postgres
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: postgres
MOBILIZON_DATABASE_PORT: 5432
VITE_HOST: ${VITE_HOST:-0.0.0.0}
command: sh -c "mix hex.config unsafe_https true; mix phx.server"
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
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: