• May 8, 2025, 10:58 p.m.

    Miniflux

    Miniflux is a minimalist and opinionated feed reader.

    How to Run the Container Manually

    Pull the image and run the container:

    docker run -d \
      -p 80:8080 \
      --name miniflux \
      -e "DATABASE_URL=postgres://miniflux:*password*@*dbhost*/miniflux?sslmode=disable" \
      -e "RUN_MIGRATIONS=1" \
      -e "CREATE_ADMIN=1" \
      -e "ADMIN_USERNAME=*username*" \
      -e "ADMIN_PASSWORD=*password*" \
      docker.io/miniflux/miniflux:latest
    

    The command above will run the migrations and set up a new admin account with the chosen username and password.

    Once the container is started, you should be able to access the application on the exposed port, which is port 80 in this example.

    Docker Compose

    Here is an example of a Docker Compose file:

    services:
      miniflux:
        image: miniflux/miniflux:latest
        ports:
          - "80:8080"
        depends_on:
          db:
            condition: service_healthy
        environment:
          - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
          - RUN_MIGRATIONS=1
          - CREATE_ADMIN=1
          - ADMIN_USERNAME=admin
          - ADMIN_PASSWORD=test123
      db:
        image: postgres:17-alpine
        environment:
          - POSTGRES_USER=miniflux
          - POSTGRES_PASSWORD=secret
          - POSTGRES_DB=miniflux
        volumes:
          - miniflux-db:/var/lib/postgresql/data
        healthcheck:
          test: ["CMD", "pg_isready", "-U", "miniflux"]
          interval: 10s
          start_period: 30s
    volumes:
      miniflux-db:
    
    • DATABASE_URL defines the database connection parameters.
    • RUN_MIGRATIONS=1 runs the SQL migrations automatically.
    • CREATE_ADMIN, ADMIN_USERNAME, and ADMIN_PASSWORD allow the creation of the first admin user. These can be removed after the first initialization.