New paste Repaste Download
sudo docker run --rm guacamole/guacamole:1.5.5 /opt/guacamole/bin/initdb.sh --postgresql | sudo tee /opt/guacamole/init/initdb.sql > /dev/null
ls -lh /opt/guacamole/init/initdb.sql
sudo tee /opt/guacamole/docker-compose.yml > /dev/null << 'EOF'
services:
  guac-postgres:
    image: postgres:15-alpine
    container_name: guac-postgres
    restart: always
    environment:
      POSTGRES_DB: guacamole_db
      POSTGRES_USER: guacamole_user
      POSTGRES_PASSWORD: StrongPassword123!
    volumes:
      - ./init:/docker-entrypoint-initdb.d:ro
      - ./data:/var/lib/postgresql/data
    networks:
      - guac-net
  guacd:
    image: guacamole/guacd:1.6.0
    container_name: guacd
    restart: always
    network_mode: "host"
  guacamole:
    image: guacamole/guacamole:1.6.0
    container_name: guacamole
    restart: always
    ports:
      - "8080:8080"
    environment:
      GUACD_HOSTNAME: 127.0.0.1
      GUACD_PORT: 4822
      POSTGRESQL_HOSTNAME: guac-postgres
      POSTGRESQL_PORT: 5432
      POSTGRESQL_DATABASE: guacamole_db
      POSTGRESQL_USER: guacamole_user
      POSTGRESQL_PASSWORD: StrongPassword123!
    depends_on:
      - guac-postgres
    networks:
      - guac-net
networks:
  guac-net:
    driver: bridge
EOF
# 启动 Guacamole 服务组 / Launch stack in background
cd /opt/guacamole && sudo docker compose up -d
sudo docker compose ps  # 验证三个容器 STATUS 均为 Up 或 running
# 防火墙最小放行 (仅 Web 与 SSH) / Configure minimal UFW rules
sudo ufw allow 22/tcp && sudo ufw allow 8080/tcp
sudo ufw --force enable && sudo ufw status verbose
sudo adduser user03
sudo -u user03 sh -c 'printf "%s\n" startxfce4 > /home/user03/.xsession'
sudo -u user03 cat /home/user03/.xsession  
Filename: None. Size: 2kb. View raw, , hex, or download this file.

This paste expires on 2026-10-15 02:34:33.888457+00:00. Pasted through web.