You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1.7 KiB

Deploy Imwald with docker-compose.prod.yml (remote server)

Workflow: build and push locallypull and run on the server.

Local: build and push

From the repo root on your machine:

docker login   # once, if needed
./scripts/build-and-push-prod.sh

This builds both images and pushes two tags each (latest and the version from package.json, e.g. 17.0.0):

  • Main app (Imwald): silberengel/imwald-jumble

  • NIP-66 monitor: silberengel/imwald-jumble-nip66-monitor

    Registry paths keep the historical imwald-jumble name; retagging to e.g. silberengel/imwald is optional and requires updating docker-compose.prod.yml and pull scripts.

Remote server: one-time setup

  1. Docker
    Install Docker and Docker Compose (v2).

  2. Clone the repo (so you have docker-compose.prod.yml):

    git clone <your-repo-url> jumble
    cd jumble
    
  3. Optional env file (e.g. for NIP-66 monitor):

    # .env next to docker-compose.prod.yml
    NIP66_MONITOR_NSEC=nsec1...
    NIP66_MONITOR_NPUB=npub1...
    

Remote server: pull and run

After you’ve pushed from local:

cd jumble
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d

The app is on port 8089. Both services use :latest; to pin a version, set the image in docker-compose.prod.yml to e.g. silberengel/imwald-jumble:17.0.0 and silberengel/imwald-jumble-nip66-monitor:17.0.0.

Useful commands (server)

# Status
docker compose -f docker-compose.prod.yml ps

# Logs
docker compose -f docker-compose.prod.yml logs -f

# Stop
docker compose -f docker-compose.prod.yml down