96 lines
No EOL
2.9 KiB
Markdown
Executable file
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. |