基于Docker部署的Teable应用

简介

        Teable 是一款高性能多维表格本地化的解决方案,通过无代码方式快速构建业务管理系统,支持私有部署和精细权限管理。

        对于个人或者小团队使用,可以避免昂贵的集成软件带来的成本压力。

特点

  • Excel 式任意拖拽选区编辑
  • 支持双向关联,关联引用,汇总
  • 支持丰富的公式计算
  • 完善的视图筛选排序分组操作
  • 数据格式化
  • 数据唯一值验证非空验证
  • 冻结列:冻结表格左边的列,滚动时列保持可见。
  • 导入/导出 csv,xlsx
  • 自由查找搜索
  • 撤销和重做
  • 图表和可视化工具:从表格数据创建条形图、饼图、线性图等图表。

图表

  • 表格视图:表格的默认视图,以电子表格格式显示数据。
  • 看板视图:以看板格式显示数据,看板以列和卡片视觉展示数据。
  • 表单视图:以表单格式显示数据,适合收集数据。
  • 日历视图:以日历格式显示数据,适合跟踪日期和事件。
  • 画廊视图:以画廊格式显示数据,适合展示图片等媒体。

前置准备

        Ubuntu24.04版本;

        Linux上已经部署了Docker;

部署安装

1. 检查Docker是否安装成功;

操作命令: systemctl status docker

2. 下载镜像;

docker pull ghcr.io/teableio/teable:latest​

3. 创建 docker-compose 文件

在用户目录位置(我创建的位置为/opt/), 创建并进入 teable 文件夹

mkdir teable
cd teable

创建一个 docker-compose.yaml 以及一个 .env 文件,并粘贴下面内容,已使用国内镜像源以保证正常安装;

services:teable:image: registry.cn-shenzhen.aliyuncs.com/teable/teable:latestrestart: alwaysports:- '3000:3000'volumes:- teable-data:/app/.assets:rwenv_file:- .envenvironment:- NEXT_ENV_IMAGES_ALL_REMOTE=truenetworks:- teabledepends_on:teable-db:condition: service_healthyteable-cache:condition: service_healthyhealthcheck:test: ['CMD', 'curl', '-f', 'http://localhost:3000/health']start_period: 5sinterval: 5stimeout: 3sretries: 3teable-db:image: registry.cn-shenzhen.aliyuncs.com/teable/postgres:15.4restart: alwaysports:- '42345:5432'volumes:- teable-db:/var/lib/postgresql/data:rwenvironment:- POSTGRES_DB=${POSTGRES_DB}- POSTGRES_USER=${POSTGRES_USER}- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}networks:- teablehealthcheck:test: ['CMD-SHELL', "sh -c 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'"]interval: 10stimeout: 3sretries: 3teable-cache:image: registry.cn-shenzhen.aliyuncs.com/teable/redis:7.2.4restart: alwaysexpose:- '6379'volumes:- teable-cache:/data:rwnetworks:- teablecommand: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}healthcheck:test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']interval: 10stimeout: 3sretries: 3networks:teable:name: teable-networkvolumes:teable-db: {}teable-data: {}teable-cache: {}
# 替换下面默认密码。
POSTGRES_PASSWORD=replace_this_password
REDIS_PASSWORD=replace_this_password
SECRET_KEY=replace_this_secret_key# 请将下面替换为可您的IP地址
PUBLIC_ORIGIN=http://127.0.0.1:3000# ---------------------# Postgres
POSTGRES_HOST=teable-db
POSTGRES_PORT=5432
POSTGRES_DB=teable
POSTGRES_USER=teable# Redis
REDIS_HOST=teable-cache
REDIS_PORT=6379
REDIS_DB=0# App
PRISMA_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
BACKEND_CACHE_PROVIDER=redis
BACKEND_CACHE_REDIS_URI=redis://default:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}/${REDIS_DB}

4. 启动docker

        docker-compose pull

        docker-compose up -d

备注:

        拉取的镜像一般会存放在这个位置:/var/lib/docker/overlay2#

        

5. 输入网址,登录Teable服务器

创建多维表格,方便数据管理

注意

1. 如果使用外部托管 redis 

  • 删除 service.teable-cache
  • 删除 service.teable.depends_on.teable-cache
  • 删除 volumes.teable-cache
  • 更新 .env 替换为托管redis的配置

