Understanding the Package Structure
The installation package is not a simple compressed directory to be "randomly copied to a server." The programs, daemons, platform scripts, and optional media components in the root directory each have specific responsibilities; distinguishing them first ensures you do not modify the wrong files during installation, upgrades, or troubleshooting.
flowchart LR
A[Release root] --> B[Programs: main / node-agent]
B --> C[Management: scripts]
C --> D[Optional: media]
D --> E[Persistent: Config / Data]
What to Expect After Extraction
AKStream.Next-<version>-<RID>/
├── AKStream.Next/ Main service, dependencies, compiled WebUI, default Config
├── NodeAgent/ Independent node agent
├── Deploy/ Installer and lifecycle script for this platform
│ └── linux|windows|macos/
├── MediaServer/ Present only when this delivery includes a media service
├── Demos/
│ ├── rtc-web/ Desktop-browser RTC example
│ └── rtc-h5/ Mobile H5 RTC example
├── Tools/ Optional tools such as a bundled FFmpeg
├── VERSION Package version marker
└── README.md Notes for this package
Binary extensions and media-service executables vary by platform. Whether MediaServer ships inside the archive depends on the particular release asset. A missing directory is not automatically corruption; follow the current installer and first-setup guidance to select an existing node or another supported preparation path. Do not assemble a package from binaries belonging to different versions.
Directory Responsibilities
| Directory | Executed By | Primary Responsibility | Direct Modification |
|---|---|---|---|
AKStream.Next/ |
AKStream.Next Main Service | WebUI, API, devices and channels, permissions, tasks, recording index, RTC orchestration | Do not directly modify published files |
NodeAgent/ |
Independent Host Service | Performs restricted start/stop, restart, and recovery checks when the main process is offline | Do not directly modify |
Deploy/ |
Administrator (Manual) | Build, publish, install, status, start/stop, recovery acceptance, and uninstall | Read-only; use scripts from the new package during upgrades |
MediaServer/ |
Media service | Media transmission/reception, protocol conversion, WebRTC, and recording-file generation | Configuration is managed by the platform and deployment settings |
Demos/ |
Browser | RTC access examples, not the management WebUI | Can be used for verification and secondary development reference |
Tools/ |
Main Service or Ops | Optional execution tools such as FFmpeg | Only replace with verified versions of the same architecture |
AKStream.Next/wwwroot contains the pre-compiled management WebUI. Production servers do not need to run Vite; simply access the HTTP address of the main service to view the page.
Package Directory vs. Installation Directory
The installation script copies the package contents to a fixed runtime location, sets permissions, and registers the host service. Do not allow systemd, SCM, or launchd to run files directly from the "download directory" long-term.
| Platform | Default Program Directory | Default Configuration Directory | Host Service |
|---|---|---|---|
| Linux | /opt/AKStream.Next |
/etc/akstream-next/Config |
akstream-next.service, akstream-next-agent.service |
| Windows | %ProgramFiles%\AKStream.Next |
%ProgramData%\AKStream.Next\Config |
AKStream.Next, AKStream.Next.NodeAgent |
| macOS | /Library/Application Support/AKStream.Next |
Config in the same directory |
com.akstream.next, com.akstream.next.agent |
| Docker | Default ~/AKStream.Next-Docker |
Config in the root directory |
Main container and Agent container in Compose |
Configurations, keys, database connections, recordings, and logs should not exist solely within the version directory. Upgrades will replace program files but should preserve configurations and data.
Pre-installation Checklist
VERSIONmatches the version shown on the download page.- The package RID matches the server CPU; for example,
linux-x64cannot be used for ARM64. - Use the SHA256 file from the same Release to verify the archive, rather than relying on the filename.
- After extraction, the main program directory, NodeAgent, platform deployment scripts, and README must be present.
Linux Example:
uname -m
sha256sum -c SHA256SUMS.txt --ignore-missing
tar -xzf AKStream.Next-<version>-linux-x64.tar.gz
cd AKStream.Next-<version>-linux-x64
./Deploy/linux/akstream-next.sh --help
Files That Should Not Be Manually Modified
- Do not overwrite individual DLLs in
AKStream.Next/for "hotfixes"; this may cause version mismatches. - Do not write actual passwords back into the package example
Configbefore copying it elsewhere. - Do not replace only the MediaServer binary while keeping incompatible dynamic libraries or
config.ini. - Do not directly delete the NodeAgent; it is responsible for restricted recovery when the main service is offline.
- Do not use
Demosas a production authentication proxy; examples must be integrated into your own business security boundary.
Next, select your server for Linux Installation, Windows Installation, macOS Installation, or Docker Installation.