Skip to content

TheoMeunier/knowledge-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About The Project

A simple, lightweight, and self-hostable knowledge management and documentation platform designed for teams and communities.

It provides an intuitive way to create, organize, and share documentation using a clean Markdown editor. Built for collaboration, the platform allows users to structure content in folders, manage access through authentication, and easily share knowledge with others.

Ideal for internal documentation, technical guides, project notes, or community knowledge bases.

Key Features

  • Secure user authentication and login system
  • Folder-based organization for structured documentation
  • Powerful Markdown editor for writing and formatting content
  • Easy document sharing across teams or communities
  • Clean and intuitive interface for fast documentation
  • Self hostable and lightweight deployment
  • Designed for collaborative documentation

Built With

Getting Started

  1. Create file .env:
cp .env.example .env
  1. Create a compose.yaml file
services:
  knowledge_app:
    image: ghcr.io/theomeunier/knowledge_app:latest
    container_name: knowledge_app
    restart: unless-stopped
    ports:
      - '3333:3333'
    environment:
      TZ: Europe/Paris
      APP_URL: ${APP_URL}
      APP_KEY: ${APP_KEY}
      DB_HOST: postgres
      DB_PORT: 5432
      DB_USER: knowledge_app
      DB_PASSWORD: knowledge_app
      DB_DATABASE: knowledge_app
      DRIVE_DISK: fs
      IMAGE_PROXY_SECRET: your-secret-key
    networks:
      - app_network

  postgres:
    image: postgres:17.8-alpine
    container_name: knowledge_app_database
    restart: unless-stopped
    ports:
      - '5432:5432'
    environment:
      POSTGRES_DB: knowledge_app
      POSTGRES_USER: knowledge_app
      POSTGRES_PASSWORD: knowledge_app
      PGDATA: /var/lib/postgresql/data/pgdata
    volumes:
      - ./storage-db:/var/lib/postgresql/data
    depends_on:
      - knowledge_app
    networks:
      - app_network

networks:
  app_network:
    driver: bridge
  1. Configure the variable environnement file

3.1 App variables:

  • APP_URL : The URL of your application

  • APP_KEY : The encryption key used to encrypt sensitive data in the application. It should be a random string of at least 32 characters.

    3.2 PostgreSQL Configuration:

  • DB_HOST : The host of your PostgreSQL database

  • DB_PORT : The port of your PostgreSQL database

  • DB_USER : The username of your PostgreSQL database

  • DB_PASSWORD : The password of your PostgreSQL database

  • DB_DATABASE : The name of your PostgreSQL database

  1. Start the application with docker-compose
   docker compose up -d
  1. Wait for the application to start and initialize the database. You can check the logs to see when it's ready.
   docker compose exec knowledge_app bash
   node ace generate:key
   node ace migration:run
   node ace db:seed
  1. Access the application

Once the server is running, open your browser and go to:

http://localhost:3333

Default administrator account

The database seeder creates a default administrator account with the following credentials:

Username: admin@knowledge.fr
Password: knowledge

⚠️ It is recommended to change these credentials after the first login.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

A simple, lightweight, self-hosted platform for easily creating, organizing, and sharing Markdown documentation within a team or community.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages