Skip to content

Installation

This guide covers the supported install paths for Weather.

Requirements

  • Linux, macOS, Windows, or FreeBSD
  • amd64 or arm64
  • Docker for containerized deployment, or a host/service manager for native installs

Docker

Single Container

docker run -d \
  --name weather \
  -p 64580:80 \
  -v ./rootfs/config:/config:z \
  -v ./rootfs/data:/data:z \
  ghcr.io/apimgr/weather:latest

Docker Compose

curl -q -LSsf -O https://raw.githubusercontent.com/apimgr/weather/main/docker/docker-compose.yml
docker compose up -d

Binary

Download

curl -q -LSsf -O https://github.com/apimgr/weather/releases/latest/download/weather-linux-amd64
chmod +x weather-linux-amd64
sudo mv weather-linux-amd64 /usr/local/bin/weather

Run

weather

On first run, Weather generates server.yml in {config_dir} and creates its data/log directories automatically.

Service Installation

Linux systemd

Create a service that runs the binary in the foreground and lets Weather manage its runtime directories:

[Unit]
Description=Weather Service
After=network.target

[Service]
Type=simple
User=weather
Group=weather
ExecStart=/usr/local/bin/weather --mode production
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Typical runtime locations follow AI.md PART 4:

  • Config: {config_dir}
  • Data: {data_dir}
  • Logs: {log_dir}

macOS / Windows / BSD

Use the platform-specific service helpers or native service manager with the same foreground command:

weather --mode production

Setup

The server is functional immediately on first run. Admin setup is completed through:

  • https://wthr.top/admin/server/setup

After setup, use:

  • Admin panel: https://wthr.top/admin
  • Health: https://wthr.top/healthz
  • OpenAPI: https://wthr.top/openapi

Verification

weather --version
weather --status
curl -q -LSsf https://wthr.top/healthz

Building From Source

Use the existing project targets:

make dev
make local
make build
make test

Next Steps