captainVersion: 4 services: $$cap_appname-postgresql: environment: POSTGRES_PORT: 5432 POSTGRES_USER: $$cap_freshrss_POSTGRESQL_USER POSTGRES_PASSWORD: $$cap_freshrss_POSTGRESQL_PASS image: postgres:$$cap_fresrss_psql_version restart: always volumes: - $$cap_appname-postgresql-data:/var/lib/postgresql/data caproverExtra: notExposeAsWebApp: true '$$cap_appname': image: freshrss/freshrss:$$cap_version environment: TZ: '$$cap_tz' CRON_MIN: '$$cap_cron' FRESHRSS_ENV: '$$cap_env' PUBLISHED_PORT: '80' ADMIN_EMAIL: '$$cap_admin_email' ADMIN_PASSWORD: '$$cap_admin_pass' ADMIN_API_PASSWORD: '$$cap_api_pass' DB_HOST: srv-captain--$$cap_appname-postgresql DB_BASE: $$cap_freshrss_POSTGRESQL_DB DB_PASSWORD: $$cap_freshrss_POSTGRESQL_PASS DB_USER: $$cap_freshrss_POSTGRESQL_USER FRESHRSS_INSTALL: |- --api_enabled --base_url https://$$cap_appname.$$cap_root_domain --db-base $$cap_freshrss_POSTGRESQL_DB --db-host srv-captain--$$cap_appname-postgresql --db-password $$cap_freshrss_POSTGRESQL_PASS --db-type pgsql --db-user $$cap_freshrss_POSTGRESQL_USER --default_user admin --language en FRESHRSS_USER: |- --api_password $$cap_api_pass --email $$cap_admin_email --language en --password $$cap_admin_pass --user admin volumes: - '$$cap_appname-data:/var/www/FreshRSS/data' - '$$cap_appname-extensions:/var/www/FreshRSS/extensions' depends_on: - $$cap_appname-postgresql caproverExtra: containerHttpPort: '80' caproverOneClickApp: variables: - id: '$$cap_version' label: FreshRSS Version defaultValue: '1.20.0' description: Check out their Docker page for the valid tags https://hub.docker.com/r/freshrss/freshrss/tags validRegex: "/^([^\\s^\\/])+$/" - id: '$$cap_tz' label: Time Zone defaultValue: Europe/Vienna description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones validRegex: '/.{1,}/' - id: '$$cap_cron' label: Cron Minutes defaultValue: '2,32' description: a valid cron minute definition such as '13,43' (recommended) or '*/20'. Not passing the CRON_MIN environment variable – or setting it to empty string – will disable the cron daemon. - id: '$$cap_env' label: Environment defaultValue: 'production' description: Enables additional development information if set to development (increases the level of logging and ensures that errors are displayed) - id: '$$cap_admin_email' label: Admin Email defaultValue: 'admin@example.net' description: Email Address for Admin login - id: $$cap_admin_pass label: Admin Password defaultValue: $$cap_gen_random_hex(15) description: 'The password of the admin user.' validRegex: /.{1,}/ - id: $$cap_api_pass label: API Password defaultValue: $$cap_gen_random_hex(15) description: 'The password of the admin API.' validRegex: /.{1,}/ - id: '$$cap_fresrss_psql_version' label: PotgreSQL Version defaultValue: '15.0' description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres/tags validRegex: "/^([^\\s^\\/])+$/" - id: $$cap_freshrss_POSTGRESQL_USER label: POSTGRESQL_USER defaultValue: postgresuser validRegex: /^([a-zA-Z0-9\-\.\_])+$/ - id: $$cap_freshrss_POSTGRESQL_PASS label: POSTGRESQL_PASS defaultValue: $$cap_gen_random_hex(10) description: 'The password of freshrsss database user.' validRegex: /.{1,}/ - id: $$cap_freshrss_POSTGRESQL_DB label: POSTGRESQL_DB defaultValue: freshrss_production validRegex: /^([a-zA-Z0-9\-\.\_])+$/ instructions: start: |- FreshRSS is a self-hosted RSS feed aggregator like Leed or Kriss Feed. It is lightweight, easy to work with, powerful, and customizable. More details: https://github.com/FreshRSS/FreshRSS end: |- FreshRSS has been successfully deployed! displayName: FreshRSS isOfficial: true description: FreshRSS is a self-hosted RSS feed aggregator like Leed or Kriss Feed. documentation: See https://github.com/FreshRSS/FreshRSS