Skip to content

Interactive setup script for /opt/geekbot deployment #25

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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