DCCAtlas

DCCAtlas

Docker app from DCCAtlas' Repository

Overview

DCCAtlas is a careful IRC file-server client with a web page. It searches the file servers and search bots in the IRC channels you choose (@find, @search, and the file lists servers post), browses a file server's folders, and fetches files over DCC into your downloads share, never two at once from one server and spaced out, so that it never floods a channel or a server. It can log in with a server password, SASL, NickServ or a client certificate, and Prowlarr can use it as an indexer and a download client. The first time you open it, it asks you to set a password with a setup code: click the DCCAtlas icon on the Docker tab, choose Logs, and find the line "Setup code". "Forgot password?" on the sign-in page writes a reset code to the same log. Use it only for files you have the right to download.

DCCAtlas

DCCAtlas is a careful IRC file-server client with a web page. It runs Irssi as its IRC and DCC engine, with a self-hosted web application in front of it, in one container.

  • Search the file servers in the channels you choose: SysReset-style @find servers, search bots that answer @search, and file lists, kept and searched offline, including the whole lists list servers post (@Nick).
  • Browse a file server's folders, and see the file servers announcing themselves in a channel.
  • Download over DCC into a folder of your choice, with a queue, at most two at once and never two from the same server.
  • Log in to a network with a server password, SASL, NickServ, or a client certificate the app makes for you.
  • *Prowlarr and the arr apps: DCCAtlas can be added as an indexer and a download client (Newznab and SABnzbd). Each source has a category (Books, TV, Movies…), and a search reaches only the sources of the category it asks for, connecting them for the search and disconnecting them later.

It is cautious by design: each request is sent once, searches are spaced out, an uncertain request is never repeated by itself, and nothing connects to IRC until you press Connect.

Use it only for files you have the right to download.

Install

Unraid

Install DCCAtlas from the Apps tab (Community Applications); the template is in CaptainEpix/dccatlas-unraid. Then open the WebUI. To set the password the first time, you need the setup code DCCAtlas prints when it starts: on the Docker tab click its icon, choose Logs, and find the line Setup code: XXXX-XXXX-XXXX.

Docker Compose

From a copy of this repository:

docker compose -f deploy/compose.yaml up --build -d
docker compose -f deploy/compose.yaml logs dccatlas   # the setup code

Then open http://localhost:8080. The image is also published as ghcr.io/captainepix/dccatlas.

The user guide covers everything else: sources, searching, downloads, logins, Prowlarr, settings and what to do when something looks odd.

Security

There is one operator, with a password set on the page. The page is plain HTTP: use it on your own network, or put an HTTPS reverse proxy in front. It accepts being opened by localhost, by an address on your own network, or by a name listed in FSERVE_ALLOWED_HOSTS, and refuses other names, which protects against DNS rebinding. Passwords and keys are kept only in the configuration volume.

Development

  • engine/dccatlas.pl — the Irssi script (the engine); it loads its parts, one file per area, from lib/FServe/Engine/.
  • lib/FServe/ — parsing, discovery, catalog and the durable transfer engine.
  • webapp/ — the web service and the page (webapp/static/).
  • deploy/ — Dockerfile, Compose file and the container supervisor.
  • t/, tools/, protocol-fixtures/ — the offline tests and fixtures; docs/TESTING.md says how to run them.

How the parts fit together, and the rules every change keeps, are in docs/DEVELOPING.md. What changed in each version is in docs/CHANGES.md; what is left to do is in the backlog; how a version is released is in docs/RELEASING.md.

Licence

MIT. The image includes Irssi, which is licensed under the GNU GPL version 2 or later.

Requirements

Outbound internet access to the IRC networks you add. The page is plain HTTP: open it on your own network, or put an HTTPS reverse proxy in front.

Categories

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/captainepix/dccatlas:latest
Last Updated2026-11-05
First Seen2026-11-05

Runtime arguments

Web UI
http://[IP]:[PORT:8080]
Network
bridge
Shell
bash
Privileged
false
Extra Params
--init --security-opt no-new-privileges:true

Template configuration

WebUIPorttcp

Port for the DCCAtlas web page.

Target
8080
Default
7744
Value
7744
DownloadsPathrw

Where fetched files are saved, in a folder per network and file server.

Target
/downloads
Default
/mnt/user/downloads/dccatlas
Value
/mnt/user/downloads/dccatlas
AppdataPathrw

Settings, sources, logins, stored file lists, the password verifier and the connection log.

Target
/config
Default
/mnt/user/appdata/dccatlas
Value
/mnt/user/appdata/dccatlas
Host namesVariable

Optional. Names you open the page by, comma separated, such as tower,tower.local. Addresses on your own network (192.168.x.x, 10.x.x.x) work without being listed. Other names are refused, which protects against DNS rebinding; so if Prowlarr reaches DCCAtlas by container name on a custom Docker network, list that name too.

Target
FSERVE_ALLOWED_HOSTS
PUIDVariable

User the files belong to and the app runs as (99 is nobody). Not 0.

Default
99
Value
99
PGIDVariable

Group the files belong to (100 is users). Not 0.

Default
100
Value
100
UMASKVariable

Permissions for downloaded files and folders: 022 makes them readable by everyone and writable by the app (644 and 755); 002 also lets the users group change them (664 and 775).

Default
022
Value
022
Secure cookieVariable

Set to 1 only behind an HTTPS reverse proxy: the sign-in cookie is then sent over HTTPS only.

Target
FSERVE_COOKIE_SECURE
Default
0
Value
0