63 lines
2.1 KiB
Docker
63 lines
2.1 KiB
Docker
# DOMAIN=example.com docker stack deploy -c mobilizon.yml mobilizon
|
|
# mobilizon_ctl users.new "admin@example.com" --admin --password "myp@ssw0rd"
|
|
# chown -R 65534:65534 uploads/
|
|
# Don't change domain name
|
|
|
|
services:
|
|
web:
|
|
image: ${IMAGE:-framasoft/mobilizon}:${VERSION:-4.1.0}
|
|
environment:
|
|
- DOCKER=true
|
|
- MIX_ENV=${MIX_ENV:-prod}
|
|
- MOBILIZON_INSTANCE_NAME=Mobilizon
|
|
- MOBILIZON_INSTANCE_HOST=${DOMAIN:-mobilizon.localhost}
|
|
- MOBILIZON_INSTANCE_EMAIL=${ADMIN_EMAIL:-admin@example.com}
|
|
- MOBILIZON_REPLY_EMAIL=${ADMIN_EMAIL:-admin@example.com}
|
|
- MOBILIZON_ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}
|
|
- MOBILIZON_INSTANCE_REGISTRATIONS_OPEN=true
|
|
- MOBILIZON_DATABASE_PASSWORD=myp@ssw0rd
|
|
- MOBILIZON_DATABASE_USERNAME=mobilizon
|
|
- MOBILIZON_DATABASE_DBNAME=mobilizon
|
|
- MOBILIZON_DATABASE_HOST=postgres
|
|
- MOBILIZON_SMTP_SERVER=${SMTP_HOST}
|
|
- MOBILIZON_SMTP_HOSTNAME=${SMTP_HOST}
|
|
- MOBILIZON_SMTP_PORT=${SMTP_PORT:-587}
|
|
- MOBILIZON_SMTP_SSL=${SMTP_SSL:-false}
|
|
- MOBILIZON_SMTP_USERNAME=${SMTP_USERNAME}
|
|
- MOBILIZON_SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
volumes:
|
|
- ${VOLUME_PATH}uploads:/var/lib/mobilizon/uploads
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.mobilizon-${NUMBER:-1}.rule=Host(`${DOMAIN:-mobilizon.localhost}`)
|
|
- traefik.http.routers.mobilizon-${NUMBER:-1}.entrypoints=${SCHEME:-https}
|
|
- traefik.http.routers.mobilizon-${NUMBER:-1}.service=mobilizon-${NUMBER:-1}
|
|
- traefik.http.routers.mobilizon-${NUMBER:-1}.tls.certresolver=letsencrypt
|
|
- traefik.http.services.mobilizon-${NUMBER:-1}.loadbalancer.server.port=4000
|
|
networks:
|
|
- internal
|
|
- traefik
|
|
|
|
postgres:
|
|
image: postgis/postgis:${POSTGIS_VERSION:-16-3.4}
|
|
environment:
|
|
- POSTGRES_DB=mobilizon
|
|
- POSTGRES_USER=mobilizon
|
|
- POSTGRES_PASSWORD=myp@ssw0rd
|
|
volumes:
|
|
- ${VOLUME_PATH}postgres:/var/lib/postgresql/data
|
|
networks:
|
|
- internal
|
|
|
|
volumes:
|
|
postgres:
|
|
uploads:
|
|
|
|
networks:
|
|
internal:
|
|
driver: overlay
|
|
attachable: true
|
|
traefik:
|
|
external: true
|
|
name: traefik-net
|