Installation
Only Docker installation is supported.
Quick Start
⚠️ Critical: Directory Permissions ⚠️ You MUST create the bind
mount directory (data) before starting the container. The container runs as user 1000:1000, not root, and cannot modify host directory permissions for you.
If you skip step 1, Docker will create the directory as root, and the container will fail to start with permission errors.
Custom paths: Want your data elsewhere?
Create the directory first:
mkdir -p ~/Documents/gdluxxThen update your compose volumes to: - ~/Documents/gdluxx:/app/data
⚠️ Create the data directory first ⚠️
bashmkdir dataCopy environment file.
bashcp .env.example .envGenerate your
AUTH_SECRET. (Windows Note)bashopenssl rand -hex 32Paste your generated
AUTH_SECRETinto your.envfile.bashAUTH_SECRET=your-super-secret-auth-key-change-thisConfigure your
ORIGIN.The
ORIGINenvironment variable is a critical security setting that tells gdluxx what domain to expect for all requests. This helps prevent CSRF attacks.In your
.envfile, setORIGINto the URL you will use to access the application.- Most common: If you're accessing the app via
http://localhost:7755, you don't need to do anything. Thedocker-compose.ymlfile already sets a defaultORIGINofhttp://localhost:7755. - Network access: If you're accessing the app from another device on your network, set
ORIGINto your server's IP address. - Reverse proxy: If you're using a reverse proxy with HTTPS, set
ORIGINto your domain.
For more specifics, see the comments in the
.env.examplefile.- Most common: If you're accessing the app via
Create a
docker-compose.ymlfile.yamlname: gdluxx services: gdluxx: image: ghcr.io/gdluxx/gdluxx:latest container_name: gdluxx ports: - '7755:7755' volumes: - ./data:/app/data environment: - AUTH_SECRET=${AUTH_SECRET} - ORIGIN=${ORIGIN:-http://localhost:7755} restart: unless-stopped deploy: restart_policy: condition: on-failure max_attempts: 3 delay: 3sRun
docker compose up -d.bashdocker compose up -d
Windows Users
If you are on Windows, you may not have openssl. You can use the Windows Subsystem for Linux (WSL), Git Bash, or an alternative tool like CryptoTool's OpenSSL to generate the secret.
Also, I know nothing about Windows these days. I've never used WSL, Git Bash, or Docker on Windows. Unfortunately, I won't be able to assist with troubleshooting any issues that may arise.
This also means I've not tested any of this on Windows.
