Squidex and squidex identity in single compose file

Hi Sebastian,

I have modified docker-compose.yml as per your suggestion. Can you please check and let me know for any corrections. If possible can you let me know your convenient time so that we can have a call.

version: '2.1'
services:
  squidex_mongo:
    image: mongo:latest
    ports:
      - "27017:27017"
    volumes:
      - /etc/squidex/mongo/db:/data/db
    networks:
      - internal
    restart: unless-stopped

  squidex_squidex:
    image: "squidex/squidex:latest"
    ports:
      - "5000:80"
    environment:
      - URLS__BASEURL=${SQUIDEX_PROTOCOL}://${SQUIDEX_DOMAIN}/
      - URLS__ENFORCEHTTPS=${SQUIDEX_FORCE_HTTPS}
      - EVENTSTORE__MONGODB__CONFIGURATION=mongodb://squidex_mongo
      - STORE__MONGODB__CONFIGURATION=mongodb://squidex_mongo
      - IDENTITY__ADMINEMAIL=${SQUIDEX_ADMINEMAIL}
      - IDENTITY__ADMINPASSWORD=${SQUIDEX_ADMINPASSWORD}
      - IDENTITY__GOOGLECLIENT=${SQUIDEX_GOOGLECLIENT}
      - IDENTITY__GOOGLESECRET=${SQUIDEX_GOOGLESECRET}
      - IDENTITY__GITHUBCLIENT=${SQUIDEX_GITHUBCLIENT}
      - IDENTITY__GITHUBSECRET=${SQUIDEX_GITHUBSECRET}
      - IDENTITY__MICROSOFTCLIENT=${SQUIDEX_MICROSOFTCLIENT}
      - IDENTITY__MICROSOFTSECRET=${SQUIDEX_MICROSOFTSECRET}
      - LETSENCRYPT_HOST=${SQUIDEX_DOMAIN}
      - LETSENCRYPT_EMAIL=${SQUIDEX_ADMINEMAIL}
      - VIRTUAL_HOST=${SQUIDEX_DOMAIN}
    depends_on:
      - squidex_mongo
    volumes:
      - /etc/squidex/assets:/app/Assets
    networks:
      - internal
    restart: unless-stopped

  squidex_proxy:
    image: squidex/nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /etc/squidex/nginx/vhost.d:/etc/nginx/vhost.d
      - /etc/squidex/nginx/certs:/etc/nginx/certs:ro
      - /etc/squidex/nginx/html:/usr/share/nginx/html
      - /var/run/docker.sock:/tmp/docker.sock:ro
    depends_on:
      - squidex_squidex
    networks:
      - internal
    labels:
      - com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
    restart: unless-stopped

  squidex_encrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    volumes:
      - /etc/squidex/nginx/certs:/etc/nginx/certs:rw
      - /var/run/docker.sock:/var/run/docker.sock:ro
    volumes_from:
      - squidex_proxy
    depends_on:
      - squidex_proxy
    networks:
      - internal
    restart: unless-stopped
	
	squidex_identity:
    image: "squidex/identity:latest"
    ports:
      - "51254:80"
    environment:
      - URLS__BASEURL=${SQUIDEX_PROTOCOL}://${SQUIDEX_DOMAIN}/
      - URLS__ENFORCEHTTPS=${SQUIDEX_FORCE_HTTPS}
      - EVENTSTORE__MONGODB__CONFIGURATION=mongodb://squidex_mongo
      - STORE__MONGODB__CONFIGURATION=mongodb://squidex_mongo
      - APP__URL=https://squidexidentity.centralus.cloudapp.azure.com
      - APP__CLIENTID=
      - APP__CLIENTSECRET=
      - LETSENCRYPT_HOST=${IDENTITY_SQUIDEX_DOMAIN}
      - LETSENCRYPT_EMAIL=${IDENTITY_SQUIDEX_ADMINEMAIL}
      - VIRTUAL_HOST=${IDENTITY_SQUIDEX_DOMAIN}
    
networks:
  internal:
    driver: bridge

There are some mistakes in the identity config. Compare it with https://github.com/Squidex/squidex-identity/blob/master/Squidex.Identity/appsettings.json

  • URLS__BASEURL is not needed
  • URLS__ENFORCEHTTPS is not needed
  • EVENTSTORE__MONGODB__CONFIGURATION is not needed.
  • APP__URL should be ${SQUIDEX_PROTOCOL}://${SQUIDEX_DOMAIN}as it needs to point to squidex.

APP__CLIENTID is missing, but you have to create the app first. We can probably extend identity so that it creates the schemas by its own

About time: I cannot give support for free over skype. It was an exception last time. But keep in mind that this is a free product.