2025-02-19 16:44:17 -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`
2025-02-20 01:47:01 -05:00
- Updated the name "Aptabase" to "Zalvena" in some sections
2025-02-19 16:44:17 -05:00
- 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`
2025-02-20 01:47:01 -05:00
- Added `.env.sample`
- Redesigned login screen
2025-02-19 16:44:17 -05:00
- Remote sources removed to make this fork comply with SudoVanilla Umbrella Policy
- Default avatar points to https://md.sudovanilla.org/images/icons/Aptabase.jpg
- Flags point to https://md.sudovanilla.org/images/flags/
- Removed all support elements and Chirp
- Removed instructions screen
- Removed `/etc/tinybird`
- Removed `/src/Properties/`
- Removed `/tests/`
- Removed `/tools/`
2025-02-20 01:47:01 -05:00
## 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? 🤔
2025-02-20 02:10:39 -05:00
## Selfhosting
```yaml
# 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
```
```bash
# .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 `/` :
```conf
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'.
2025-02-19 16:44:17 -05:00
## License
Aptabase and Zalvena Service is open-source under the [AGPLv3 license ](./LICENSE ). You can use it for free, but you must share any changes you make to the code.