Docker Compose

Docker compose is the recommended way to run Japella. It allows you to easily maintain your japella installation consistently across upgrades.

You can use the following docker-compose.yml file to run Japella.

Create the docker-compose.yml file

Create this file in a location that is easy to remember.

docker-compose.yml
services:
  japella:
    container_name: japella
    image: ghcr.io/jamesread/japella
    volumes:
      - japella-config:/config
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - JAPELLA_DB_NAME=japella
      - JAPELLA_DB_USER=japella
      - JAPELLA_DB_PASS=hunter2
      - JAPELLA_SECURE_COOKIES=false
    depends_on:
      - mariadb

  mariadb:
    container_name: mariadb
    image: docker.io/mariadb
    volumes:
      - mariadb-data:/var/lib/mysql
    environment:
      MARIADB_ROOT_PASSWORD: password
      MARIADB_DATABASE: japella
      MARIADB_PASSWORD: hunter2
      MARIADB_USER: japella
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      timeout: 20s
      retries: 10

volumes:
  japella-config:
    name: japella-config
    external: false

  mariadb-data:
    name: mariadb-data
    external: false

docker compose up

Open a terminal in the same directory as your new docker-compose.yml file and run the following command;

user@host: docker compose up -d

If all goes well, the output should look like this;

user@host: docker compose up -d
[+] Running 2/2
 ✔ Container mariadb   Running
 ✔ Container japella   Running

If something has gone wrong, run docker logs japella to view the output.

Check the web interface

Open your web browser and navigate to http://localhost:8080 or http://<your-server-ip>:8080 to access the Japella web interface.

Check out the config file

Change into the directory that contains your japella-config volume like this;

user@host: cd "$(docker volume inspect japella-config --format '{{ .Mountpoint }}')"