首页
SaaS正文内容

使用 Docker 本地化部署开源软件替代 SaaS

2024年09月21日
阅读时长 2 分钟
阅读量 4
使用 Docker 本地化部署开源软件替代 SaaS

** 使用 Docker 自托管 Super Tokens、Hoppscotch、Postiz、Glitchtip、Pocketbase、Query Book、Netdata、Matomo、Posthog、Immich 和 Linshare **

根据我之前文章的回应,我已经包含了一些更多的开源应用作为付费应用的替代方案。在我之前的文章中,我已经解释了一些开始自托管的先决条件,你可以按照这篇指南进行操作 -

在这篇关于开源 SaaS 替代方案的文章中,我将添加 11 个更棒的应用,你可以将它们用作付费应用的替代品。让我们开始使用这些令人惊叹的开源应用吧。

1. Super Tokens

Super Tokens 是 Auth0 / Firebase Auth / AWS Cognito 的替代品,众所周知,Auth0 是一个很棒的产品,但成本很高。我认为最好的办法是自托管它,开始节省大量资金。

Super Tokens 提供了电子邮件/密码、无密码(基于 OTP 或 Magic 链接)、社交/OAuth 2.0 等认证方式。此外,它还提供了访问控制、会话管理和用户管理的支持。你可以开始使用自托管或他们的托管云计划来为你的应用程序实现认证。

Super Tokens 架构

后端 SDK 可用:

前端 SDK 可用:

使用 Docker 安装 Super Tokens

# Mysql
docker run -p 3567:3567 -d registry.supertokens.io/supertokens/supertokens-mysql:9.2.2

# postgreSQL
docker run -p 3567:3567 -d registry.supertokens.io/supertokens/supertokens-postgresql:9.2.2

# MongoDB
docker run -p 3567:3567 -d registry.supertokens.io/supertokens/supertokens-mongodb:9.2.2

2. Hoppscotch

Hopscotch 是 Postman 和 Insomnia 的知名替代品。我们可以通过访问 https://hoppscotch.io/ 来使用它,或者安装他们的 PWA 应用程序。这是一个轻量级的替代方案。

GitHub - hoppscotch/hoppscotch: 开源 API 开发生态系统 - https://hoppscotch.io...

特点

  • REST API 支持:轻松发送 GET、POST、PUT、DELETE、PATCH 等其他 HTTP 请求。

  • WebSocket & Socket.IO:通过 WebSocketsocket.io 进行实时通信。

  • GraphQL 支持:使用 GraphQL API 查询和修改数据。

  • gRPC:实验性支持发送 gRPC 请求。

  • Headers & Query 参数:我们可以向请求添加自定义标头和查询参数。

3. Postiz

Postiz 是一款基于人工智能的社交媒体调度工具,是 Buffer.com、Hypefury、Twitter Hunter 等的替代品。在寻找开源社交媒体调度器时,我发现这是迄今为止唯一的可用替代品(如果你知道其他替代品,请告诉我)。

目前它支持 Facebook、Instagram、Threads、Linkedin、TikTok、YouTube、Reddit、Dribbble 和 Pinterest。团队正在积极努力解决问题并添加更多功能。这是一个非常棒的应用程序,可以让你开始使用开源替代社交媒体调度应用。

使用 Docker 安装 Postiz

  1. 创建 docker-compose.yml 文件并粘贴以下内容
