Strand community guide

Move your Strand addons to a free cloud Remux server

One set of addons, configured once, shared by every device you sign into Strand on (iPhone, iPad, Mac and Apple TV), working at home and away with a single URL. The server is a free Oracle Cloud VM running Remux. Every command below has a Copy button: tap it, paste into Terminal, press Return.

Why bother

Without a server, every device carries its own copy of your addons, and reconfiguring one means reconfiguring all of them. With Remux, Strand reads your catalogues from your server the way it reads a Jellyfin library. Change an addon once, every device follows. And because this server lives in the cloud rather than your house, there's no local-vs-remote split: the same address works everywhere, so Strand's Remote URL stays empty and there's no VPN to toggle.

Oracle's free tier is genuinely free (2 ARM cores, 12 GB RAM, 200 GB disk) and comfortably faster than a Raspberry Pi, which matters for the migration wait. The trade-off: Oracle sign-up can be finicky.

Two placeholders appear in commands, highlighted in yellow. Replace them after pasting, before pressing Return:

Time: 45–60 minutes of your attention, plus possible waiting for Oracle capacity, plus the migration wait itself.

1Oracle account

  1. Go to oracle.com/cloud/free and click Start for free.
  2. Use a real credit or debit card (prepaid and virtual cards are rejected). Nothing is charged on the free tier.
  3. Enter your billing address exactly as it appears on your bank statement.
  4. If verification fails: try a private browser window, a different email, a different card, and turn off adblockers and VPNs.
  5. After sign-up, note your Cloud Account Name. Future logins at cloud.oracle.com: Cloud Account Name, then email and password. Save all three in a password manager.

2SSH key (on your Mac)

Open Terminal: press Cmd + Space, type Terminal, press Return. Then:

Terminal
ssh-keygen -t ed25519 -C "YOUR_EMAIL"

Press Enter to accept the default location, then set a passphrase. To make the key file visible for uploading later: in Finder press Cmd + Shift + G, type ~/.ssh, press Enter. Keep that window open; the file you need is id_ed25519.pub.

3Create the server

  1. Oracle dashboard → Create a VM instance. Name: remux.
  2. Scroll to Image and shape:
    • Change image → Ubuntu → Canonical Ubuntu 24.04 → Select image
    • Change shapeAmpere → click the arrow next to VM.Standard.A1.Flex to expand the row → OCPUs 2, memory 12 → Select shape
  3. Networking (may be labelled Primary VNIC): Create new virtual cloud network, Create new public subnet, and make sure Assign a public IPv4 address is ticked.
  4. Add SSH keys → Upload public key files → drag in id_ed25519.pub from the Finder window.
  5. Storage → custom boot volume → size 200, performance 120.
  6. Review (Ubuntu 24.04, A1.Flex 2/12, 200GB, key listed), ignore the cost estimate, Create.
Never go above 2 OCPUs / 12 GB / 200 GBThat is the free limit. The availability domain (AD-1/2/3) makes no difference to cost.
"Out of capacity" error, very commonIn order: switch Availability Domain (AD-2, AD-3) under Placement and Create again · drop to 1 OCPU / 6 GB and resize later (instance → Edit → shape → 2/12, one reboot) · retry every few hours for a few days.

4Public IP

On the instance page, copy the Public IPv4 address; this is YOUR_PUBLIC_IP everywhere below.

If it shows a dash: Networking tab → zoom the browser out (Cmd and minus) and scroll to Attached VNICs → click the VNIC name → IPv4 Addresses → three-dot menu on the private IP → Edit → Public IP Type: Ephemeral Public IPUpdate.

5Open port 3000

  1. Instance page → Networking tab → click the Subnet link.
  2. Security tab → Default Security List for vcn-…
  3. Security rulesAdd Ingress Rules: Source Type CIDR · Source CIDR 0.0.0.0/0 · IP Protocol TCP · Source Port Range blank · Destination Port Range 3000 · Description remux.
  4. Add Ingress Rules.

6Connect and update

Connect (type yes at the host prompt, then your key passphrase):

Terminal
ssh ubuntu@YOUR_PUBLIC_IP

Apply updates, then reboot:

Terminal · on the server
sudo apt update && sudo apt upgrade -y && sudo reboot

Wait a minute, connect again with the ssh command above, then open the port in Ubuntu's own firewall:

Terminal · on the server
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 3000 -j ACCEPT
sudo netfilter-persistent save

7Docker

Terminal · on the server
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker ubuntu
exit

