captainVersion: 4 services: $$cap_appname: depends_on: - $$cap_appname-db environment: DATABASE_URL: 'ecto://postgres:$$cap_postgres_password@srv-captain--$$cap_appname-db/postgres' SECRET_KEY_BASE: $$cap_secret_key BACKEND_URL: $$cap_appname.$$cap_root_domain MIX_ENV: $$cap_mix_env REACT_APP_URL: $$cap_appname.$$cap_root_domain FROM_ADDRESS: $$cap_email_from_address MAILGUN_API_KEY: $$cap_mailgun_api_key DOMAIN: $$cap_email_from_domain SLACK_BOT_ACCESS_TOKEN: $$cap_slack_bot_access_token PAPERCUPS_SLACK_CLIENT_ID: $$cap_slack_client_id PAPERCUPS_SLACK_CLIENT_SECRET: $$cap_slack_client_secret SENTRY_DSN: $$cap_sentry_dsn PAPERCUPS_STRIPE_SECRET: $$cap_stripe_secret REACT_APP_GOOGLE_ANALYTICS_ID: $$cap_react_google_analytics_id REACT_APP_SLACK_CLIENT_ID: $$cap_react_slack_client_id REACT_APP_SENTRY_DSN: $$cap_react_sentry_dsn REACT_APP_LOGROCKET_ID: $$cap_react_logrocket_id REACT_APP_STRIPE_PUBLIC_KEY: $$cap_react_stripe_public_id REACT_APP_FILE_UPLOADS_ENABLED: $$cap_upload_enabled CUSTOMER_IO_SITE_ID: $$cap_customer_io_site_id CUSTOMER_IO_API_KEY: $$cap_customer_io_api_key AWS_ACCESS_KEY_ID: $$cap_aws_access_key_id AWS_SECRET_ACCESS_KEY: $$cap_aws_secret_key BUCKET_NAME: $$cap_aws_bucket AWS_REGION: $$cap_aws_region REQUIRE_DB_SSL: $$cap_db_require_ssl caproverExtra: containerHttpPort: '4000' dockerfileLines: - FROM papercups/papercups:$$cap_papercups_tag - ENTRYPOINT sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && echo 'running' && /entrypoint.sh run" $$cap_appname-db: image: postgres:$$cap_postgres_tag volume: - '$$cap_appname-db-data:/var/lib/postgresql/data' environment: POSTGRES_PASSWORD: $$cap_postgres_password caproverExtra: notExposeAsWebApp: true caproverOneClickApp: variables: - id: $$cap_papercups_tag label: Papercups Tag defaultValue: 1.1.0 description: 'Check out their docker page for the valid tags https://hub.docker.com/r/papercups/papercups/tags' - id: $$cap_postgres_tag label: Postgres Tag defaultValue: 9.6-alpine description: 'Check out their docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags' - id: $$cap_postgres_password label: Postgres Password defaultValue: $$cap_gen_random_hex(16) - id: $$cap_secret_key label: Papercups Secret Key defaultValue: $$cap_gen_random_hex(64) validRegex: /.{64,}/ description: 'Must be at least 64 bytes' - id: $$cap_mix_env label: Mix Env defaultValue: prod description: 'Learn more at https://hexdocs.pm/mix/Mix.html#module-environments' - id: $$cap_upload_enabled label: Enable Papercups Upload defaultValue: 1 - id: $$cap_email_from_address label: Email From Address defaultValue: 'noreply@mail.papercups.io' - id: $$cap_mailgun_api_key label: Mailgun API Key defaultValue: '' - id: $$cap_email_from_domain label: Email From Domain defaultValue: '$$cap_appname.$$cap_root_domain' - id: $$cap_slack_bot_access_token label: Slack Bot Access Token defaultValue: '' - id: $$cap_slack_client_id label: Slack Bot Client ID defaultValue: '' - id: $$cap_slack_client_secret label: Slack Bot Client Secret defaultValue: '' - id: $$cap_sentry_dsn label: Sentry DSN defaultValue: '' - id: $$cap_stripe_secret label: Stripe Secret defaultValue: '' - id: $$cap_react_google_analytics_id label: Google Analytics ID defaultValue: '' - id: $$cap_react_slack_client_id label: Papercups's React Slack Client ID defaultValue: '' - id: $$cap_react_sentry_dsn label: Papercups's React Sentry DSN defaultValue: '' - id: $$cap_react_logrocket_id label: Papercups's React LogRocket ID defaultValue: '' - id: $$cap_react_stripe_public_id label: Papercups's React Stripe Public ID defaultValue: '' - id: $$cap_customer_io_site_id label: Customer.io Site ID defaultValue: '' - id: $$cap_customer_io_api_key label: Customer.io API Key defaultValue: '' - id: $$cap_aws_access_key_id label: AWS Access Key ID defaultValue: '' - id: $$cap_aws_secret_key label: AWS Secret Key ID defaultValue: '' - id: $$cap_aws_bucket label: AWS Bucket defaultValue: '' - id: $$cap_aws_region label: AWS Region defaultValue: '' - id: $$cap_db_require_ssl label: DB Require SSL defaultValue: 'false' instructions: start: >- Papercups is an open source live customer chat web app written in Elixir. For more info visit https://papercups.io/ end: |- Papercups has been successfully deployed! -------------------------------------------- Before you proceed, you must: 1. Enable HTTPS 2. Enable Websocket Support -------------------------------------------- App is available as http://$$cap_appname.$$cap_root_domain displayName: Papercups isOfficial: false description: >- Papercups is an open source live customer chat web app written in Elixir. documentation: >- This docker-compose is taken from https://github.com/papercups-io/papercups/blob/master/docker-compose.prod.yml Papercups's example environment https://github.com/papercups-io/papercups/blob/master/.env.example