Ecode2254/replit-alternative
๐ Replit Alternative โ Free Self-Hosted Coding Environment A fully free, self-hosted coding platform combining the best features from Replit, Gitpod, GitHub Codespaces, and more. Run your own cloud IDE with AI assistance, instant deployments, and collaborative features. โจ Features Feature What You Get ๐ฅ๏ธ Browser IDE Full VS Code in your browser (code-server) ๐ค AI Coding Assistant Local LLM-powered autocomplete & chat (Continue.dev + Ollama) ๐โฆ See the full description on the dataset page: https://huggingface.co/datasets/Ecode2254/replit-alternative.
012
1version: "3.8"2 3services:4 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ5 # 1. CODE-SERVER โ Browser-based VS Code IDE6 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ7 code-server:8 image: lscr.io/linuxserver/code-server:latest9 container_name: code-server10 restart: unless-stopped11 environment:12 - PUID=100013 - PGID=100014 - TZ=UTC15 - PASSWORD=${CODE_SERVER_PASSWORD:-changeme}16 - SUDO_PASSWORD=${CODE_SERVER_SUDO_PASSWORD:-changeme}17 - DEFAULT_WORKSPACE=/config/workspace18 volumes:19 - code-server-data:/config20 - ./devcontainers:/config/workspace/.devcontainers:ro21 - ./continue-config:/config/workspace/.continue:ro22 - /var/run/docker.sock:/var/run/docker.sock:ro23 ports:24 - "8443:8443"25 networks:26 - replit-net27 labels:28 - "traefik.enable=true"29 - "traefik.http.routers.code-server.rule=Host(`${CODE_DOMAIN:-code.localhost}`)"30 - "traefik.http.routers.code-server.entrypoints=websecure"31 - "traefik.http.routers.code-server.tls.certresolver=letsencrypt"32 - "traefik.http.services.code-server.loadbalancer.server.port=8443"33 34 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ35 # 2. COOLIFY โ Self-hosted PaaS for deployments36 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ37 coolify:38 image: ghcr.io/coollabsio/coolify:latest39 container_name: coolify40 restart: unless-stopped41 environment:42 - APP_ID=${COOLIFY_APP_ID:-coolify}43 - APP_KEY=${COOLIFY_APP_KEY:-base64:changeme}44 - APP_URL=https://${DEPLOY_DOMAIN:-deploy.localhost}45 - DB_CONNECTION=sqlite46 - REDIS_HOST=redis47 - REDIS_PASSWORD=${REDIS_PASSWORD:-changeme}48 volumes:49 - coolify-data:/var/www/html/storage50 - /var/run/docker.sock:/var/run/docker.sock51 ports:52 - "8000:80"53 networks:54 - replit-net55 depends_on:56 - redis57 labels:58 - "traefik.enable=true"59 - "traefik.http.routers.coolify.rule=Host(`${DEPLOY_DOMAIN:-deploy.localhost}`)"60 - "traefik.http.routers.coolify.entrypoints=websecure"61 - "traefik.http.routers.coolify.tls.certresolver=letsencrypt"62 - "traefik.http.services.coolify.loadbalancer.server.port=80"63 64 redis:65 image: redis:7-alpine66 container_name: coolify-redis67 restart: unless-stopped68 command: redis-server --requirepass ${REDIS_PASSWORD:-changeme}69 volumes:70 - redis-data:/data71 networks:72 - replit-net73 74 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ75 # 3. OLLAMA โ Local LLM server for AI coding76 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ77 ollama:78 image: ollama/ollama:latest79 container_name: ollama80 restart: unless-stopped81 volumes:82 - ollama-data:/root/.ollama83 ports:84 - "11434:11434"85 networks:86 - replit-net87 # Uncomment for GPU support (NVIDIA)88 # deploy:89 # resources:90 # reservations:91 # devices:92 # - driver: nvidia93 # count: 194 # capabilities: [gpu]95 96 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ97 # 4. TRAEFIK โ Reverse proxy + auto SSL98 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ99 traefik:100 image: traefik:v3.0101 container_name: traefik102 restart: unless-stopped103 command:104 - "--api.dashboard=true"105 - "--providers.docker=true"106 - "--providers.docker.exposedbydefault=false"107 - "--entrypoints.web.address=:80"108 - "--entrypoints.websecure.address=:443"109 - "--entrypoints.web.http.redirections.entryPoint.to=websecure"110 - "--entrypoints.web.http.redirections.entryPoint.scheme=https"111 - "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"112 - "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL:-admin@localhost}"113 - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"114 - "--ping=true"115 - "--log.level=INFO"116 ports:117 - "80:80"118 - "443:443"119 volumes:120 - /var/run/docker.sock:/var/run/docker.sock:ro121 - traefik-certs:/letsencrypt122 networks:123 - replit-net124 labels:125 - "traefik.enable=true"126 - "traefik.http.routers.traefik.rule=Host(`${TRAEFIK_DOMAIN:-proxy.localhost}`)"127 - "traefik.http.routers.traefik.entrypoints=websecure"128 - "traefik.http.routers.traefik.tls.certresolver=letsencrypt"129 - "traefik.http.routers.traefik.service=api@internal"130 - "traefik.http.routers.traefik.middlewares=auth@docker"131 - "traefik.http.middlewares.auth.basicauth.users=${TRAEFIK_AUTH:-admin:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/}"132 133 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ134 # 5. FILEBROWSER โ Simple file manager (bonus)135 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ136 filebrowser:137 image: filebrowser/filebrowser:latest138 container_name: filebrowser139 restart: unless-stopped140 volumes:141 - code-server-data:/srv142 - ./filebrowser.db:/database.db143 - ./filebrowser.json:/.filebrowser.json144 ports:145 - "8080:80"146 networks:147 - replit-net148 labels:149 - "traefik.enable=true"150 - "traefik.http.routers.filebrowser.rule=Host(`${FILES_DOMAIN:-files.localhost}`)"151 - "traefik.http.routers.filebrowser.entrypoints=websecure"152 - "traefik.http.routers.filebrowser.tls.certresolver=letsencrypt"153 - "traefik.http.services.filebrowser.loadbalancer.server.port=80"154 155 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ156 # 6. UPTIME KUMA โ Monitoring (bonus)157 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ158 uptime-kuma:159 image: louislam/uptime-kuma:latest160 container_name: uptime-kuma161 restart: unless-stopped162 volumes:163 - uptime-data:/app/data164 ports:165 - "3001:3001"166 networks:167 - replit-net168 labels:169 - "traefik.enable=true"170 - "traefik.http.routers.uptime.rule=Host(`${UPTIME_DOMAIN:-status.localhost}`)"171 - "traefik.http.routers.uptime.entrypoints=websecure"172 - "traefik.http.routers.uptime.tls.certresolver=letsencrypt"173 - "traefik.http.services.uptime.loadbalancer.server.port=3001"174 175 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ176 # 7. PORTAINER โ Docker management UI (bonus)177 # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ178 portainer:179 image: portainer/portainer-ce:latest180 container_name: portainer181 restart: unless-stopped182 volumes:183 - /var/run/docker.sock:/var/run/docker.sock184 - portainer-data:/data185 ports:186 - "9000:9000"187 networks:188 - replit-net189 labels:190 - "traefik.enable=true"191 - "traefik.http.routers.portainer.rule=Host(`${PORTAINER_DOMAIN:-docker.localhost}`)"192 - "traefik.http.routers.portainer.entrypoints=websecure"193 - "traefik.http.routers.portainer.tls.certresolver=letsencrypt"194 - "traefik.http.services.portainer.loadbalancer.server.port=9000"195 196volumes:197 code-server-data:198 coolify-data:199 redis-data:200 ollama-data:201 traefik-certs:202 uptime-data:203 portainer-data:204 205networks:206 replit-net:207 driver: bridge