Skip to content

Interactive setup script for /opt/geekbot deployment #25

@sunba91-su

Description

@sunba91-su

Goal

Create a bash setup script that provisions the production deployment directory interactively.

Acceptance Criteria

  • Create deploy/setup.sh (POSIX-compatible bash)
  • Creates /opt/geekbot if it does not exist (uses sudo when needed for permissions)
  • Copies deploy/docker-compose.yml to /opt/geekbot/docker-compose.yml
  • Creates /opt/geekbot/data/ directory for SQLite volume
  • Interactive prompts (with defaults) for all env vars:
    • ROCKETCHAT_SERVER_URL (default: https://chat.yourcompany.com)
    • ROCKETCHAT_BOT_USERNAME (default: geekbot)
    • ROCKETCHAT_BOT_PASSWORD (required, no default)
    • ROCKETCHAT_MAIN_ADMIN (required, no default)
  • Writes .env file to /opt/geekbot/.env
  • Offers to run docker compose up -d at the end
  • Prints summary of what was configured

Technical Notes

  • Use read -p for prompts, [[ $REPLY ]] && VAR="$REPLY" || VAR="$default" pattern
  • Mask password input with stty -echo
  • Validate that Docker is installed before offering compose up
  • The compose file will be at /opt/geekbot/docker-compose.yml — user must run docker-compose from that directory

Dependencies

  • Blocked by: Production docker-compose with custom network

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:deploymentDeployment infrastructure, docker-compose, setup scriptsenhancementNew feature or requestphase:feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions