docker/docker-compose.yml
2024-07-05 10:58:58 +02:00

157 lines
3.9 KiB
YAML
Executable file

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"
# - "./mobilizon/dev.exs:/app/config/dev.exs"
- /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
- /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:rox
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:
mailpit_data: