DEV Community

drake
drake

Posted on

akash DSL 参考

---
version: "2.0"
services:
  service-1:
    image: ghcr.io/akash-network/ubuntu-2404-ssh:2
    command: ["/bin/sh", "-c"]
    args:
      - |
        mkdir -p /var/lib/tailscale /var/run/tailscale

        tailscaled \
          --tun=userspace-networking \
          --state=/var/lib/tailscale/tailscaled.state \
          --socket=/var/run/tailscale/tailscaled.sock &

        until tailscale --socket /var/run/tailscale/tailscaled.sock status 2>/dev/null | grep -q "100."; do
          sleep 2
        done

        if ! tailscale --socket /var/run/tailscale/tailscaled.sock status | grep -q "logged in"; then
          tailscale --socket /var/run/tailscale/tailscaled.sock up \
            --auth-key=tskey-auth-k2RyTfkfqB11CNTRL-ZxbbXL4c4wWV9q5TDjTcvWbg1g1hhHCRA \
            --accept-dns=false \
            --accept-routes=false
        fi

        echo "Tailscale is running at $(tailscale --socket /var/run/tailscale/tailscaled.sock ip -4)"

        exec /entrypoint.sh   # 启动原来的 SSH 服务

    expose:
      - port: 22
        as: 22
        to:
          - global: false      # 现在可以彻底关掉公网 SSH 了!
      - port: 80
        as: 80
        to:
          - global: false      # 公网 80 也关掉,只走 Tailscale 访问

    env:
      - SSH_PUBKEY=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJxcN3WQAU6KUS/13R9Wt5/dlA3YKHoAX48pHUjt8K3w shixiaolong09@gmail.com

profiles:
  compute:
    service-1:
      resources:
        cpu: { units: 0.5 }
        memory: 1Gi
        storage: [{ size: 2Gi }]
  placement:
    dcloud:
      pricing:
        service-1:
          denom: uakt
          amount: 5000
deployment:
  service-1:
    dcloud:
      profile: service-1
      count: 1
Enter fullscreen mode Exit fullscreen mode

Top comments (0)