online-forever

online-forever

Docker app from LubricantJam's Repository

Overview

Keep a Discord user account showing as online (or idle / DND) by holding a gateway connection. Based on SealedSaucer/Online-Forever. There is no web UI.

Online Forever

Docker image of SealedSaucer/Online-Forever for Unraid and other Docker hosts. It keeps a Discord user account showing as online (or idle / DND) by holding a gateway connection.

Image: ghcr.io/jamsrepos/online-forever:latest

Disclaimer

Automating a Discord user account is against Discord's Terms of Service and Community Guidelines. Accounts can be suspended or terminated. This project is not affiliated with Discord Inc. Use it at your own risk.

Never share your Discord token. Anyone with it can use your account without the password or 2FA.

Unraid

Search for online-forever in Community Applications. Set your Discord token, start the container, then check the log for Logged in as .... There is no web UI.

Docker Compose

cp .env.example .env
# edit .env and set TOKEN
docker compose up -d

Mobile notifications

Discord holds push notifications while a desktop session looks active. This image marks the session as AFK by default (AFK=true) so the account can stay green/idle and your phone still gets messages.

Use STATUS=online or idle. Do Not Disturb mutes notifications on every device, including mobile.

Set AFK=false only if you want the old behaviour (desktop session treated as in use).

Environment variables

Variable Default Description
TOKEN (required) Discord user token. DISCORD_TOKEN is also accepted.
STATUS online online, idle, dnd, or invisible. dnd mutes notifications everywhere.
AFK true Mark the session idle so Discord still pushes messages to mobile.
CUSTOM_STATUS Hey! Custom status text. Leave empty to disable.
USE_EMOJI false Set true to attach an emoji to the custom status.
EMOJI_NAME 🔥 Unicode emoji or custom emoji name.
EMOJI_ID (empty) Required for custom (non-unicode) emojis.
EMOJI_ANIMATED false Set true for an animated custom emoji.
RECONNECT_DELAY 5 Seconds to wait before reconnecting.
TZ Europe/London Container timezone.

License

GNU General Public License v3.0, same as the upstream project. See NOTICE.

Install online-forever on Unraid in a few clicks.

Find online-forever 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 online-forever Review the template variables and paths Click Install

Requirements

This container uses a Discord user token to keep your account online. Automating a user account is against Discord's Terms of Service and may result in account action. Use at your own risk. Never share your token. There is no web UI — check the container log after start.

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/jamsrepos/online-forever:latest
Last Updated2026-09-27
First Seen2026-08-13

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

Discord TokenVariable

Your Discord user token. Never share this. Anyone with it can use your account.

Target
TOKEN
StatusVariable

Presence status: online, idle, dnd, or invisible. Use online or idle if you want mobile push notifications; dnd mutes them on every device.

Target
STATUS
Default
online
Value
online
AFK SessionVariable

Keep the desktop session AFK so Discord still sends message pushes to mobile. Set to false only if you want Discord to treat this session as in use.

Target
AFK
Default
true
Value
true
Custom StatusVariable

Custom status text shown on your Discord profile. Leave empty to disable.

Target
CUSTOM_STATUS
Default
Hey!
Value
Hey!
Use EmojiVariable

Set to true to attach an emoji to the custom status.

Target
USE_EMOJI
Default
false
Value
false
Emoji NameVariable

Unicode emoji or custom emoji name used when Use Emoji is true.

Target
EMOJI_NAME
Default
🔥
Value
🔥
Emoji IDVariable

Required only for custom (server) emojis.

Target
EMOJI_ID
Emoji AnimatedVariable

Set to true for an animated custom emoji.

Target
EMOJI_ANIMATED
Default
false
Value
false
Reconnect DelayVariable

Seconds to wait before reconnecting after a dropped gateway session.

Target
RECONNECT_DELAY
Default
5
Value
5
TimezoneVariable

The timezone for the container (e.g., Europe/London). Affects log timestamps.

Target
TZ
Value
Europe/London