Install

Release archives

Download the archive for your platform, verify its sha256 and run it directly; suited to Windows and to environments where the install script is inconvenient.

Picking an archive

Download the archive for your platform from the releases page. The version in file names has no v (e.g. 1.0.0); the tag in download paths does (e.g. v1.0.0):

OSamd64arm64
Linuximgyoung_<version>_linux_amd64.tar.gzimgyoung_<version>_linux_arm64.tar.gz
macOSimgyoung_<version>_darwin_amd64.tar.gz (Intel)imgyoung_<version>_darwin_arm64.tar.gz (Apple silicon)
Windowsimgyoung_<version>_windows_amd64.zipimgyoung_<version>_windows_arm64.zip

checksums.txt next to them lists the sha256 of every archive. Each archive contains:

imgyoung (imgyoung.exe on Windows)
LICENSE
README.md, README.en.md
compose.yaml
Caddyfile
nginx.conf
imgyoung.service

deploy/ holds sample configurations for Docker Compose, reverse proxies and systemd; web/licenses/ holds the licenses of third-party code used by the admin console. The binary depends on none of the other files and can be copied on its own.

Download and verify

Using 1.0.0 as an example; substitute the version and architecture you want:

Terminal
VERSION=1.0.0
FILE=imgyoung_${VERSION}_linux_amd64.tar.gz
BASE=https://github.com/x-haose/imgyoung/releases/download/v${VERSION}
curl -fLO "$BASE/$FILE"
curl -fLO "$BASE/checksums.txt"
grep " $FILE\$" checksums.txt | sha256sum -c -
tar -xzf "$FILE"

On success Linux and macOS print <file name>: OK and PowerShell reports no error. On a mismatch, do not use the archive; download it again.

Running it

Terminal
./imgyoung

Open http://<host>:8721/ and sign in with admin / imgyoung123; the first sign-in asks you to change the password right away. Ctrl+C shuts it down gracefully.

  • Data directory: by default data/ under the current directory at startup, not the directory of the binary. Start it from somewhere else and you get a fresh, empty instance. Pin the location with IMGYOUNG_DATA_DIR:

    IMGYOUNG_DATA_DIR=/srv/imgyoung ./imgyoung
    $env:IMGYOUNG_DATA_DIR = "D:\imgyoung-data"; .\imgyoung.exe
  • Listening address: :8721 by default, i.e. every interface; set IMGYOUNG_LISTEN=127.0.0.1:8721 when only a local reverse proxy should reach it. Other environment variables are listed in Configuration.

  • Version: ./imgyoung -version. This is the only command-line flag; everything else is configured through environment variables and the console.

On Windows the firewall may ask whether imgyoung.exe may access the network on first run; for local-only use you can decline.

Running under a process supervisor

For long-running use, do not just leave it open in a terminal. A supervisor starts it on boot and restarts it after a crash. Also, "Restore" under "Settings → Backups & export" in the console makes the service exit cleanly and relies on the supervisor to start it again so the snapshot can be swapped in; without one, the restore only completes when you start it by hand. Configure the supervisor to always restart the process when it exits, including clean exits.

  • Linux: use the systemd sample in the archive. The result is the same as --service of the install script, with data in /var/lib/imgyoung; that page also explains each setting:

    Terminal
    sudo install -m 0755 imgyoung /usr/local/bin/imgyoung
    sudo install -m 0644 deploy/imgyoung.service /etc/systemd/system/imgyoung.service
    sudo systemctl daemon-reload
    sudo systemctl enable --now imgyoung
  • macOS: write a launchd service, or use Docker instead.

  • Windows: register imgyoung.exe as a Windows service with a tool such as WinSW or NSSM, set the working directory or IMGYOUNG_DATA_DIR, and configure it to restart on exit.

Upgrading

Download and verify the new archive, stop the service, replace the old binary with the new one, and start it again. Leave the data directory as is; the database schema is migrated automatically when the new version starts. Putting the old binary back is not a downgrade: the older version refuses to start on a database migrated by a newer one, so rolling back takes the older version plus a snapshot taken before the upgrade. Before upgrading, consider clicking "Back up now" under "Settings → Backups & export"; see Upgrading for the rollback steps and more.

On this page