ChatGPT-Community

ChatGPT-Community

Docker app from Jeffersonmouze's Repository

Overview

Docker packaging for the upstream ChatGPT Community app. Standard: just the app, with persistent appdata and no automatic SSH setup. Optional: map selected folders or enable GPU acceleration. Advanced: opt in to SSH setup and authorize the key separately for server administration. Existing SSH data is preserved. WebUI login is optional; keep access on a trusted LAN/VPN.

ChatGPT Community — Docker Image

Build Docker image Unraid ready Platform Docker packaging license: MIT

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 PUID and PGID to the user/group IDs that should own appdata. On Linux, check these with id -u and id -g; the example uses 1000.
  • Set TZ to your timezone if desired.
  • For access from another device, replace 127.0.0.1 in the port mapping with your server's trusted LAN IP. The default allows access only from the Docker host.
  • Optionally set PASSWORD for 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.

Open the Apps tab on your Unraid server Search Community Apps for ChatGPT-Community Review the template variables and paths Click Install

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/jeffreymooiweer/chatgpt-community-docker:latest
Last Updated2026-09-30
First Seen2026-09-30

Runtime arguments

Web UI
https://[IP]:[PORT:3001]/
Network
bridge
Shell
bash
Privileged
false
Extra Params
--shm-size=1g --hostname=ChatGPT-Community

Template configuration

WebUI HTTPSPorttcp

ChatGPT application over HTTPS

Target
3001
Default
33443
Value
33443
AppdataPathrw

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
Optional: shared folderPathro

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
WebUI username (optional)Variable

Only used when a WebUI password is set; unrelated to your ChatGPT account

Target
CUSTOM_USER
Default
abc
Value
abc
WebUI password (optional)Variable

Leave blank for no WebUI login (trusted LAN/VPN only). Set a strong unique password to enable login.

Target
PASSWORD
WaylandVariable

Use Wayland/labwc; false selects the single-app X11 fallback

Target
PIXELFLUX_WAYLAND
Default
true
Value
true
Stream FPSVariable

Fixed stream frame-rate cap

Target
SELKIES_FRAMERATE
Default
30
Value
30
PUIDVariable

Container user ID; retain the existing value on upgrade

Default
99
Value
99
PGIDVariable

Container group ID; retain the existing value on upgrade

Default
100
Value
100
TimezoneVariable

Container timezone

Target
TZ
Default
Europe/Amsterdam
Value
Europe/Amsterdam
Advanced: provision host SSHVariable

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
Advanced: SSH hostVariable

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
Advanced: SSH userVariable

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
Advanced: SSH portVariable

Target SSH port; only used for a new SSH config.

Target
SSH_PORT
Default
22
Value
22