Skip to content

Latest commit

 

History

History
162 lines (120 loc) · 6.53 KB

README.md

File metadata and controls

162 lines (120 loc) · 6.53 KB

GitHub package.json prod dependency version Release Architecture GitHub Actions Workflow Status Docker Pulls GitHub Container Registry GitHub License

Internxt CLI Docker Image

This project provides a Docker image for running the Internxt CLI and launching a WebDAV server backed by your Internxt cloud storage. It is designed for secure, automated deployments and supports two-factor authentication (TOTP), non-root execution, and flexible configuration via environment variables or secret files.


Table of Contents


Features

  • Secure login to Internxt with email, password, and optional TOTP (2FA).
  • Automatic WebDAV server activation if no command is passed.
  • Flexible environment variable management (direct or via secret files).
  • Run any Internxt CLI command inside the container.
  • Non-root user execution for improved security.
  • Configurable WebDAV protocol, port, and logging level.
  • Configurable TimeZone.
  • Multi-arch builds for amd64 , arm64 and armv7.

Prerequisites


Environment Variables

You can configure the container using the following environment variables:

Variable Description Required Default
INTERNXT_EMAIL Internxt login email. Yes
INTERNXT_PASSWORD Internxt login password. Yes
INTERNXT_TOTP_CODE TOTP code for two-factor authentication. No
INTERNXT_TOTP_SECRET TOTP secret for 2FA (INTERNXT_TOTP_CODE have priority) No
WEBDAV_HOST Listening host for WebDAV No 127.0.0.1
WEBDAV_PROTO Protocol for WebDAV (http or https). No https
WEBDAV_PORT WebDAV listening port. No 3005
WEBDAV_LOGS Log level (error or debug). No error
PUID User ID for running processes. No 1000
PGID Group ID for running processes. No 1000
TZ TimeZone for tzdata No Etc/UTC

Tip: For any INTERNXT_* variable above, you can use a corresponding *_FILE variable to load its value from a file (useful for secrets).


Docker Images

Registry Address ( tag : latest )
Docker Hub docker pull debben80/internxt-cli:latest
GitHub Container Registry docker pull ghcr.io/debben80/internxt-cli:latest

Usage

Start the WebDAV Server

docker run -d \
  -e INTERNXT_EMAIL=my@email.com \
  -e INTERNXT_PASSWORD=mypassword \
  -e INTERNXT_TOTP_SECRET=myTOTPsecret \
  debben80/internxt-cli

Run Internxt CLI Commands

You can run any Internxt CLI command by passing it as arguments:

docker run --rm \
  -e INTERNXT_EMAIL=my@email.com \
  -e INTERNXT_PASSWORD=mypassword \
  -e INTERNXT_TOTP_CODE=myTOTPcode \
  debben80/internxt-cli internxt list

Using Secrets

To use secrets, mount files and set the corresponding *_FILE environment variable:

docker run -d \
  -e INTERNXT_EMAIL_FILE=/run/secrets/email \
  -e INTERNXT_PASSWORD_FILE=/run/secrets/password \
  -v /run/secrets:/run/secrets:ro \
  debben80/internxt-cli

Docker Compose Example

services:
  internxt-webdav:
    image: debben80/internxt-cli:latest
    environment:
      INTERNXT_EMAIL: your@email.com
      INTERNXT_PASSWORD: yourpassword
    ports:
      - "3005:3005"
    restart: unless-stopped

Security Notes

  • The container runs as a non-root user (appuser).
  • Secrets can be injected via files for improved security.
  • Always use secure passwords and enable TOTP if possible.

Development


References


License

This project is licensed under the MIT License - see the LICENSE file for details.