services:
  postiz:
    image: ghcr.io/gitroomhq/postiz-app:latest
    container_name: postiz
    restart: always
    environment:
      # 你必须更改这些。`yourServerAddress` 是你的网络浏览器使用的地址。
      MAIN_URL: "https://yourServerAddress:4200"
      FRONTEND_URL: "https://yourServerAddress:4200"
      NEXT_PUBLIC_BACKEND_URL: "https://yourServerAddress:3000"
      JWT_SECRET: "random string that is unique to every install - just type random characters here!"
 
      # 这些是完全虚假的值,你必须用你自己的 Cloudflare 设置替换它们。
      CLOUDFLARE_ACCOUNT_ID: "QhcMSXQyPuMCRpSQcSYdEuTYgHeCXHbu"
      CLOUDFLARE_ACCESS_KEY: "dcfCMSuFEeCNfvByUureMZEfxWJmDqZe"
      CLOUDFLARE_SECRET_ACCESS_KEY: "zTTMXBmtyLPwHEdpACGHgDgzRTNpTJewiNriLnUS"
      CLOUDFLARE_BUCKETNAME: "postiz"
      CLOUDFLARE_BUCKET_URL: "https://QhcMSXQyPuMCRpSQcSYdEuTYgHeCXHbu.r2.cloudflarestorage.com/"
      CLOUDFLARE_REGION: "auto"
 
      # 这些默认值可能是可以的,但如果你更改了用户/密码,请在下面的 postiz-postgres 或 postiz-redis 服务中更新它。
      DATABASE_URL: "postgresql://postiz-user:postiz-password@postiz-postgres:5432/postiz-db-local"
      REDIS_URL: "redis://postiz-redis:6379"
      BACKEND_INTERNAL_URL: "http://localhost:3000/"
      IS_GENERAL: "true" # 自托管所需。
    volumes:
      - postiz-config:/config/
    ports:
      - 4200:4200
      - 3000:3000
    networks:
      - postiz-network
    depends_on:
      postiz-postgres:
        condition: service_healthy
      postiz-redis:
        condition: service_healthy
 
  postiz-postgres:
    image: postgres:14.5
    container_name: postiz-postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: postiz-password
      POSTGRES_USER: postiz-user
      POSTGRES_DB: postiz-db-local
    volumes:
      - postgres-volume:/var/lib/postgresql/data
    ports:
      - 5432:5432
    networks:
      - postiz-network
    healthcheck:
      test: pg_isready -U postiz-user -d postiz-db-local
      interval: 10s
      timeout: 3s
      retries: 3
  postiz-redis:
    image: redis:7.2
    container_name: postiz-redis
    restart: always
    ports:
      - 6379:6379
    healthcheck:
      test: redis-cli ping
      interval: 10s
      timeout: 3s
      retries: 3
    volumes:
      - postiz-redis-data:/data
    networks:
      - postiz-network
 
 
volumes:
  postgres-volume:
    external: false
 
  postiz-redis-data:
    external: false
 
  postiz-config:
    external: false
 
networks:
  postiz-network:
    external: false
  1. 编辑 docker-compose.yml 中的环境变量

  2. 启动 Docker 服务 docker compose up -d

4. Glitchtip

Glitchtip 是用于跟踪代码中错误的 Sentry 替代品。Glitchtip 提供了许多功能,如错误跟踪应用程序性能监控运行时间监控

Stefano Baruzzo 提出

使用 Docker 安装 Glitchtip

  1. 创建 docker-compose.yml 文件并粘贴以下内容 -
# 如果使用较旧版本的 docker compose,请取消注释版本
# version: "3.8"
x-environment:
  &default-environment
  DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
  SECRET_KEY: change_me_to_something_random # best to run openssl rand -hex 32
  PORT: 8000
  EMAIL_URL: consolemail:// # Example smtp://email:password@smtp_url:port https://glitchtip.com/documentation/install#configuration
  GLITCHTIP_DOMAIN: https://app.glitchtip.com # 将此更改为你的域名
  DEFAULT_FROM_EMAIL: [email protected] # 将此更改为你的电子邮件
  CELERY_WORKER_AUTOSCALE: "1,3"  # 在 1 和 3 之间进行缩放,以防止过多的内存使用。更改或删除以将其设置为 CPU 核心数。
  CELERY_WORKER_MAX_TASKS_PER_CHILD: "10000"

x-depends_on:
  &default-depends_on
  - postgres
  - redis

