| FROM ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest | |
| # Install nginx | |
| USER root | |
| RUN apt-get update && apt-get install -y nginx | |
| # Set working directory | |
| WORKDIR /home/computeruse | |
| # Create nginx configuration with improved WebSocket support | |
| RUN echo '\ | |
| server {\n\ | |
| listen 8080;\n\ | |
| server_name _;\n\ | |
| \n\ | |
| location / {\n\ | |
| proxy_pass http://127.0.0.1:6080;\n\ | |
| proxy_http_version 1.1;\n\ | |
| proxy_set_header Upgrade $http_upgrade;\n\ | |
| proxy_set_header Connection "upgrade";\n\ | |
| proxy_set_header Host $host;\n\ | |
| proxy_set_header X-Real-IP $remote_addr;\n\ | |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\ | |
| proxy_set_header X-Forwarded-Proto $scheme;\n\ | |
| proxy_buffering off;\n\ | |
| }\n\ | |
| \n\ | |
| location /streamlit/ {\n\ | |
| proxy_pass http://127.0.0.1:8501/;\n\ | |
| proxy_http_version 1.1;\n\ | |
| proxy_set_header Upgrade $http_upgrade;\n\ | |
| proxy_set_header Connection "upgrade";\n\ | |
| proxy_set_header Host $host;\n\ | |
| proxy_set_header X-Real-IP $remote_addr;\n\ | |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\ | |
| proxy_set_header X-Forwarded-Proto $scheme;\n\ | |
| proxy_buffering off;\n\ | |
| }\n\ | |
| \n\ | |
| location /noVNC/ {\n\ | |
| proxy_pass http://127.0.0.1:6080/;\n\ | |
| proxy_http_version 1.1;\n\ | |
| proxy_set_header Upgrade $http_upgrade;\n\ | |
| proxy_set_header Connection "upgrade";\n\ | |
| proxy_set_header Host $host;\n\ | |
| proxy_read_timeout 61s;\n\ | |
| proxy_buffering off;\n\ | |
| }\n\ | |
| }\n' > /etc/nginx/sites-available/default | |
| # Expose only the main port | |
| EXPOSE 8080 | |
| ENV PORT=8080 | |
| ENV STREAMLIT_SERVER_PORT=8501 | |
| ENV NOVNC_PORT=6080 | |
| ENV BASE_URL="/noVNC" | |
| ENV STREAMLIT_BASE_URL="/streamlit" | |
| # Create and set permissions for start script | |
| COPY start.sh /start.sh | |
| RUN chmod +x /start.sh | |
| # Switch back to non-root user | |
| USER 1000 | |
| CMD ["/start.sh"] |