diff --git a/public/v4/apps/wakapi.yml b/public/v4/apps/wakapi.yml new file mode 100644 index 000000000..1caf1c31b --- /dev/null +++ b/public/v4/apps/wakapi.yml @@ -0,0 +1,95 @@ +captainVersion: 4 +services: + # Wakapi + $$cap_appname: + image: ghcr.io/muety/wakapi:$$cap_wakapi_version + restart: always + volumes: + - $$cap_appname-data:/data + environment: + ENVIRONMENT: production + WAKAPI_SUPPORT_CONTACT: $$cap_wakapi_email + WAKAPI_PASSWORD_SALT: $$cap_wakapi_salt + WAKAPI_PUBLIC_URL: $$cap_appname.$$cap_root_domain + WAKAPI_ALLOW_SIGNUP: $$cap_wakapi_signup + WAKAPI_DB_HOST: srv-captain--$$cap_appname-db + WAKAPI_DB_USER: wakapi + WAKAPI_DB_PORT: 5432 + WAKAPI_DB_PASSWORD: $$cap_postgres_pass + WAKAPI_DB_NAME: wakapi + WAKAPI_DB_TYPE: postgres + depends_on: + - $$cap_appname-db + caproverExtra: + containerHttpPort: '3000' + # PostgreSQL + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_DB: wakapi + POSTGRES_USER: wakapi + POSTGRES_PASSWORD: $$cap_postgres_pass + POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_postgres_version + label: Postgres Version + defaultValue: '16.1-alpine' + description: Checkout their page for the valid tags https://hub.docker.com/_/postgres + validRegex: /^([^\s^\/])+$/ + - id: $$cap_wakapi_version + label: Wakapi Version + defaultValue: '2.9.3' + description: Checkout their github page for the valid tags https://github.com/muety/wakapi/pkgs/container/wakapi + validRegex: /^([^\s^\/])+$/ + - id: $$cap_wakapi_email + label: Wakapi support email + description: 'The email that will shown in site as support email' + defaultValue: 'hostmaster@wakapi.dev' + validRegex: '/.{1,}/' + - id: $$cap_wakapi_salt + label: Wakapi Salt for hashing password + description: 'salt for wakapi password hash' + defaultValue: $$cap_gen_random_hex(32) + validRegex: /^([^\s^\/])+$/ + - id: $$cap_wakapi_signup + label: enable signup + description: 'enable signup in wakapi' + defaultValue: 'true' + validRegex: /^(true|false)$/ + - id: $$cap_postgres_pass + label: Potgress Database password + description: 'Password for postgres' + defaultValue: $$cap_gen_random_hex(16) + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pg_initdb_args + label: "OPTIONAL: Arguments for 'postgres initdb'" + description: For example, --data-checksums + validRegex: /.{0,}/ + instructions: + start: >- + Wakapi is an open-source tool that helps you keep track of the time you have spent coding on different projects in different programming languages and more. + Ideal for statistics freaks and anyone else. + + + This app will install a default postgres instance with persistant data. You can choose the version yourself. The deployment was tested with postgres 16.x. + + For Updating just Deploy latest image from https://github.com/muety/wakapi/pkgs/container/wakapi using the Deploy via ImageName section in your caprover wakapi container + + For more details about wakapi, see: https://wakapi.dev + + + Enter your configuration parameters and click on next. It will take about a minute for the process to finish. + end: >- + Aaaand you're done! 🔥 + Your wakapi instance is available at http://$$cap_appname.$$cap_root_domain + displayName: wakapi + isOfficial: true + description: Wakapi is an open-source tool that helps you keep track of the time you have spent coding on different projects in different programming languages and more. + Ideal for statistics freaks and anyone else. + documentation: Official docs are [here](https://github.com/muety/wakapi#%EF%B8%8F-how-to-use) diff --git a/public/v4/logos/wakapi.png b/public/v4/logos/wakapi.png new file mode 100644 index 000000000..85a14b9fc Binary files /dev/null and b/public/v4/logos/wakapi.png differ