services:
  postgres:
    image: postgres:16
    environment:
      POSTGRES_HOST_AUTH_METHOD: "trust"  # 考虑删除此项并设置密码
    restart: unless-stopped
    volumes:
      - pg-data:/var/lib/postgresql/data
  redis:
    image: redis
    restart: unless-stopped
  web:
    image: glitchtip/glitchtip
    depends_on: *default-depends_on
    ports:
      - "8000:8000"
    environment: *default-environment
    restart: unless-stopped
    volumes: 
      - uploads:/code/uploads
  worker:
    image: glitchtip/glitchtip
    command: ./bin/run-celery-with-beat.sh
    depends_on: *default-depends_on
    environment: *default-environment
    restart: unless-stopped
    volumes: 
      - uploads:/code/uploads
  migrate:
    image: glitchtip/glitchtip
    depends_on: *default-depends_on
    command: ./bin/run-migrate.sh
    environment: *default-environment

volumes:
  pg-data:
  uploads:
  1. 编辑 docker-compose.yml 中的环境变量

  2. 启动 Docker 服务 docker compose up -d

5. Pocketbase

Pocketbase 是 Firebase 的开源替代品,提供 BaaS(后端即服务)。它包括实时数据库、认证、文件存储管理面板

由 - HarryHTML 提出

请记住,PocketBase 仍在积极开发中,在达到 v1.0.0 之前,完全向后兼容性不能保证。

6. Query BookQuerybook 是一个大数据查询界面,结合了同一位置的表格元数据和简单的笔记本界面。Query Book 是一个功能丰富的平台,用于管理和优化您的查询和工作流程。

Query Book 提供了在平台上直接编写编辑运行查询的界面。我们可以通过内置的版本控制跟踪查询更改。它允许团队成员通过共享查询来进行协作。我们可以连接到MySQLPostgreSQLMongoDB 数据库。

推荐人 - Yuriy Gavrilov

安装 QueryBook

  1. 运行以下命令克隆存储库 - git clone https://github.com/pinterest/querybook.git

  2. 在根目录中打开终端并运行 - make

  3. 您现在可以在 http://localhost:10001 上访问它

7. Netdata

Netdata 是一个开源替代 Datadog 和 New Relic 的工具,用于实时高分辨率监控服务器、容器和应用程序。

Netdata 提供每秒更新一次指标的实时性能监控。查看资源使用情况的高分辨率图表,如 CPU、RAM、磁盘、网络接口等。它提供支持监控特定应用程序,如 mysql、web 服务器(Nginx、Apache)或 docker。

使用 Docker 安装 Netdata

  1. 创建 docker-compose.yml 文件并粘贴以下内容 -
version: '3'
services:
  netdata:
    image: netdata/netdata
    container_name: netdata
    pid: host
    network_mode: host
    restart: unless-stopped
    cap_add:
      - SYS_PTRACE
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    volumes:
      - netdataconfig:/etc/netdata
      - netdatalib:/var/lib/netdata
      - netdatacache:/var/cache/netdata
      - /:/host/root:ro,rslave
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /etc/localtime:/etc/localtime:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /etc/os-release:/host/etc/os-release:ro
      - /var/log:/host/var/log:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro

volumes:
  netdataconfig:
  netdatalib:
  netdatacache:
  1. 编辑 docker-compose.yml 中的环境变量

  2. 启动 Docker 服务 docker compose up -d

8. Matomo

Matomo 是 Google Analytics 的替代方案,保护您的数据和客户的隐私。它具有像 Google Analytics 一样的高级功能,并关注用户隐私。

Matomo 提供数据所有权,这意味着您无需与第三方服务提供商共享数据。它旨在符合 GDPR、CCPA 和 HIPAA 等隐私法规,提供诸如 cookie 同意管理和数据匿名化等工具。

一些其他功能包括 -

  • 实时分析

  • 流量分析

  • 用户资料

  • 设备和浏览器分析

  • 拖放小部件

  • 自定义报告

  • 转化跟踪

  • 漏斗分析

  • 等等

使用 Docker 安装 Matomo -

docker run -d -p 8080:80 --link some-mysql:db -v matomo:/var/www/html matomo

9. Posthog

Posthog 也是一个非常流行和广泛使用的 VWO 替代品,以及其他工具如 Mixpanel 和 Hotjar。它提供有关访问者和会话录制的详细分析。

