Deploy Upload Service using Docker

Deploy Upload Service using Docker

Deploying ExportX upload service using Docker is suitable for any platform that supports Docker, including Google Cloud Run, DigitalOcean, AWS ECS, etc.

Prerequisites

  • Docker installed, or any platform that supports Docker, such as AWS ECS, Dokploy, fly.io, railway.app, etc.
  • Created COS bucket or prepared to use other S3-compatible storage

Environment Variable Generator

We provide an environment variable generator for you to conveniently configure bucket information. Moreover, you can also configure allowed upload paths and user whitelist to protect your upload endpoint.

Environment Variable Generator

You can deploy using the following two methods:

Method 2: Deploy on Any Docker-Supported Platform (Recommended)

We recommend using platforms like Dokploy, fly.io, railway.app, etc. for deployment. These platforms all support Docker containers, allowing you to easily deploy your upload service.

And you can quickly get the upload service address, making it convenient to configure the upload endpoint in ExportX.

Here's an example using Railway:

Deploy a Docker Image

Fill in exportxabfree/exportx-upload:dev

Then input environment variable configuration

Get Upload Service Address

Configure Upload Endpoint in ExportX

Method 1: Docker CLI Deployment

# Pull image
docker pull exportxabfree/exportx-upload:dev

# Set environment variables
BUCKET_CONFIGS='[
  {
    "id": "1",
    "name": "Bucket 1",
    "provider": "AWS_S3",
    "bucketName": "my-bucket-1",
    "accessKeyId": "",
    "secretAccessKey": "",
    "region": "",
    "endpoint": "",
    "bindingName": "MY_BUCKET",
    "allowedPaths": [
      "images"
    ],
    "idWhitelist": [
      "your_user_id"
    ]
  }
]'
AUTH_SECRET_KEY="your-secret-key"

# Run container
docker run -d --name exportx-upload -p 8080:8080 exportxabfree/exportx-upload:dev

Ready to eliminate image workflow friction?

Transform your team's 5-step manual process into 1-click automation.