Cellarly

Cellarly

Docker app from coderoftime's Repository

Overview

Self-hosted wine cellar manager. Every bottle lives at an exact row and position in a rack you can spin around in 3D, on a server that is entirely yours. Search a wine catalog or snap a photo of the label, track what you paid and what it is worth, rate what you drink and watch the drink-window countdown. Share one server with your household, in German or English. Everything is stored in one SQLite file in the appdata folder, backed up daily and before every upgrade, and downloadable and restorable from the Admin page. Google Gemini (optional API key) powers label recognition, enrichment and the price and critics lookup.

Related apps

Explore more like this

Explore all

Details

Repository
registry.gitlab.com/coderoftime/cellarly:beta
Last Updated2026-11-05
First Seen2026-11-05

Runtime arguments

Web UI
http://[IP]:[PORT:3000]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--user 99:100

Template configuration

WebUI PortPorttcp

Port the web interface is served on.

Target
3000
Default
3000
Value
3000
DataPathrw

The SQLite database and its automatic backups. This is the only state the app has.

Target
/app/data
Default
/mnt/user/appdata/cellarly
Value
/mnt/user/appdata/cellarly
Session secretVariable

Signs and encrypts the session cookie. At least 32 random characters, e.g. from `openssl rand -base64 32`. Keep it stable: changing it signs everyone out.

Target
NUXT_SESSION_PASSWORD
Admin passwordVariable

Password of the admin account. Needed once, when the first start creates it; changing it later has no effect.

Target
NUXT_ADMIN_PASSWORD
Admin emailVariable

Email the admin signs in with. Read on the first start only.

Target
NUXT_ADMIN_EMAIL
Default
admin@localhost
Value
admin@localhost
Secure cookieVariable

Leave at false while you open the app over plain http://. Browsers drop a secure cookie over HTTP and login then silently fails. Set to true once the app is reached over HTTPS.

Target
NUXT_SESSION_COOKIE_SECURE
Default
false
Value
false
Gemini API keyVariable

Optional. Google Gemini key for label recognition, enrichment and the price and critics lookup (the lookup needs a paid key).

Target
NUXT_GEMINI_API_KEY
Daily backups keptVariable

How many daily backups of the database to keep in the backups folder. 0 switches them off. Backups taken before an upgrade or a restore are never deleted.

Target
NUXT_BACKUP_KEEP
Default
14
Value
14
Trusted proxiesVariable

Reverse proxies whose X-Forwarded-For is believed, comma-separated addresses or ranges. For Nginx Proxy Manager on the default bridge: 172.17.0.0/16.

Target
NUXT_TRUSTED_PROXIES
SMTP hostVariable

Optional. Together with SMTP from and SMTP public URL it switches on password-reset mails; without them an admin issues a temporary password instead.

Target
NUXT_SMTP_HOST
SMTP fromVariable

Sender address of the password-reset mail.

Target
NUXT_SMTP_FROM
SMTP public URLVariable

Address the reset link points to, e.g. https://cellarly.example.com

Target
NUXT_SMTP_PUBLIC_URL
SMTP portVariable

587 for STARTTLS, 465 with SMTP secure on.

Target
NUXT_SMTP_PORT
Default
587
Value
587
SMTP secureVariable

true means TLS from the first byte (port 465). Leave empty for STARTTLS.

Target
NUXT_SMTP_SECURE
SMTP userVariable

Only for relays that ask for a login.

Target
NUXT_SMTP_USER
SMTP passwordVariable

Only for relays that ask for a login.

Target
NUXT_SMTP_PASSWORD