No description
Find a file
2025-02-20 02:10:39 -05:00
etc :init: Init 2025-02-19 16:44:17 -05:00
src update 2025-02-20 01:47:01 -05:00
.dockerignore :init: Init 2025-02-19 16:44:17 -05:00
.env.sample update 2025-02-20 01:47:01 -05:00
.gitignore update 2025-02-20 01:47:01 -05:00
build.docker.sh Update README and Docker 2025-02-20 02:10:39 -05:00
docker-compose.yml :init: Init 2025-02-19 16:44:17 -05:00
Dockerfile Update README and Docker 2025-02-20 02:10:39 -05:00
LICENSE :init: Init 2025-02-19 16:44:17 -05:00
README.md Update README and Docker 2025-02-20 02:10:39 -05:00

Zalvena Service

A fork of Aptabase Server software, modified to only work with projects using Zalvena.

Changes

  • Updated app key generation to use ZV instead of SH
  • Updated the name "Aptabase" to "Zalvena" in some sections
  • Updated browserslist
  • Updated node:18 to over/bun:1 in Dockerfile
  • Updated the pacakge @types/node from 20.8.7 to 22.13.4
  • Updated the pacakge @types/react from 18.2.30 to 19.0.10
  • Updated the pacakge @types/react-dom from 18.2.14 to 19.0.4
  • Updated the pacakge @vitejs/plugin-react-swc from 3.4.0 to 3.8.0
  • Updated the pacakge autoprefixer from 10.4.16 to 10.4.20
  • Updated the pacakge postcss from 8.4.31 to 8.5.3
  • Updated the pacakge tailwind-merge from 1.14.0 to 3.0.1
  • Updated the pacakge typescript from 5.2.2 to 5.7.3
  • Updated the pacakge vite from 4.5.3 to 6.1.1
  • Updated the pacakge vite-plugin-mkcert from 1.17.5 to 1.17.6
  • Updated the pacakge @aptabase/web from 0.4.0 to 0.4.3
  • Updated the pacakge @fontsource/inter from 5.0.14 to 5.1.1
  • Updated the pacakge @headlessui/react from 2.1.2 to 2.2.0
  • Updated the pacakge @radix-ui/react-accordion from 1.1.2 to 1.2.3
  • Updated the pacakge @radix-ui/react-label from 2.0.2 to 2.1.2
  • Updated the pacakge @radix-ui/react-popover from 1.0.7 to 1.1.6
  • Updated the pacakge @radix-ui/react-select from 2.0.0 to 2.1.6
  • Updated the pacakge @radix-ui/react-slot from 1.0.2 to 1.1.2
  • Updated the pacakge @radix-ui/react-tabs from 1.0.4 to 1.1.3
  • Updated the pacakge @radix-ui/react-tooltip from 1.0.7 to 1.1.8
  • Updated the pacakge @tabler/icons-react from 2.39.0 to 3.30.0
  • Updated the pacakge @tanstack/react-query from 5.0.0 to 5.66.7
  • Updated the pacakge chart.js from 4.4.0 to 4.4.8
  • Updated the pacakge chartjs-plugin-annotation from 3.0.1 to 3.1.0
  • Updated the pacakge cmdk from 0.2.1 to 1.0.4
  • Updated the pacakge date-fns from 3.6.0 to 4.1.0
  • Updated the pacakge framer-motion from 10.16.4 to 12.4.5
  • Updated the pacakge jotai from 2.9.1 to 2.12.1
  • Updated the pacakge react from 18.2.0 to 19.0.0
  • Updated the pacakge react-dom from 18.2.0 to 19.0.0
  • Updated the pacakge react-markdown from 9.0.0 to 9.0.3
  • Updated the pacakge react-router-dom from 6.17.0 to 7.2.0
  • Updated the pacakge rehype-highlight from 7.0.0 to 7.0.2
  • Updated the pacakge remark-gfm from 4.0.0 to 4.0.1
  • Updated the pacakge sonner from 1.0.3 to 2.0.0
  • Added .env.sample
  • Redesigned login screen
  • Remote sources removed to make this fork comply with SudoVanilla Umbrella Policy
  • Removed all support elements and Chirp
  • Removed instructions screen
  • Removed /etc/tinybird
  • Removed /src/Properties/
  • Removed /tests/
  • Removed /tools/

Planned Changes

  • Revamp emails
    • Use SudoVanilla Gateway email template
  • Revamp design
    • Use Mona Font
    • Replace sidebar layout with header
    • Replace Tabler icons with Iconoir
  • Add SudoVanilla Gateway OpenID Login
  • Add new instruction screens
  • Remove all traces of Aptabase trademarks, branding, and name to differentiate Zalvena from Aptabase
  • Remove all Aptabase Cloud functions including Billing, US/EU Regions, and more

Maybe

  • Replace usage of React with Astro? 🤔

Selfhosting

# docker-compose.yml
services:
  aptabase_db:
    container_name: aptabase_db
    image: postgres:15-alpine
    restart: always
    volumes:
      - ./tmp/db-data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: aptabase
      POSTGRES_PASSWORD: 0000000000000000000000000000000000000000000000000000000000000000
  aptabase_events_db:
    container_name: aptabase_events_db
    image: clickhouse/clickhouse-server:23.8.4.69-alpine
    restart: always
    volumes:
      - ./tmp/events-db-data:/var/lib/clickhouse
    environment:
      CLICKHOUSE_USER: aptabase
      CLICKHOUSE_PASSWORD: 0000000000000000000000000000000000000000000000000000000000000000
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
  aptabase:
    container_name: aptabase_app
    image: oci.registry.sudovanilla.org/zalvena
    restart: always
    env_file:
      - ./.env
    volumes:
      - /etc/hosts:/etc/hosts
    depends_on:
      - aptabase_events_db
      - aptabase_db
    ports:
      - 6521:8080
# .env
BASE_URL="https://zv.example.org"
AUTH_SECRET="Ah6Lm3h8Qmnhm8oDfw09AOUYEOMKpzfqIFPjBA2waLPm9SD65BA1eSXde9OS80nE"
DATABASE_URL="Server=aptabase_db;Port=5432;User Id=aptabase;Password=0000000000000000000000000000000000000000000000000000000000000000;Database=aptabase"
CLICKHOUSE_URL="Host=aptabase_events_db;Port=8123;Username=aptabase;Password=0000000000000000000000000000000000000000000000000000000000000000"
SMTP_HOST="smtp.resend.com"
SMTP_PORT="465"
SMTP_USERNAME="resend"
SMTP_PASSWORD=""
SMTP_FROM_ADDRESS="no-reply@example.org"

For NGINX, use the following for /:

if ($request_method = OPTIONS) {
    return 204;
}

if ($http_origin = ''){
    set $http_origin "*";
}

proxy_hide_header Access-Control-Allow-Origin;
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Methods 'GET, POST, DELETE, PUT, OPTIONS' always;
add_header Access-Control-Allow-Headers * always;

For NGINX Proxy Manager, you'll need to add / with the configuration in 'Custom locations', as this won't work in 'Advanced'.

License

Aptabase and Zalvena Service is open-source under the AGPLv3 license. You can use it for free, but you must share any changes you make to the code.