version: "3.3" services: ghost: image: rose-ash-ghost:latest env_file: - ./.env volumes: - ghost-content:/var/lib/ghost/content - ./settings:/var/lib/ghost/content/settings - ./themes/:/var/lib/ghost/content/themes networks: - appnet - externalnet secrets: - email - db-password #ports: # - 2368:2368 deploy: placement: constraints: [node.labels.node == production ] invite-token: image: invite-token environment: MYSQL_USER: ghost MYSQL_PASSWORD: ghostdbpass MYSQL_DATABASE: ghostdb MYSQL_HOST: db PORT: 3002 networks: - appnet - externalnet deploy: placement: constraints: [node.labels.node == production ] ports: # donot expose in production!!! - 3010:3002 db: image: rose-ash-mysql:latest environment: MYSQL_ROOT_PASSWORD: mysqlrootpass MYSQL_USER: ghost MYSQL_PASSWORD: ghostdbpass MYSQL_DATABASE: ghostdb volumes: - ghost-mysql-db:/var/lib/mysql networks: - appnet secrets: - db-password - db-root-password deploy: placement: constraints: [node.labels.node == production ] volumes: ghost-content: ghost-config: ghost-mysql-db: networks: appnet: driver: overlay externalnet: driver: overlay external: true secrets: email: file: ./.email db-password: file: ./.db-password db-root-password: file: ./.db-root-password