Spliit
Spliit is a lightweight, self-hosted alternative to Auth0 and Clerk. Open-source, cost-effective, and developer-friendly, it provides secure authentication (OAuth, email/password, social logins) with full control over your data. No per-user fees, easy to integrate, and perfect for startups or privacy-focused projects.
Configuration
services:
spliit:
image: ghcr.io/spliit-app/spliit:1.19.0
restart: unless-stopped
env_file:
- .env
depends_on:
spliit-db:
condition: service_healthy
spliit-db:
image: pgvector/pgvector:pg16
volumes:
- ${DB_DATA_LOCATION}:/var/lib/DBql/data
environment:
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_DATABASE:-spliit}
POSTGRES_INITDB_ARGS: '--data-checksums'
POSTGRES_HOST_AUTH_METHOD: trust
healthcheck:
test:
['CMD', 'pg_isready', '-U', "${DB_USERNAME}", '-d', "${DB_DATABASE:-spliit}"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
env_file:
- .env[variables]
main_domain = "${domain}"
secret_key = "${password}"
project_name = "spliit"
[config]
mounts = []
[[config.domains]]
serviceName = "spliit"
port = 3000
host = "${main_domain}"
[config.env]
DB_USERNAME = "${project_name}-admin"
DB_PASSWORD = "${secret_key}"
DB_DATA_LOCATION = "/data/${project_name}/database"
DB_DATABASE = "${project_name}"
# --- PostgreSQL ---
POSTGRES_PRISMA_URL = "postgresql://${DB_USERNAME}:${DB_PASSWORD}@${project_name}-db:5432/${DB_DATABASE}"
POSTGRES_URL_NON_POOLING = "postgresql://${DB_USERNAME}:${DB_PASSWORD}@${project_name}-db:5432/${DB_DATABASE}"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBzcGxpaXQ6XG4gICAgaW1hZ2U6IGdoY3IuaW8vc3BsaWl0LWFwcC9zcGxpaXQ6MS4xOS4wXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnZfZmlsZTpcbiAgICAgIC0gLmVudlxuICAgIGRlcGVuZHNfb246XG4gICAgICBzcGxpaXQtZGI6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gIHNwbGlpdC1kYjpcbiAgICBpbWFnZTogcGd2ZWN0b3IvcGd2ZWN0b3I6cGcxNlxuICAgIHZvbHVtZXM6XG4gICAgICAtICR7REJfREFUQV9MT0NBVElPTn06L3Zhci9saWIvREJxbC9kYXRhXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBQT1NUR1JFU19VU0VSOiAke0RCX1VTRVJOQU1FfVxuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICR7REJfUEFTU1dPUkR9XG4gICAgICBQT1NUR1JFU19EQjogJHtEQl9EQVRBQkFTRTotc3BsaWl0fVxuICAgICAgUE9TVEdSRVNfSU5JVERCX0FSR1M6ICctLWRhdGEtY2hlY2tzdW1zJ1xuICAgICAgUE9TVEdSRVNfSE9TVF9BVVRIX01FVEhPRDogdHJ1c3RcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6XG4gICAgICAgIFsnQ01EJywgJ3BnX2lzcmVhZHknLCAnLVUnLCBcIiR7REJfVVNFUk5BTUV9XCIsICctZCcsIFwiJHtEQl9EQVRBQkFTRTotc3BsaWl0fVwiXVxuICAgICAgaW50ZXJ2YWw6IDEwc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDVcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGVudl9maWxlOlxuICAgICAgLSAuZW52IiwKICAiY29uZmlnIjogIlxuW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxuc2VjcmV0X2tleSAgPSBcIiR7cGFzc3dvcmR9XCJcbnByb2plY3RfbmFtZSA9IFwic3BsaWl0XCJcblxuW2NvbmZpZ11cbm1vdW50cyA9IFtdXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcInNwbGlpdFwiXG5wb3J0ICAgICAgICA9IDMwMDBcbmhvc3QgICAgICAgID0gXCIke21haW5fZG9tYWlufVwiXG5cbltjb25maWcuZW52XVxuXG5EQl9VU0VSTkFNRSAgICAgPSBcIiR7cHJvamVjdF9uYW1lfS1hZG1pblwiXG5EQl9QQVNTV09SRCAgICAgPSBcIiR7c2VjcmV0X2tleX1cIlxuREJfREFUQV9MT0NBVElPTiA9IFwiL2RhdGEvJHtwcm9qZWN0X25hbWV9L2RhdGFiYXNlXCJcbkRCX0RBVEFCQVNFICAgICA9IFwiJHtwcm9qZWN0X25hbWV9XCJcblxuIyAtLS0gUG9zdGdyZVNRTCAtLS1cblBPU1RHUkVTX1BSSVNNQV9VUkwgICAgICAgPSBcInBvc3RncmVzcWw6Ly8ke0RCX1VTRVJOQU1FfToke0RCX1BBU1NXT1JEfUAke3Byb2plY3RfbmFtZX0tZGI6NTQzMi8ke0RCX0RBVEFCQVNFfVwiXG5QT1NUR1JFU19VUkxfTk9OX1BPT0xJTkcgID0gXCJwb3N0Z3Jlc3FsOi8vJHtEQl9VU0VSTkFNRX06JHtEQl9QQVNTV09SRH1AJHtwcm9qZWN0X25hbWV9LWRiOjU0MzIvJHtEQl9EQVRBQkFTRX1cIiIKfQ==Links
Tags
budgeting, finance, money
Version: latest