Zalvena-Service/README.md
2025-02-21 02:40:42 -05:00

96 lines
No EOL
2.9 KiB
Markdown
Executable file

# Zalvena Service
A fork of Aptabase Server software, modified to only work with projects using Zalvena.
## Planned Changes
- [x] Revamp emails
- [ ] Revamp design
- [ ] Use Mona Font
- [ ] Replace sidebar layout with header
- [ ] Replace Tabler icons with Iconoir
- [x] New login screens
- [ ] 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
```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=zalvena_database;Port=5432;User Id=zalvena;Password=0000000000000000000000000000000000000000000000000000000000000000;Database=zalvena"
CLICKHOUSE_URL="Host=zalvena_events;Port=8123;Username=zalvena;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'.
## 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.