All apps · 0 apps
SuperSync
Docker app from BigWebstas' Repository
Overview
Readme
View on GitHubSuperSyncDocker
Publicly-published Docker Hub image for Super Productivity's
"SuperSync" server (packages/super-sync-server in the
super-productivity monorepo).
Upstream only publishes a private image at ghcr.io/super-productivity/supersync
(see issue #6225),
so this repo rebuilds it from the official source and pushes a public image to Docker Hub
at webstas/supersync.
There are no upstream release tags — master is the only source of truth. This repo
rebuilds from master and tags the result with the upstream commit SHA and a build date,
in addition to latest.
Building
./build.sh # build only, tags: latest, <upstream-sha>, <YYYYMMDD>
PUSH=true ./build.sh # build and push to Docker Hub
IMAGE=myuser/supersync ./build.sh # override the target image name
The script does a shallow clone of upstream master into a temp dir and builds using
upstream's own packages/super-sync-server/Dockerfile unmodified — nothing here forks
or patches their source.
Automated builds
.github/workflows/build-and-push.yml rebuilds and pushes daily (06:00 UTC) and on
manual dispatch, tracking upstream master. It needs two repo secrets:
DOCKERHUB_USERNAME— your Docker Hub usernameDOCKERHUB_TOKEN— a Docker Hub access token (Account Settings → Security → New Access Token; needs Read & Write)
The image is pushed to <DOCKERHUB_USERNAME>/supersync.
Running
cp .env.example .env # fill in JWT_SECRET, POSTGRES_PASSWORD, PUBLIC_URL, SMTP_*
docker compose up -d
docker-compose.yml is a trimmed copy of upstream's compose file (no Caddy/TLS —
front it with your own reverse proxy) pointed at webstas/supersync:latest by default.
See upstream's
env.example
for the full list of supported environment variables.
Unraid
This repo ships a Community Applications template at
templates/supersync.xml, plus a
ca_profile.xml describing the repo, as required by
ca.unraid.net/submit.
To use it before/without an official CA listing, add this repo as a template
repository in the Community Applications plugin (Apps → Settings → Template
Repositories): https://github.com/BigWebstas/SuperSync.
SuperSync needs its own PostgreSQL 16 database — the template does not bundle
one. Install a Postgres container first (e.g. the official postgres:16-alpine
image via a separate CA template), create a database/user for SuperSync, then
fill in the Database URL field with the resulting connection string.
Notes
- No Terms of Service / privacy policy is baked in. Upstream deliberately ships none —
see the comments in
.env.exampleand upstream's ownenv.examplefor thePRIVACY_*variables that generate one for your deployment. - This image tracks upstream
master, which has no stability guarantee. Pin to a specific<sha>tag rather thanlatestfor anything you care about staying stable.
Install SuperSync on Unraid in a few clicks.
Find SuperSync in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
webstas/supersync:latestRuntime arguments
- Web UI
http://[IP]:[PORT:1900]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Port the server listens on.
- Target
- 1900
- Default
- 1900
- Value
- 1900
Persistent app data directory.
- Target
- /app/data
- Default
- /mnt/user/appdata/supersync
- Value
- /mnt/user/appdata/supersync
Postgres 16 connection string for a database you create/manage separately, e.g. postgresql://supersync:PASSWORD@POSTGRES_IP:5432/supersync?connection_limit=60&pool_timeout=10 (the connection_limit param is important, see Overview).
- Target
- DATABASE_URL
Secret used to sign auth tokens, minimum 32 characters. Generate with: openssl rand -base64 32
- Target
- JWT_SECRET
URL your users/devices use to reach this server, with protocol. Used in verification/magic-link emails. MUST start with https:// unless you also set Node Env below to something other than production.
- Target
- PUBLIC_URL
- Default
- http://[IP]:[PORT:1900]
- Value
- http://[IP]:[PORT:1900]
Comma-separated list of origins allowed to call this server (add your self-hosted frontend URL if applicable).
- Target
- CORS_ORIGINS
- Default
- https://app.super-productivity.com
- Value
- https://app.super-productivity.com
Relying-party ID for passkey login: your domain, without protocol or port. Changing later invalidates existing passkeys.
- Target
- WEBAUTHN_RP_ID
- Default
- localhost
- Value
- localhost
Where users reach the auth UI, with protocol. Normally the same as Public URL.
- Target
- WEBAUTHN_ORIGIN
- Default
- http://[IP]:[PORT:1900]
- Value
- http://[IP]:[PORT:1900]
Set to something other than 'production' to allow http:// Public URLs (e.g. for LAN-only/testing use).
- Target
- NODE_ENV
- Default
- production
- Value
- production
Run Prisma database migrations automatically each time the container starts. Disable once your schema is stable if you'd rather run migrations manually.
- Target
- RUN_MIGRATIONS_ON_STARTUP
- Default
- true
- Value
- true
Optional comma-separated allowlist of exact addresses and/or *@domain rules restricting who may register. Leave blank to allow anyone who can reach the server.
- Target
- ALLOWED_EMAILS
SMTP server hostname, required for email verification.
- Target
- SMTP_HOST
SMTP port (587 for TLS/STARTTLS, 465 for SSL).
- Target
- SMTP_PORT
- Default
- 587
- Value
- 587
true for SSL on port 465, false for STARTTLS on 587.
- Target
- SMTP_SECURE
- Default
- false
- Value
- false
SMTP authentication username.
- Target
- SMTP_USER
SMTP authentication password.
- Target
- SMTP_PASS
From address for outgoing emails, e.g. "Super Productivity Sync" noreply@your-domain.com
- Target
- SMTP_FROM