Skip to content

Quickstart

Mia Winter edited this page Mar 15, 2024 · 4 revisions

Quickstart

This docker compose file will give you everything you need to run Wave. See the following sections for explanations about the configuration and makeup of Wave. Replace <*_password> with generated passwords, just in case, replace with a sensible time zone for your users and you.

For extensive configuration you want to mount /configuration to a location on your system.

Afterwards you can access Wave on http://localhost under the port you specified.

To see how to create an admin account, read the following section. Afterwards for security you should Configure Email.

version: '3.4'

name: wave
services:
  web:
    image: miawinter/wave:latest
    restart: unless-stopped
    ports:
      - "80:8080"
    links:
        - database:db
    environment:
      - "TZ=<your-time-zone>"
      - "WAVE_ConnectionStrings__DefaultConnection=Host=db; Username=wave; Password=<db_password>"
      - "WAVE_ConnectionStrings__Redis=redis,password=<redis_password>"
    volumes:
      - wave-files:/app/files
      - wave-config:/configuration
    networks:
      - wave
    depends_on:
      - database
  database:
    image: postgres:16.1-alpine
    restart: unless-stopped
    environment:
      - "POSTGRES_DB=wave"
      - "POSTGRES_USER=wave"
      - "POSTGRES_PASSWORD=<db_password>"
    volumes:
      -  wave-db:/var/lib/postgresql/data
    networks:
      - wave 
  redis:
    image: redis:7-alpine
    restart: unless-stopped
    command: redis-server --requirepass <redis_password> --save 60 1 --loglevel warning
    volumes:
      - wave-redis:/data
    networks:
      - wave

volumes:
  wave-files:
  wave-config:
  wave-db:
  wave-redis:
networks:
  wave:

Note: when binding the files volume to a local directory, keep in mind Wave runs by default on an internal "app" user (1654:1654), not root. You need to adjust your directory permissions or docker compose file accordingly (or just slap chmod -R 777 on it).

Admin Access

When Wave does not detect any admin account in its database on startup, which usually happens during setup, a message will be printed to it's server console, in docker accessible with docker logs wave-web-1:

There is currently no user in your installation with the admin role, go to /Admin and use the following password to self promote your account: [password]

The password is 16 digits long, navigate to http://localhost/Admin, if you are not logged in you will be redirected to the login page. Once you are authenticated and have entered the password on the admin page, the tool will be disabled and you will be a member of the admin role, giving you full access to all of Waves' features.

Clone this wiki locally