diff --git a/public/v4/apps/chaskiq.yml b/public/v4/apps/chaskiq.yml new file mode 100644 index 0000000..7813614 --- /dev/null +++ b/public/v4/apps/chaskiq.yml @@ -0,0 +1,156 @@ +captainVersion: 4 +services: + $$cap_appname-postgres: + image: postgres:12 + volumes: + - $$cap_appname-postgres-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: chaskiq + POSTGRES_PASSWORD: $$cap_chaskiq_postgres_password + POSTGRES_DB: chaskiq + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-redis: + volumes: + - $$cap_appname-redis-data:/data + restart: always + environment: + REDIS_PASSWORD: $$cap_chaskiq_redis_password + caproverExtra: + dockerfileLines: + - FROM redis:alpine + - CMD exec redis-server --requirepass "$$cap_chaskiq_redis_password" + notExposeAsWebApp: 'true' + $$cap_appname-web: + restart: always + environment: + HOST: https://$$cap_appname-web.$$cap_root_domain + WS: wss://$$cap_appname-web.$$cap_root_domain + RAILS_ENV: production + RAILS_LOG_TO_STDOUT: 'true' + RAILS_SERVE_STATIC_FILES: 'true' + SECRET_KEY_BASE: $$cap_chaskiq_secret_key_base + ADMIN_EMAIL: $$cap_ADMIN_USER_EMAIL + ADMIN_PASSWORD: $$cap_ADMIN_PASSWORD + DATABASE_URL: postgres://chaskiq:$$cap_chaskiq_postgres_password@srv-captain--$$cap_appname-postgres:5432/chaskiq + REDIS_URL: redis://default:$$cap_chaskiq_redis_password@srv-captain--$$cap_appname-redis:6379 + AWS_ACCESS_KEY_ID: $$cap_chaskiq_aws_key_id + AWS_SECRET_ACCESS_KEY: $$cap_chaskiq_aws_access_key + AWS_S3_BUCKET: $$cap_chaskiq_aws_s3_bucket + AWS_S3_REGION: $$cap_chaskiq_aws_s3_region + GEOCODER_API_KEY: $$cap_chaskiq_geocoder_api_key + DEFAULT_GEOCODER_SERVICE: $$cap_chaskiq_geocoder_service + SCOUT_KEY: $$cap_chaskiq_scoutapp_key + DEFAULT_OUTGOING_EMAIL_DOMAIN: $$cap_chaskiq_default_ongoing_domain + DEFAULT_SENDER_EMAIL: $$cap_chaskiq_default_sender_email + + caproverExtra: + containerHttpPort: '3000' + dockerfileLines: + - FROM chaskiq/chaskiq:$$cap_chaskiq_version + - EXPOSE 3000 + - CMD bundle exec rails db:setup; bundle exec rails admin_generator; bundle exec rails s -b 0.0.0.0 -p 3000 + $$cap_appname-worker: + restart: always + environment: + HOST: https://$$cap_appname.$$cap_root_domain + WS: wss://$$cap_appname.$$cap_root_domain + RAILS_ENV: production + RAILS_LOG_TO_STDOUT: 'true' + SECRET_KEY_BASE: $$cap_chaskiq_secret_key_base + ADMIN_EMAIL: $$cap_ADMIN_USER_EMAIL + ADMIN_PASSWORD: $$cap_ADMIN_PASSWORD + DATABASE_URL: postgres://chaskiq:$$cap_chaskiq_postgres_password@srv-captain--$$cap_appname-postgres:5432/chaskiq + REDIS_URL: redis://default:$$cap_chaskiq_redis_password@srv-captain--$$cap_appname-redis:6379 + AWS_ACCESS_KEY_ID: $$cap_chaskiq_aws_key_id + AWS_SECRET_ACCESS_KEY: $$cap_chaskiq_aws_access_key + AWS_S3_BUCKET: $$cap_chaskiq_aws_s3_bucket + AWS_S3_REGION: $$cap_chaskiq_aws_s3_region + GEOCODER_API_KEY: $$cap_chaskiq_geocoder_api_key + DEFAULT_GEOCODER_SERVICE: $$cap_chaskiq_geocoder_service + SCOUT_KEY: $$cap_chaskiq_scoutapp_key + DEFAULT_OUTGOING_EMAIL_DOMAIN: $$cap_chaskiq_default_ongoing_domain + DEFAULT_SENDER_EMAIL: $$cap_chaskiq_default_sender_email + + caproverExtra: + dockerfileLines: + - FROM chaskiq/chaskiq:$$cap_chaskiq_version + - CMD bundle exec sidekiq -C config/sidekiq.yml + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_chaskiq_version + label: Chaskiq Version Tag + description: You can use latest tag or check version builds on https://hub.docker.com/r/chaskiq/chaskiq/tags + defaultValue: 6aa9208 + - defaultValue: 'admin@example.com' + description: This is the admin email. Please change it. + id: $$cap_ADMIN_USER_EMAIL + label: Admin Email + validRegex: /^([^\s^\/])+$/ + - id: $$cap_ADMIN_PASSWORD + description: This is the admin password. Change it if you will. + defaultValue: $$cap_gen_random_hex(12) + label: Admin Password + validRegex: /^[^\@]{12,}$/ + - id: $$cap_chaskiq_default_sender_email + label: Default sender email + description: 'Default email sender, like: notifications@mail.yourapp.com' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_chaskiq_default_ongoing_domain + label: Default deliver domain + description: For multiple email deliver tasks, like mail.yourdomain.com + - id: $$cap_chaskiq_secret_key_base + defaultValue: $$cap_gen_random_hex(64) + label: Chaskiq Secret Key Base + description: The randomized string which is used to verify the integrity of signed cookies. Please use a string with more than 26 characters + validRegex: /^[^\@]{26,}$/ + - id: $$cap_chaskiq_postgres_password + defaultValue: $$cap_gen_random_hex(12) + label: Postgres Password + description: Password must be at least 12 characters. Please use a random string. + validRegex: /^[^\@]{12,}$/ + - id: $$cap_chaskiq_redis_password + defaultValue: $$cap_gen_random_hex(12) + label: Redis Password + description: Password must be at least 12 characters. Please use a random string. + validRegex: /^[^\@]{12,}$/ + - id: $$cap_chaskiq_aws_key_id + label: AWS access key id + description: Amazon access key id (for file storage and email dispatching S3 / SES / SNS) + - id: $$cap_chaskiq_aws_access_key + label: AWS access key + description: Amazon access key (for file storage and email dispatching S3 / SES / SNS) + - id: $$cap_chaskiq_aws_s3_bucket + label: AWS S3 bucket + description: Amazon S3 bucket name + - id: $$cap_chaskiq_aws_s3_region + label: AWS bucket region + description: 'AWS S3 bucket region like: us-east-1' + - id: $$cap_chaskiq_aws_sns_configuration_set + label: SNS configuration set + description: This is important for chaskiq to receive emails (optional) + - id: $$cap_chaskiq_scoutapp_key + label: Scout app key + description: Scout AMP key, for performance & error monitoring (optional) + - id: $$cap_chaskiq_bugsnag_key + label: Bugsnag API key + description: Bugsnag API key for error reporting (optional) + - id: $$cap_chaskiq_geocoder_service + label: Geocoder service name, like (maxmind, ip_info, baidu, yandex) + description: The complete list of services can be found at https://github.com/alexreisner/geocoder/tree/master/lib/geocoder/lookups + - id: $$cap_chaskiq_geocoder_api_key + label: Geocoder API key + + instructions: + start: A full featured Live Chat, Support & Marketing platform https://chaskiq.io + end: >- + Your Chaskiq instance is now successfully deployed. + The admin account was created, just log in with those credentials. + The app will need to be served over SSL, activate HTTPS on the domain and websocket support. + + displayName: Chaskiq + isOfficial: true + description: A full featured Live Chat, Support & Marketing platform + documentation: 'Read more at: https://dev.chaskiq.io' diff --git a/public/v4/logos/chaskiq.png b/public/v4/logos/chaskiq.png new file mode 100644 index 0000000..4bfd028 Binary files /dev/null and b/public/v4/logos/chaskiq.png differ