11 Open-Source SaaS Killer — Selfhost With Docker -3

Selfhost Fider, Chatwoot, Sentry, Ackee, Leantime, Invoice Ninja, Typesense, Strapi, Appsmith, Budibase and Mautic with Docker

Hi there, This is 3rd part of my “open-source saas killer” story, based on responses to previous stories I have added 10 more open-source apps that are very useful and free to use.

11-open-source-saas-killer-selfhost-with-docker-3_11398099498238983922.webp

11 Open-Source SaaS Killer — Selfhost With Docker

11 Open-Source SaaS Killer — Selfhost With Docker -2

1. Fider

Fider is an open-source platform used to collect users’ online feedback. It can help you find bugs, and new feature requests, vote on new ideas, and many other use cases. I found this tool very useful if you launch any new product or any feature.

Fider

Fider

Install Fider with docker-compose.yml file

services:  
  db:  
    restart: always  
    image: postgres:12  
    volumes:  
      - /var/fider/pg_data:/var/lib/postgresql/data  
    environment:  
      POSTGRES_USER: fider  
      POSTGRES_PASSWORD: s0m3g00dp4ssw0rd  
  app:  
    restart: always  
    image: getfider/fider:stable  
    ports:  
      - "80:3000"  
    environment:  
      # Public Host Name  
      BASE_URL: http://localhost  
  
      # Connection string to the PostgreSQL database  
      DATABASE_URL: postgres://fider:s0m3g00dp4ssw0rd@db:5432/fider?sslmode=disable  
  
      # Generate a secure secret, for example using https://jwtsecret.com  
      JWT_SECRET: VERY_STRONG_SECRET_SHOULD_BE_USED_HERE  
  
      # From which account e-mails will be sent  
      EMAIL_NOREPLY: [email protected]  
  
      ###  
      # EMAIL  
      # Either EMAIL_MAILGUN_* or EMAIL_SMTP_* or EMAIL_AWSSES_* is required  
      ###  
  
      # EMAIL_MAILGUN_API: key-yourkeygoeshere  
      # EMAIL_MAILGUN_DOMAIN: yourdomain.com  
      # EMAIL_MAILGUN_REGION: US  
  
      # EMAIL_SMTP_HOST: smtp.yourdomain.com  
      # EMAIL_SMTP_PORT: 587  
      # EMAIL_SMTP_USERNAME: [email protected]  
      # EMAIL_SMTP_PASSWORD: s0m3p4ssw0rd  
      # EMAIL_SMTP_ENABLE_STARTTLS: 'true'  
  
      # EMAIL_AWSSES_REGION: us-east-1  
      # EMAIL_AWSSES_ACCESS_KEY_ID: youraccesskeygoeshere  
      # EMAIL_AWSSES_SECRET_ACCESS_KEY: yoursecretkeygoeshere

Now you have to change the environment and run the following command in your terminal —

docker compose up -d

2. Chatwoot

Chatwoot is also an open-source, customer support tool that helps businesses engage with customers through different channels like emails, website chats, and social media with a single interface also helps businesses grow faster.

Below is the user interface of chatwoot 👇

Chatwoot

Chatwoot

Steps to deploy Chatwoot using docker-compose

  1. I hope the docker is already installed on your system, if not install the docker first.
  2. Download files

Download the env file template

wget -O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example  

Download the Docker compose template

wget -O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml
  1. Change environment

update redis and postgres passwords

nano .env  

update docker-compose.yaml same postgres pass

nano docker-compose.yaml
  1. Prepare database and run migration
docker compose run --rm rails bundle exec rails db:chatwoot_prepare
  1. Run docker-machine
docker compose up -d

3. Sentry

Sentry is one of the best tools for tracking your product’s error logs, I have been using it for a long time (but cloud version). You can self-host the sentry with a docker-machine and take advantage of it.

Features

Sentry

Sentry

Self-host Sentry with docker

Open up your terminal and run the following command

Assuming current latest version is 24.1.0

Current actual version can be acquired from the Releases page on GitHub

VERSION="24.1.0"  
git clone https://github.com/getsentry/self-hosted.git  
cd self-hosted  
git checkout ${VERSION}  
sudo ./install.sh

4. Ackee

Ackee is an open-source website analytics tool that tracks and visualizes user behavior without relying on third-party services, making it a great alternative for GDPR-conscious teams.

Features

Ackee

Ackee

Ackee With Docker Compose

  1. Create the configuration .env
ACKEE_USERNAME=username  
ACKEE_PASSWORD=password
  1. Create docker-compose.yml
version: "2"  
services:  
  ackee:  
    image: electerious/ackee  
    container_name: ackee  
    restart: always  
    ports:  
      - "3000:3000"  
    environment:  
      - WAIT_HOSTS=mongo:27017  
      - ACKEE_MONGODB=mongodb://mongo:27017/ackee  
    env_file:  
      - .env  
    depends_on:  
      - mongo  
  mongo:  
    image: mongo  
    container_name: mongo  
    restart: always  
    volumes:  
      - ./data:/data/db
  1. Run the following command in the root where docker-compose.yml created
docker compose up -d

5. Leantime

Leantime is an open-source project management tool with all important features. Leantime contains task management, milestones, and idea boards with a minimal approach.

Features

Leantime

Leantime

Install With Docker

Follow the steps to run lean time with docker-compose.yml

git clone https://github.com/Leantime/docker-leantime.git  
cd docker-leantime  
cp sample.env .env  
docker compose up -d

6. Invoice Ninja

