AppsCMSSquidex

Squidex

Headless CMS, based on MongoDB, CQRS and Event Sourcing.

Directory Structure

    • .env
    • docker-compose.yml

docker-compose.yml

version: "3.5"
 
services:
  squidex_mongo:
    image: "mongo:6"
    volumes:
      - /etc/squidex/mongo/db:/data/db
    networks:
      - internal
    restart: unless-stopped
 
  squidex_squidex:
    image: "squidex/squidex:7"
    environment:
      - URLS__BASEURL=https://${SQUIDEX_DOMAIN}
      - EVENTSTORE__TYPE=MongoDB
      - 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}
      - ASPNETCORE_URLS=http://+:5000
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5000/healthz"]
      start_period: 60s
    depends_on:
      - squidex_mongo
    volumes:
      - /etc/squidex/assets:/app/Assets
    networks:
      - internal
    restart: unless-stopped
 
  squidex_proxy:
    image: squidex/caddy-proxy
    ports:
      - "80:80"
      - "443:443"
    environment:
      - SITE_ADDRESS=${SQUIDEX_DOMAIN}
      - SITE_SERVER="squidex_squidex:5000"
    volumes:
      - /etc/squidex/caddy/data:/data
      - /etc/squidex/caddy/config:/config
    depends_on:
      - squidex_squidex
    networks:
      - internal
    restart: unless-stopped
    
networks:
  internal:
    driver: bridge

Resources

Website: https://squidex.io/

GitHub: https://github.com/Squidex/squidex

Docker Hub: https://hub.docker.com/r/squidex/squidex

Configuration: https://docs.squidex.io/id-01-getting-started/installation/platforms/install-on-docker