在您的服务器上安装 PostHog

在终端中运行以下命令安装 PostHog -

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/posthog/posthog/HEAD/bin/deploy-hobby)"

详细的安装指南 - https://posthog.com/docs/self-host

10. Immich

Immich 是一个自托管的照片和视频管理解决方案,是 Google Photos 的替代品。它具有像 Google Photos 一样的所有高级功能,并且您可以免费使用 Docker 进行自托管。

使用 Docker 安装 Immich -

  1. 获取 docker-compose.yml 文件
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
  1. 获取 .env 文件
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
  1. 将 example.env 重命名为 .env

  2. 运行

docker compose up -d
  1. 打开 - http://localhost:2284/

11. Linshare

Linshare 是 Google Drive、box 或 OneDrive 的开源替代品。该应用程序提供了所有高级功能,就像付费替代品一样。

使用 Docker 安装 Linshare -

  1. 克隆存储库-
https://github.com/linagora/linshare-docker.git
  1. 使用以下命令启动它
docker-compose up -d
免责声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

相关文章

选择适合您的 SaaS 技术:当前流行工具与服务详解
2024年11月16日17:45
选择合适的SaaS技术需关注目标市场、产品需求及使用频率。文章介绍了Redis替代品Dragonflydb,大数据处理服务Aliven,以及数据库管理Clickhouse。还讨论了LangChain等语言模型工具和自动化工具Trigger与n8n。通过这些技术,帮助SaaS创始人避免常见错误,提升产品性能和市场竞争力。
如何构建 AI SaaS 平台
2024年11月05日20:41
本文探讨了构建AI SaaS平台的逐步指南,强调AI与SaaS结合在提升数据处理、自动化和客户体验方面的巨大潜力。针对行业问题进行市场调研、选择合适的AI技术,开发核心功能,并优先考虑用户体验是关键。同时,文章也介绍了AI SaaS开发中的常见挑战和未来趋势,如边缘AI和可解释AI。
使用 Docker 本地化部署开源软件替代 SaaS
2024年09月21日00:18
本文介绍了使用 Docker 自托管 Super Tokens、Hoppscotch、Postiz、Glitchtip、Pocketbase、Query Book、Netdata、Matomo、Posthog、Immich 和 Linshare等开源SaaS替代方案。Super Tokens是Auth0 / Firebase Auth / AWS Cognito的替代品,Hoppscotch是Postman和Insomnia的替代品,Postiz是基于人工智能的社交媒体调度工具,Glitchtip用于跟踪代码中错误,Pocketbase是Firebase的开源替代品,Query Book是大数据查询界面,Netdata是实时高分辨率监控工具,Matomo是Google Analytics的替代方案。
构建 SaaS 时会犯的 5 大错误
2024年09月12日22:35
在构建SaaS产品时,容易犯的前五大错误包括过多时间花费在UI设计上、过度关注细微的用户体验问题、过度工程化技术栈、选择错误的技术栈以及未证明市场需求。重点是专注于核心功能、获取真实用户反馈,并确保产品解决实际问题。在构建之前评估市场需求,避免过度投入时间和资源在没有市场兴趣的产品上。
如何创建每月 5000 美元的微型 SaaS
2024年08月22日23:05
微型SaaS产品是创业者的热门选择,通过解决特定受众的特定问题,您可以每月赚取5000美元。从辨识细分问题、市场调研、概念化产品、利用已验证模型、快速开发MVP、营销客户获取、产品驱动增长、持续改进、扩展出售等步骤着手。通过耐心、客户关注、营销平衡、忽略模仿者等策略,结合技术技能,您可以创造可持续的收入流。
2024 年最佳的 13 个微型 SaaS 盈利案例
2024年07月16日08:08
2024年有许多创新的微型SaaS产品涌现,包括InAppStory、One Tab Group、MailRush、MentalPort App等。这些产品涵盖了各种领域,如企业参与策略、浏览器标签管理、冷邮件发送、心理健康、AI视频编辑等。创始人们通过专注于用户体验、简化解决方案和利用新技术,成功打造了盈利模型。