🐳 emdash

EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress

Docker Ready 3 Services Ports: 9000, 9001, 2223 11,557 stars
1. Pull Image docker pull minio/minio
2. 1-Click Launch Command docker run -d -p 9000:9000 --name emdash minio/minio:latest
3. Compose Deployment docker compose up -d
apps/workspace-server/docker-compose.yaml
Download .yml
services:
  minio:
    image: minio/minio:latest
    container_name: emdash-workspace-minio
    command: server /data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - minio-data:/data
    restart: unless-stopped

  minio-setup:
    image: minio/mc:latest
    container_name: emdash-workspace-minio-setup
    depends_on:
      - minio
    entrypoint: /bin/sh
    command:
      - -c
      - |
        set -eu
        until mc alias set local http://minio:9000 minioadmin minioadmin >/dev/null 2>&1; do
          sleep 1
        done
        mc mb --ignore-existing local/emdash-releases
        mc anonymous set download local/emdash-releases
    restart: "no"

  workspace-remote:
    platform: ${WORKSPACE_REMOTE_PLATFORM:-}
    build:
      context: ./tooling/docker
      dockerfile: remote-machine.dockerfile
    container_name: emdash-workspace-remote
    depends_on:
      minio-setup:
        condition: service_completed_successfully
    ports:
      - "2223:22"
    volumes:
      - workspace-remote-home:/home/devuser
    restart: unless-stopped

volumes:
  minio-data:
    name: emdash-workspace-minio-data
    driver: local
  workspace-remote-home:
    name: emdash-workspace-remote-home
    driver: local