# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Vaultwarden
spec:
    description: Unofficial Bitwarden compatible server written in Rust
    icon: https://github.com/dani-garcia/vaultwarden/raw/refs/heads/main/resources/vaultwarden-icon-white.svg
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The public domain to access your Vaultwarden instance.
        - key: ADMIN_TOKEN
          type: STRING
          name: Admin Token
          description: Token for Vaultwarden admin panel access.
    tags:
        - Starter
        - Security
    readme: |
        # Vaultwarden
        Unofficial Bitwarden compatible server written in Rust.
        Features:
        - Lightweight Bitwarden alternative
        - Compatible with official Bitwarden clients
        - Easy self-hosting
    services:
        - name: vaultwarden
          icon: https://github.com/dani-garcia/vaultwarden/raw/main/resources/vaultwarden-icon.svg
          template: PREBUILT
          spec:
            id: vaultwarden
            source:
                image: vaultwarden/server:latest
            ports:
                - id: web
                  port: 80
                  type: HTTP
            volumes:
                - id: data
                  dir: /data
            env:
                ADMIN_TOKEN:
                    default: ${ADMIN_TOKEN}
                    expose: true
