name: simplelogin secrets: POSTGRES_PASSWORD: file: './secrets/POSTGRES_PASSWORD' RELAY_PASSWORD: file: './secrets/RELAY_PASSWORD' services: postgres: image: postgres container_name: simplelogin_postgres restart: always secrets: - POSTGRES_PASSWORD environment: POSTGRES_USER: postgres POSTGRES_PASSWORD_FILE: /run/secrets/POSTGRES_PASSWORD POSTGRES_DB: simplelogin volumes: - postgres_data:/var/lib/postgresql/data networks: - default postfix: image: simplelogin/postfix:latest container_name: simplelogin_postfix restart: always ports: - "25:25" - "587:587" secrets: - POSTGRES_PASSWORD - RELAY_PASSWORD env_file: - ./secrets/postfix/.env environment: DB_HOST: postgres DB_USER: postgres DB_PASSWORD_FILE: /run/secrets/POSTGRES_PASSWORD DB_NAME: simplelogin ALIASES_DEFAULT_DOMAIN: 64815139.xyz POSTFIX_FQDN: alias.64815139.xyz EMAIL_HANDLER_HOST: simplelogin-handler RELAY_HOST: in-v3.mailjet.com RELAY_PORT: 587 RELAY_HOST_PASSWORD_FILE: /run/secrets/RELAY_PASSWORD SIMPLELOGIN_COMPATIBILITY_MODE: v4 ENABLE_PROXY_PROTOCOL: "false" entrypoint: /bin/sh -c 'MYNETWORKS=$(ip -o -f inet addr show eth0 | awk "/scope global/ {print \$4}"); export MYNETWORKS; exec /src/docker-entrypoint.sh' networks: - default depends_on: - postgres app: image: simplelogin/app:latest container_name: simplelogin_app volumes: - ./data/sl:/sl - ./data/sl/upload:/code/static/upload - ./data/dkim/dkim.key:/dkim.key - ./data/dkim/dkim.pub.key:/dkim.pub.key - ./data/env/simplelogin.env:/code/.env env_file: - ./secrets/app/.env networks: - default restart: always ports: - "7777:7777" depends_on: - postgres - migration - init_data email_handler: image: simplelogin/app:latest container_name: simplelogin_email command: python email_handler.py env_file: - ./secrets/app/.env volumes: - ./data/sl:/sl - ./data/sl/upload:/code/static/upload - ./data/dkim/dkim.key:/dkim.key - ./data/dkim/dkim.pub.key:/dkim.pub.key - ./data/env/simplelogin.env:/code/.env networks: - default restart: always depends_on: - app job_runner: image: simplelogin/app:latest container_name: simplelogin_job-runner command: python job_runner.py env_file: - ./secrets/app/.env volumes: - ./data/sl:/sl - ./data/sl/upload:/code/static/upload - ./data/dkim/dkim.key:/dkim.key - ./data/dkim/dkim.pub.key:/dkim.pub.key - ./data/env/simplelogin.env:/code/.env networks: - default restart: always depends_on: - app migration: image: simplelogin/app:latest container_name: simplelogin_migration command: flask db upgrade volumes: - ./data/sl:/sl - ./data/sl/upload:/code/static/upload - ./data/dkim/dkim.key:/dkim.key - ./data/dkim/dkim.pub.key:/dkim.pub.key - ./data/env/simplelogin.env:/code/.env networks: - default restart: "no" depends_on: - postgres init_data: image: simplelogin/app:latest container_name: simplelogin_init command: python init_app.py volumes: - ./data/sl:/sl - ./data/dkim/dkim.key:/dkim.key - ./data/dkim/dkim.pub.key:/dkim.pub.key - ./data/env/simplelogin.env:/code/.env networks: - default restart: "no" depends_on: - migration networks: default: driver: bridge volumes: postgres_data: driver: local