2. 可增加存储服务

Teable 默认使用本地存储管理附件资源,可以添加 minio 或云存储来获取更强大、稳定的服务

minio 提供了额外的存储管理界面(9001 端口)以及更强大的稳定的文件服务,如下为docker compose增加的minio服务配置。

services:# ...前面的内容teable-storage:image: registry.cn-shenzhen.aliyuncs.com/teable/minio:RELEASE.2024-02-17T01-15-57Zports:- "9000:9000"- "9001:9001"environment:- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}volumes:- teable-storage:/data:rwnetworks:- teablecommand: server /data --console-address ":9001"createbuckets:image: registry.cn-shenzhen.aliyuncs.com/teable/mcnetworks:- teableentrypoint: >/bin/sh -c "/usr/bin/mc alias set teable-storage http://teable-storage:9000 ${MINIO_ACCESS_KEY} ${MINIO_SECRET_KEY};/usr/bin/mc mb teable-storage/public;/usr/bin/mc anonymous set public teable-storage/public;/usr/bin/mc mb teable-storage/private;exit 0;"depends_on:teable-storage:condition: service_startednetworks:teable:name: teable-networkvolumes:teable-db: {}teable-cache: {}# 增加一个卷teable-storage: {}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95143.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java项目实现【记录系统操作日志】功能

✨ 哈喽,屏幕前的每一位开发者朋友,你们好呀!✨​ 当你点开这篇文章时,或许正对着 IDE 里闪烁的光标发呆,或许刚解决一个卡了三天的 bug,正端着咖啡松口气 —— 不管此刻的你在经历什么,都想先和…

响应式编程框架Reactor【4】

文章目录七、调度与线程模型7.1 概述7.2 Scheduler: Reactor 的线程调度器7.3 两大核心操作符:subscribeOn vs publishOn7.4 示例详解7.4.1 subscribeOn()的全局影响7.4.2 publishOn() 的局部切换7.4.3 多个publishOn切换7.4.4 线程切换时序图7.5 核心调度器7.5.1 B…

第21节:环境贴图与PBR材质升级——构建电影级真实感渲染

第21节:环境贴图与PBR材质升级——构建电影级真实感渲染 概述 基于物理的渲染(Physically Based Rendering, PBR)是当代计算机图形学中最重要的技术进步之一,它彻底改变了实时渲染的质量标准。在本节中,我们将深入探索…

【ROS2】ROS2 基础学习教程 、movelt学习

主要博主 参考资料: ROS系列: b站荔枝橙 b战哈萨克斯坦x 《ROS 2机器人开发从入门到实践》6.2.2 在RViz中显示机器人_哔哩哔哩_bilibili 动手学ROS2–鱼香肉丝 ​​​​​​​ 古月居ros2教程 北京华清智能科技 ros教程 moveit系列: 爱喝青…

Java类加载与JVM详解:从基础到双亲委托机制

在Java开发中,理解JVM(Java虚拟机)和类加载机制是掌握高级特性的关键。本文将从JDK、JRE、JVM的关系入手,深入讲解JVM的内存结构,并详细剖析类加载的全过程,包括加载时机、流程以及核心机制——双亲委托模型…

准备机试--图【y总版】[重要]【最短路】

常用代码模板3——搜索与图论 - AcWing 一般,稀疏图(m约等于n):堆优化版本的dj;稠密图(mn^2):朴素dj 最短路的难点在于建图【抽象出点和边】 朴素dj

Python API接口实战指南:从入门到精通

🌟 Hello,我是蒋星熠Jaxonic! 🌈 在浩瀚无垠的技术宇宙中,我是一名执着的星际旅人,用代码绘制探索的轨迹。 🚀 每一个算法都是我点燃的推进器,每一行代码都是我航行的星图。 &#x…

Spring和mybatis整合后事务拦截器TransactionInterceptor开启提交事务流程

目录一、说明二、TransactionInterceptor开启事务(1)、拦截方法(2)、开启事务绑定数据库连接(3)、mybatis中sql执行数据库连接获取(4)、事务提交和当前线程ThreadLocal清理&#xff…

05.《ARP协议基础知识探秘》