The Invoice Ninjs platform is used for invoicing, expense, payment, and time tracking. It is fully customizable and self-hosted so don’t need to share your financial data with others.

Features

Invoice Ninja

Invoice Ninja

Install With Docker

To install and run Invoice Ninja with docker follow the steps below —

  1. Clone the repo
git clone https://github.com/invoiceninja/dockerfiles.git  
cd dockerfiles
  1. Edit the .env file and change the following —
APP_URL=http://in.localhost:8003/  
APP_KEY=<insert your generated key in here>  
APP_DEBUG=true  
REQUIRE_HTTPS=false  
IN_USER_EMAIL=  
IN_PASSWORD=
  1. Run the following command in your terminal —
docker run --rm -it invoiceninja/invoiceninja php artisan key:generate --show

7. Typesense

It is a fast, open-source search engine, similar to MeiliSearch, but with a focus on simplicity and ease of use. Typesense is designed to deliver search results quickly and accurately.

Features

Typesense

Typesense

Run with Docker

docker run \  
        -p 8108:8108 -v/tmp:/data \  
        typesense/typesense:27.1 \  
          --data-dir /data --api-key=xyz

8. Strapi

Strapi is an open-source headless CMS, that allows developers to quickly create and manage the APIs content easily through a nice-looking admin panel. It’s fully customizable, and it supports both RESTful and GraphQL APIs that are extendable with a lot of plugins.

Features

Strapi Strapi

Install With docker-compose.yml

version: "3"  
services:  
  strapi:  
    container_name: strapi  
    build: .  
    image: strapi:latest  
    restart: unless-stopped  
    env_file: .env  
    environment:  
      DATABASE_CLIENT: ${DATABASE_CLIENT}  
      DATABASE_HOST: strapiDB  
      DATABASE_PORT: ${DATABASE_PORT}  
      DATABASE_NAME: ${DATABASE_NAME}  
      DATABASE_USERNAME: ${DATABASE_USERNAME}  
      DATABASE_PASSWORD: ${DATABASE_PASSWORD}  
      JWT_SECRET: ${JWT_SECRET}  
      ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET}  
      APP_KEYS: ${APP_KEYS}  
      NODE_ENV: ${NODE_ENV}  
    volumes:  
      - ./config:/opt/app/config  
      - ./src:/opt/app/src  
      - ./package.json:/opt/package.json  
      - ./yarn.lock:/opt/yarn.lock  
      - ./.env:/opt/app/.env  
      - ./public/uploads:/opt/app/public/uploads  
    ports:  
      - "1337:1337"  
    networks:  
      - strapi  
    depends_on:  
      - strapiDB  
  
  strapiDB:  
    container_name: strapiDB  
    platform: linux/amd64 #for platform error on Apple M1 chips  
    restart: unless-stopped  
    env_file: .env  
    image: postgres:12.0-alpine  
    environment:  
      POSTGRES_USER: ${DATABASE_USERNAME}  
      POSTGRES_PASSWORD: ${DATABASE_PASSWORD}  
      POSTGRES_DB: ${DATABASE_NAME}  
    volumes:  
      - strapi-data:/var/lib/postgresql/data/ #using a volume  
      #- ./data:/var/lib/postgresql/data/ # if you want to use a bind folder  
  
    ports:  
      - "5432:5432"  
    networks:  
      - strapi  
  
volumes:  
  strapi-data:  
  
networks:  
  strapi:  
    name: Strapi  
    driver: bridge

9. Appsmith

Appsmith is an open-source platform that allows you to build internal tools quickly using pre-built widgets, that enable non-developers to create data-driven applications for business processes without coding knowledge.

Features

Appsmith

Appsmith

Run with docker

Create docker-compose.yml

version: "3"  
services:  
   appsmith:  
     image: index.docker.io/appsmith/appsmith-ee  
     container_name: appsmith  
     ports:  
         - "80:80"  
         - "443:443"  
     volumes:  
         - ./stacks:/appsmith-stacks  
     restart: unless-stopped

Run the following command in the terminal —

docker compose up -d

10. Budibase

Budibase is an open-source low-code platform that allows users to create business apps quickly. It connects to data sources and includes a visual builder for creating internal tools and workflows.

Features

Budibase

Run budibase with docker

docker run -d -t \  
  --name=budibase \  
  -p 10000:80 \  
  -v /local/path/data:/data \  
  --restart unless-stopped \  
  budibase/budibase:latest

11. Mautic

Mautic is an open-source marketing automation platform that provides email marketing, lead management, and campaign automation features. It’s an excellent alternative to proprietary marketing automation tools.

Features

Mautic

Run with docker

docker volume create mautic_data  
   
docker run -d --restart=always \  
  --name mautic \  
  -e MAUTIC_DB_HOST=mysql \  
  -e MAUTIC_DB_USER=root \  
  -e MAUTIC_DB_PASSWORD=YOURPASSWORD \  
  -e MAUTIC_DB_NAME=mautic \  
  -e VIRTUAL_HOST=mautic.yourdomain.com \  
  -e LETSENCRYPT_HOST=mautic.yourdomain.com \  
  -e LETSENCRYPT_EMAIL=[email protected] \  
  -P 8080:80 \  
  -v mautic_data:/var/www/html \  
  --net=mauticnet \  
  --privileged \  
  mautic/mautic:latest

Thank you for taking the time to read this article! If you found it helpful, a clap 👏 would be greatly appreciated — it motivates me to continue writing more. If you want to learn more about open-source and full-stack development, follow me on Twitter (X) and Medium.