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 because of 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.
- Or you can copy it from here
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 mandatory. It tells gdluxx what domain to expect for all requests. This helps prevent CSRF issues.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 so it's exposed. - 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. Maybe you do have openssl. Unfortunately, I won't be able to assist with troubleshooting any issues that may arise if you're on Windows.
This also means I've not tested any of this on Windows.