ARP协议基本介绍与实践 文章目录**ARP协议基本介绍与实践**ARP概述ARP报文类型ARP工作过程解析ARP工作原理示意图无故ARP/免费ARP实验案例**实验目标**实验环境实验步骤ARP概述 作用:ARP(Address Resolution Protocol,地址解析协议&#xff…

互联网大厂面试:大模型应用开发岗位核心技术点解析

互联网大厂面试:大模型应用开发岗位核心技术点解析 第一轮:大模型基础与上下文工程 问题 1:你能简单介绍 Transformer 架构的工作原理吗? 小C:嗯,我理解是 Transformer 主要依赖自注意力机制(Se…

【深度学习新浪潮】有没有什么方法可以将照片变成线描稿,比如日式漫画的那种?

一、技术原理与研究进展 1. 线描生成的核心技术路径 传统方法:基于边缘检测(如Canny算子)和形态学操作,但难以处理复杂纹理和艺术风格。 深度学习方法: 端到端生成:使用U-Net架构(如ArtLine项目)直接学习照片到线描的映射,结合自注意力机制和感知损失提升细节保留能力…

NV032NV037美光固态闪存NV043NV045

NV032NV037美光固态闪存NV043NV045在数字化浪潮席卷全球的当下,存储技术的每一次突破都深刻影响着从个人消费到企业级应用的各个领域。美光科技作为行业领军者,其NV系列固态闪存产品始终以技术创新为核心驱动力。本文将聚焦NV032、NV037、NV043、NV045四…

天硕G40工业固态硬盘破解轨道存储难题

在高铁与轨道交通高速发展的今天,轨道检测探伤是保障列车安全运行的核心环节。据统计,我国铁路总里程已突破16万公里,日均检测数据量超10TB。加固平板一体机作为轨道探伤领域的“移动工作站”,需要在跨越大江南北的极端环境中实时…

基于Velero + 阿里云 OSS的Kubernetes 集群的备份与恢复

在 Kubernetes(K8s)中,备份和恢复是保障数据安全与业务连续性的关键环节,主要方式包括 ETCD 备份恢复 和 Velero 备份恢复,两者在备份粒度、恢复影响范围、存储位置等方面存在以下差异: 1、ETCD 备份恢复&…

解构与重构:“真人不露相,露相非真人” 的存在论新解 —— 论 “真在” 的行为表达本质

解构与重构:“真人不露相,露相非真人” 的存在论新解 —— 论 “真在” 的行为表达本质绪论:传统解释的突围 —— 从 “藏才” 到 “存真”“真人不露相,露相非真人” 这句谚语,自明代《西游记》以降,便长期…

数据结构:哈希表、排序和查找

一、哈希算法1.将数据通过哈希算法映射成一个健值,存取都在同一个位置,实现数据的高效存储和查找,时间复杂度由O(n)->O(1)2.哈希碰撞:多个数据通过哈希算法得到的键值相同二、哈希表1.构建哈希表存放0-100之间的数据2.哈希算法…

【Java基础】Java I/O模型解析:BIO、NIO、AIO的区别与联系(Netty入门必备基础)

Java I/O模型深度解析:BIO、NIO、AIO的区别与联系 引言 在Java的网络编程与文件操作中,I/O(输入/输出)模型是绕不开的核心话题。从早期的BIO(Blocking I/O)到Java 1.4引入的NIO(Non-blocking I/…

windows PowerToys之无界鼠标:一套键鼠控制多台设备

💻简介 在多设备协作的工作场景中,如何实现一套键鼠控制多台设备了?微软推出的 PowerToys 工具集中的 Mouse Without Borders(无界鼠标),通过软件层实现跨设备的键鼠共享与数据同步功能,为多台…

一道比较难的sql题,筛选出重复字段的行数

select * from 导入数据表; id city_column 1 北京,上海,广州 2 上海,上海,深圳 3 北京,杭州,北京 4 上海,广州,深圳select substring_index(khmc,,,1), * from 导入数据表 truncate table 导入数据表 select count(distinct khmc) from 导入数据表; …

【K8s】整体认识K8s之与集群外部访问--service

这一篇文章主要是对service发现新的理解 为什么要使用service服务发现? 首先pod的IP,是动态的,当我们重启一个pod的时候,它会给它分配一个新的IP,但是如果微服务a想要去调用微服务b,他是需要知道微服务b所有…