Reconnect (the permission change needs a fresh login), then confirm:

Terminal
ssh ubuntu@YOUR_PUBLIC_IP
Terminal · on the server
docker compose version

8Remux

One paste sets up and starts everything:

Terminal · on the server
mkdir -p ~/remux && cd ~/remux
cat > docker-compose.yml << 'YML'
services:
  remux:
    image: ghcr.io/lostb1t/remux:latest
    container_name: remux
    ports:
      - "3000:3000"
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./data:/data
    restart: unless-stopped
YML
docker compose up -d
docker ps

The last command should show remux with STATUS "Up".

9Create the admin login

  1. On any phone or computer, open http://YOUR_PUBLIC_IP:3000 (your real IP, keep the :3000).
  2. Run the short wizard: a server name (anything), then an admin username and a long, unique password; this login faces the whole internet, and it's what Strand signs in with.

Don't add addons by hand. Strand's migration installs your addons on the server for you, exactly as they're configured now. Page won't load? Recheck Part 5 saved, and run docker logs remux on the server.

10The Strand side

Back up first. Settings → Share Setup, include everything, and save the .strand file (not the link; a real setup exceeds a link's length limit) somewhere you'll find it: Files on iPhone or iPad, anywhere on a Mac. That file is a complete snapshot of your addons, shelves and servers; opening it puts everything back.

  1. Settings → Media ServersAdd a Server → the manual form (not Plex or Emby Connect):
    • Server URL: http://YOUR_PUBLIC_IP:3000; leaving off the :3000 is the most common mistake
    • Remote URL: leave blank; the server isn't in your house, so one URL works everywhere
    • Username / Password: the Remux admin login from Part 9 (not your Jellyfin, Plex or Trakt login)
    • Display Name: anything you like
  2. Save. The dot beside the server shows whether this device can reach it; you want green. Strand works out on its own that it's a Remux; there's no Remux option to pick.
  3. Settings → AddonsMove Addons to Remux. (The row only appears when you have addons with catalogues to move.) Pick your server, read the summary, press Move to Remux.
The important part: leave it aloneOn a large setup the screen sits still for a long time; the server imports every catalogue in one pass and reports no progress while it does. An error is the only thing that means it failed. Don't force-quit: the import can't be resumed mid-way. Your device stays awake automatically; keep the app in the foreground. Start it from an iPhone or Mac if you have the choice.
  1. After the summary: check your home screen; the rows should look exactly as they did, now reading from your server. Read any warnings: shelves that couldn't be matched still point at their addon, and running the migration again usually picks them up. Skipped addons are ones whose catalogue kinds Remux doesn't hold; they're untouched and still work.
  2. The server then runs a Refresh Library task (Tasks page in the Remux dashboard) that actually fills the collections. Shelves can look empty until it finishes. Wait for it, and don't re-run the migration in the meantime, which can create duplicate collections.
  3. Only when your home screen looks right: press Turn Off Migrated Addons. It's a separate button for a reason: nothing changes until you've seen your home screen working. The addons are switched off, not deleted; any of them turns back on with one tap under Settings → Addons.
Tip: faster playbackIn the Remux dashboard, go to Addons → edit your stream source addon → tick Direct Stream. Streams then play straight from the source instead of routing through your server, for noticeably faster load times.

11If something goes wrong

12Handy commands (run in ~/remux on the server)

Stop Remux
docker compose stop
Start it again
docker compose start
Update Remux
docker compose pull && docker compose up -d
Restart Remux
docker compose restart remux
Full reset · wipes all Remux data
cd ~/remux && docker compose down && sudo rm -rf data && docker compose up -d

13Keeping it free and alive

Terminal · on the server
sudo apt update && sudo apt upgrade -y

14Optional: SSH shortcut on your Mac

Terminal · on your Mac
cat >> ~/.ssh/config << 'CFG'
Host oracle
  HostName YOUR_PUBLIC_IP
  User ubuntu
CFG

From then on ssh oracle connects.

Disclaimer. This is an unofficial community guide, written and shared by a Strand user. It is not made, reviewed, or endorsed by Strand, Remux, Oracle, or Cloudflare, and no affiliation with any of them is implied. Follow it at your own risk: you are responsible for your own Oracle account, your server, its security, and any addons you configure on it. Nothing here is guaranteed to stay accurate as these products change. If something breaks, the guide's rollback steps and your .strand backup are your safety net. Remux is an independent open-source project: github.com/lostb1t/remux.