All apps · 0 apps
ChatGPT-Community
Docker app from Jeffersonmouze's Repository
Overview
Readme
View on GitHubChatGPT Community — Docker Image
Run ChatGPT Community for Linux on your Docker server and use the app from your browser—without a full remote desktop.
Credit for ChatGPT Community belongs to its upstream authors and contributors. This repository provides Docker packaging and an automated build workflow. It does not develop the upstream application.
Unofficial community project, not affiliated with OpenAI or LinuxServer.io. This is not a local AI model. Online features require an internet connection and an eligible account; account limits still apply.
Docker image
ghcr.io/jeffreymooiweer/chatgpt-community-docker:latest
Architecture: linux/amd64 (64-bit Intel/AMD). GPU acceleration and host SSH
access are optional.
Image tags · Build status · Report an issue
An Unraid template is also available.
Choose your access level
| Level | What it does | What you configure |
|---|---|---|
| Standard — default | Runs the app with persistent settings and workspaces. No automatic host SSH setup. | Appdata and the WebUI port. No host address or SSH service needed. |
| Optional — selected files | Lets the app work with specific folders you choose. | Folder mappings, read-only or read/write. No SSH needed. |
| Advanced — server administration | Prepares SSH access using a server account you authorize separately. | Explicit SSH opt-in, connection settings, and host-side key authorization. |
These are configuration choices, not a permission sandbox. Existing credentials and integrations may still grant access. No mode automatically enables Privileged, mounts the Docker socket, or grants host root.
Install with Docker Compose
Save compose.yaml in an empty folder on your Docker server. Before starting:
- Set
PUIDandPGIDto the user/group IDs that should own appdata. On Linux, check these withid -uandid -g; the example uses1000. - Set
TZto your timezone if desired. - For access from another device, replace
127.0.0.1in the port mapping with your server's trusted LAN IP. The default allows access only from the Docker host. - Optionally set
PASSWORDfor an extra WebUI login. Leaving it blank skips that prompt; it does not remove your application account login.
Then, from the folder containing the file:
docker compose up -d
Open https://localhost:33443 on the Docker host, or https://YOUR-SERVER-IP:33443 when you configured LAN access.
HTTPS uses a self-signed certificate. Only accept the warning after checking that the address is your own server. Sign in to the application with your account.
Settings and local workspaces persist in ./appdata beside the Compose file.
Back up this complete folder, including hidden files. It may contain credentials.
Install with plain Docker
Alternatively, use a named Docker volume for persistent appdata:
docker run -d \
--name chatgpt-community \
--hostname chatgpt-community \
--restart unless-stopped \
--shm-size=1g \
-p 127.0.0.1:33443:3001 \
-e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC \
-e ENABLE_HOST_SSH=false \
-v chatgpt-community-config:/config \
ghcr.io/jeffreymooiweer/chatgpt-community-docker:latest
Adjust the IDs, timezone, and listen address as described above. To enable the
extra WebUI login, add -e PASSWORD before the image name and supply a strong
PASSWORD through your shell environment.
Choose one method. The Docker command uses the chatgpt-community-config
volume; Compose uses ./appdata. They are different storage locations. When
migrating an existing installation, keep its original /config source and
container hostname. Do not delete the volume or folder during an update.
Optional: access selected folders
Add a mapping to your existing Compose volumes list:
- /absolute/path/to/project:/workspace/project:ro
With docker run, add --mount type=bind,src=/absolute/path/to/project,dst=/workspace/project,readonly
before the image name. Replace the source with a real host folder, then open
/workspace/project inside the app.
Read-only access allows inspection. Use :rw in Compose, or remove readonly
from the Docker option, only if the app should change or delete files.
Host file permissions still apply. This grants file access, not full server
administration. Avoid mounting your entire server or sensitive configuration.
See Docker bind mounts.
Optional: GPU
For a supported Intel/AMD GPU, add --device=/dev/dri:/dev/dri with Docker or
uncomment the devices example in Compose. Omit it when the device is absent.
Otherwise CPU rendering is used. This accelerates the interface, not cloud AI
models. The examples do not configure NVIDIA support.
Configuration reference
| Setting | Purpose |
|---|---|
3001/tcp |
HTTPS port inside the container; the examples publish host port 33443. |
/config |
Persistent appdata, including credentials and local workspaces. |
PASSWORD |
Optional WebUI password; blank/unset means no extra login. |
CUSTOM_USER |
WebUI username when a password is set; default abc. |
PUID / PGID |
User/group IDs for access to appdata and shared files. |
TZ |
Your timezone. |
ENABLE_HOST_SSH |
Default false. Set true only to provision an SSH identity/config. |
PIXELFLUX_WAYLAND |
Default true; false selects the X11 display fallback. |
Advanced: server administration
See optional server access for SSH setup, non-root accounts, and connecting to the Docker host. This mode is optional; there is no built-in SSH-free full-host administration mode. Root inside the container is not automatically root on the server.
Existing users: your SSH keys, configs, and custom workspace instructions
are preserved. ENABLE_HOST_SSH=false skips automatic setup; it does not
revoke a previously authorized connection. Existing SSH configs are not
rewritten when environment variables change.
Updates and troubleshooting
The workflow checks upstream every six hours and runs a weekly refresh. Only
candidates that pass the required checks are published as latest. Upstream
changes can still require maintenance; failed candidates leave the previous
published image available. Previous builds have unique build-... tags.
Code changes rebuild the recorded, tested app version. Scheduled checks and manual workflow runs test newer upstream versions before promoting them.
Publication does not update running containers. Finish active tasks and back up appdata before updating. For Compose:
docker compose pull
docker compose up -d
For plain Docker, pull the new image and recreate the container with the same storage and settings. A plain restart does not apply new environment variables. Never run two instances against the same appdata. Rolling back may require a matching data backup as well as an older image.
Closing a browser tab leaves the app running; restarting the container interrupts
active sessions. For errors, inspect docker compose logs --tail=100 or
docker logs --tail 100 chatgpt-community. For display issues, try
PIXELFLUX_WAYLAND=false after finishing active work. Remove secrets from logs
before posting them in an issue.
Security and credits
Keep the WebUI on a trusted LAN or VPN—not directly on the internet. Without a
WebUI password, anyone who can reach its port can use your logged-in app and
connected tools. Protect appdata and backups. The app uses --no-sandbox,
disabling Chromium's internal sandbox; agent approvals are separate. Do not
rely on the container as a strong security boundary after granting host access.
Remote Mobile Control is experimental, separate from SSH setup, and depends on upstream and account availability. Upstream feature documentation.
- ChatGPT Community for Linux — the upstream authors and contributors, for the community app distribution and Linux adaptations.
- OpenAI — the underlying application, AI services, and associated assets.
- LinuxServer.io Selkies — the browser-streaming foundation.
This repository contributes Docker packaging only. Third-party software and assets retain their respective licenses and terms.
Install ChatGPT-Community on Unraid in a few clicks.
Find ChatGPT-Community 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.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/jeffreymooiweer/chatgpt-community-docker:latestRuntime arguments
- Web UI
https://[IP]:[PORT:3001]/- Network
bridge- Shell
bash- Privileged
- false
- Extra Params
--shm-size=1g --hostname=ChatGPT-Community
Template configuration
ChatGPT application over HTTPS
- Target
- 3001
- Default
- 33443
- Value
- 33443
Keep the existing path to preserve login, pairing and SSH keys
- Target
- /config
- Default
- /mnt/user/appdata/chatgpt-community
- Value
- /mnt/user/appdata/chatgpt-community
Leave blank for app-only mode. Select one folder to make it available at /workspace/files (read-only by default). Change Access Mode to Read/Write only if the app may edit/delete files.
- Target
- /workspace/files
Only used when a WebUI password is set; unrelated to your ChatGPT account
- Target
- CUSTOM_USER
- Default
- abc
- Value
- abc
Leave blank for no WebUI login (trusted LAN/VPN only). Set a strong unique password to enable login.
- Target
- PASSWORD
Use Wayland/labwc; false selects the single-app X11 fallback
- Target
- PIXELFLUX_WAYLAND
- Default
- true
- Value
- true
Fixed stream frame-rate cap
- Target
- SELKIES_FRAMERATE
- Default
- 30
- Value
- 30
Container user ID; retain the existing value on upgrade
- Default
- 99
- Value
- 99
Container group ID; retain the existing value on upgrade
- Default
- 100
- Value
- 100
Container timezone
- Target
- TZ
- Default
- Europe/Amsterdam
- Value
- Europe/Amsterdam
false: app only, no new SSH setup. true: create missing SSH keys/config; host authorization is separate. Existing SSH access is preserved, not revoked, when false.
- Target
- ENABLE_HOST_SSH
- Default
- false|true
- Value
- false
Only needed with SSH setup enabled and no existing SSH config. Enter the target server hostname or IP. No host address is needed for normal app use.
- Target
- SSH_HOST
Account on the target server; only used for a new SSH config. Root grants full host control once authorized; choose a restricted account where supported.
- Target
- SSH_USER
- Default
- root
- Value
- root
Target SSH port; only used for a new SSH config.
- Target
- SSH_PORT
- Default
- 22
- Value
- 22