# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Ackee
spec:
    description: Self-hosted, analytics tool for those who care about privacy.
    icon: https://camo.githubusercontent.com/0314a02a5717a34ed9074556e62d90cda361cfc56382b8df033ec62f8c1a55e8/68747470733a2f2f732e656c6563746572696f75732e636f6d2f696d616765732f61636b65652f69636f6e2e706e67
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: What is the domain of your Ackee website?
        - key: USERNAME
          type: STRING
          name: Username
          description: What is the username of your Ackee instance?
    tags:
        - Monitoring
        - Website
        - Analytics
        - Tool
    readme: |-
        # Ackee
        Self-hosted, Node.js based analytics tool for those who care about privacy. Ackee runs on your own server, analyzes the traffic of your websites and provides useful statistics in a minimal interface

        ## Overview
        Ackee is a self-hosted analytics tool that cares about privacy. We believe that you don't need to track every aspect of your visitors. Ackee keeps tracked data anonymized to avoid that users are identifiable, while still providing helpful insights. It's the right tool for everyone who doesn't need a full-featured marketing analytics platform like Google Analytics.
    services:
        - name: mongodb
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/mongodb.svg
          template: PREBUILT
          spec:
            source:
                image: mongo:7.0
                command:
                    - sh
                args:
                    - -c
                    - sed -i '10,23d' /usr/local/bin/docker-entrypoint.sh && exec docker-entrypoint.sh mongod
            ports:
                - id: database
                  port: 27017
                  type: TCP
            volumes:
                - id: data
                  dir: /data/db
            instructions:
                - title: Command to connect to your MongoDB
                  content: mongosh "mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}"
                - title: MongoDB connection string
                  content: mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}
                - title: MongoDB username
                  content: ${MONGO_USERNAME}
                - title: MongoDB password
                  content: ${MONGO_PASSWORD}
                - title: MongoDB host
                  content: ${PORT_FORWARDED_HOSTNAME}
                - title: MongoDB port
                  content: ${DATABASE_PORT_FORWARDED_PORT}
            env:
                MONGO_CONNECTION_STRING:
                    default: mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${MONGO_HOST}:${MONGO_PORT}
                    expose: true
                MONGO_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                MONGO_INITDB_ROOT_PASSWORD:
                    default: ${PASSWORD}
                MONGO_INITDB_ROOT_USERNAME:
                    default: mongo
                MONGO_PASSWORD:
                    default: ${MONGO_INITDB_ROOT_PASSWORD}
                    expose: true
                MONGO_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                MONGO_URI:
                    default: ${MONGO_CONNECTION_STRING}
                    expose: true
                MONGO_USERNAME:
                    default: ${MONGO_INITDB_ROOT_USERNAME}
                    expose: true
        - name: Ackee
          icon: https://camo.githubusercontent.com/0314a02a5717a34ed9074556e62d90cda361cfc56382b8df033ec62f8c1a55e8/68747470733a2f2f732e656c6563746572696f75732e636f6d2f696d616765732f61636b65652f69636f6e2e706e67
          template: PREBUILT
          spec:
            source:
                image: electerious/ackee
            ports:
                - id: web
                  port: 3000
                  type: HTTP
            env:
                ACKEE_MONGODB:
                    default: ${MONGO_URI}
                ACKEE_PASSWORD:
                    default: ${PASSWORD}
                ACKEE_TRACKER:
                    default: ${PASSWORD}
                ACKEE_USERNAME:
                    default: ${USERNAME}
                WAIT_HOSTS:
                    default: ${MONGO_HOST}:${MONGO_PORT}
          domainKey: PUBLIC_DOMAIN
