feat: add more

This commit is contained in:
Sun-ZhenXing
2025-10-06 21:48:39 +08:00
parent f330e00fa0
commit 3c609b5989
120 changed files with 7698 additions and 59 deletions

13
src/odoo/.env.example Normal file
View File

@@ -0,0 +1,13 @@
# Odoo version
ODOO_VERSION="19.0"
# PostgreSQL version
POSTGRES_VERSION="17-alpine"
# Database configuration
POSTGRES_USER="odoo"
POSTGRES_PASSWORD="odoopass"
POSTGRES_DB="postgres"
# Port to bind to on the host machine
ODOO_PORT_OVERRIDE=8069

101
src/odoo/README.md Normal file
View File

@@ -0,0 +1,101 @@
# Odoo
[Odoo](https://www.odoo.com/) is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.
## Features
- Modular: Choose from over 30,000 apps
- Integrated: All apps work seamlessly together
- Open Source: Free to use and customize
- Scalable: From small businesses to enterprises
- User-Friendly: Modern and intuitive interface
## Quick Start
Start Odoo with PostgreSQL:
```bash
docker compose up -d
```
## Configuration
### Environment Variables
- `ODOO_VERSION`: Odoo version (default: `19.0`)
- `ODOO_PORT_OVERRIDE`: HTTP port (default: `8069`)
- `POSTGRES_VERSION`: PostgreSQL version (default: `17-alpine`)
- `POSTGRES_USER`: Database user (default: `odoo`)
- `POSTGRES_PASSWORD`: Database password (default: `odoopass`)
- `POSTGRES_DB`: Database name (default: `postgres`)
## Access
- Web UI: <http://localhost:8069>
## First Time Setup
1. Navigate to <http://localhost:8069>
2. Create a new database:
- Master password: (set a strong password)
- Database name: (e.g., `mycompany`)
- Email: Your admin email
- Password: Your admin password
3. Choose apps to install
4. Start using Odoo!
## Custom Addons
Place custom addons in the `odoo_addons` volume. The directory structure should be:
```text
odoo_addons/
├── addon1/
│ ├── __init__.py
│ ├── __manifest__.py
│ └── ...
└── addon2/
├── __init__.py
├── __manifest__.py
└── ...
```
## Database Management
### Create a New Database
1. Go to <http://localhost:8069/web/database/manager>
2. Click "Create Database"
3. Fill in the required information
4. Click "Create"
### Backup Database
1. Go to <http://localhost:8069/web/database/manager>
2. Select your database
3. Click "Backup"
4. Save the backup file
### Restore Database
1. Go to <http://localhost:8069/web/database/manager>
2. Click "Restore Database"
3. Upload your backup file
4. Click "Restore"
## Resources
- Resource Limits: 2 CPU, 2G RAM (Odoo), 1 CPU, 1G RAM (Database)
- Resource Reservations: 0.5 CPU, 1G RAM (Odoo), 0.25 CPU, 512M RAM (Database)
## Production Considerations
For production deployments:
1. Set a strong master password
2. Use HTTPS (configure reverse proxy)
3. Regular database backups
4. Monitor resource usage
5. Keep Odoo and addons updated
6. Configure email settings for notifications
7. Set up proper logging and monitoring

101
src/odoo/README.zh.md Normal file
View File

@@ -0,0 +1,101 @@
# Odoo
[Odoo](https://www.odoo.com/) 是一套开源商业应用程序涵盖了公司的所有需求CRM、电子商务、会计、库存、销售点、项目管理等。
## 功能特性
- 模块化:从 30,000 多个应用中选择
- 集成化:所有应用无缝协作
- 开源:免费使用和定制
- 可扩展:从小型企业到大型企业
- 用户友好:现代直观的界面
## 快速开始
使用 PostgreSQL 启动 Odoo
```bash
docker compose up -d
```
## 配置
### 环境变量
- `ODOO_VERSION`: Odoo 版本(默认:`19.0`
- `ODOO_PORT_OVERRIDE`: HTTP 端口(默认:`8069`
- `POSTGRES_VERSION`: PostgreSQL 版本(默认:`17-alpine`
- `POSTGRES_USER`: 数据库用户(默认:`odoo`
- `POSTGRES_PASSWORD`: 数据库密码(默认:`odoopass`
- `POSTGRES_DB`: 数据库名称(默认:`postgres`
## 访问
- Web UI: <http://localhost:8069>
## 首次设置
1. 导航到 <http://localhost:8069>
2. 创建新数据库:
- 主密码:(设置一个强密码)
- 数据库名称:(例如:`mycompany`
- 邮箱:您的管理员邮箱
- 密码:您的管理员密码
3. 选择要安装的应用
4. 开始使用 Odoo
## 自定义插件
将自定义插件放在 `odoo_addons` 卷中。目录结构应该是:
```text
odoo_addons/
├── addon1/
│ ├── __init__.py
│ ├── __manifest__.py
│ └── ...
└── addon2/
├── __init__.py
├── __manifest__.py
└── ...
```
## 数据库管理
### 创建新数据库
1. 访问 <http://localhost:8069/web/database/manager>
2. 点击"创建数据库"
3. 填写必要信息
4. 点击"创建"
### 备份数据库
1. 访问 <http://localhost:8069/web/database/manager>
2. 选择您的数据库
3. 点击"备份"
4. 保存备份文件
### 恢复数据库
1. 访问 <http://localhost:8069/web/database/manager>
2. 点击"恢复数据库"
3. 上传您的备份文件
4. 点击"恢复"
## 资源配置
- 资源限制2 CPU2G 内存Odoo1 CPU1G 内存(数据库)
- 资源预留0.5 CPU1G 内存Odoo0.25 CPU512M 内存(数据库)
## 生产环境考虑因素
对于生产环境部署:
1. 设置强主密码
2. 使用 HTTPS配置反向代理
3. 定期数据库备份
4. 监控资源使用情况
5. 保持 Odoo 和插件更新
6. 配置电子邮件设置以接收通知
7. 设置适当的日志记录和监控

View File

@@ -0,0 +1,65 @@
x-default: &default
restart: unless-stopped
volumes:
- &localtime /etc/localtime:/etc/localtime:ro
- &timezone /etc/timezone:/etc/timezone:ro
logging:
driver: json-file
options:
max-size: 100m
services:
odoo:
<<: *default
image: odoo:${ODOO_VERSION:-19.0}
container_name: odoo
depends_on:
- odoo-db
ports:
- "${ODOO_PORT_OVERRIDE:-8069}:8069"
volumes:
- *localtime
- *timezone
- odoo_web_data:/var/lib/odoo
- odoo_addons:/mnt/extra-addons
environment:
- HOST=odoo-db
- USER=${POSTGRES_USER:-odoo}
- PASSWORD=${POSTGRES_PASSWORD:-odoopass}
- DB_PORT=5432
- DB_NAME=${POSTGRES_DB:-postgres}
deploy:
resources:
limits:
cpus: '2.0'
memory: 2G
reservations:
cpus: '0.5'
memory: 1G
odoo-db:
<<: *default
image: postgres:${POSTGRES_VERSION:-17-alpine}
container_name: odoo-db
environment:
- POSTGRES_USER=${POSTGRES_USER:-odoo}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-odoopass}
- POSTGRES_DB=${POSTGRES_DB:-postgres}
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- *localtime
- *timezone
- odoo_db_data:/var/lib/postgresql/data
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.25'
memory: 512M
volumes:
odoo_web_data:
odoo_addons:
odoo_db_data: