Loading... # 一、背景 作为运维工程师,十几年的职业生涯感触良多。其中,运维人员是辛苦的,知识是广泛的,但心理上是有点苦苦的。大家需要交流,需要开阔视野,需要与这个时代共同进步。于是,有了这个论坛。 # 二、过程 ## (1)准备一个域名 lagua.op123.ren ## (2)准备compose文件 部署在/opt/discourse目录 ``` mkdir -p /opt/discourse/data cd /opt/discourse/data mkdir -p discourse_data postgresql_data redis_data sidekiq_data chmod 777 * ``` docker-compose.yml文件 ``` version: '2' services: postgresql: container_name: postgresql image: harbor.test.stesh.cn/bitnami/postgresql:11 volumes: - './data/postgresql_data:/bitnami/postgresql' environment: - POSTGRESQL_POSTGRES_PASSWORD=admin12345 - POSTGRESQL_USERNAME=ex_discourse - POSTGRESQL_PASSWORD=user12345 - POSTGRESQL_DATABASE=example_discourse networks: discourse-network: ipv4_address: 192.168.80.51 redis: container_name: redis image: harbor.test.stesh.cn/bitnami/redis:6.0 environment: - REDIS_PASSWORD=redis12345 volumes: - './data/redis_data:/bitnami/redis' networks: discourse-network: ipv4_address: 192.168.80.52 discourse: container_name: discourse image: harbor.test.stesh.cn/bitnami/discourse:2 ports: - '127.0.0.1:880:3000' volumes: - './data/discourse_data:/bitnami/discourse' depends_on: - postgresql - redis environment: # 用户和站点配置 - DISCOURSE_HOST=lagua.op123.ren - DISCOURSE_USERNAME=admin - DISCOURSE_PASSWORD=xxx - DISCOURSE_EMAIL=wangyg@sddts.cn # 数据库连接配置 - DISCOURSE_DATABASE_HOST=postgresql - DISCOURSE_DATABASE_PORT_NUMBER=5432 - DISCOURSE_DATABASE_USER=ex_discourse - DISCOURSE_DATABASE_PASSWORD=user12345 - DISCOURSE_DATABASE_NAME=example_discourse # Redis 连接配置 - DISCOURSE_REDIS_HOST=redis - DISCOURSE_REDIS_PORT_NUMBER=6379 - DISCOURSE_REDIS_PASSWORD=redis12345 # 使用 postgresql-client 为 Discourse 创建数据库 - POSTGRESQL_CLIENT_POSTGRES_USER=postgres - POSTGRESQL_CLIENT_POSTGRES_PASSWORD=admin12345 - POSTGRESQL_CLIENT_CREATE_DATABASE_NAME=example_discourse - POSTGRESQL_CLIENT_CREATE_DATABASE_EXTENSIONS=hstore,pg_trgm # SMTP - DISCOURSE_SMTP_HOST=smtp.feishu.cn - DISCOURSE_SMTP_PORT=465 - DISCOURSE_SMTP_USER=wangyg@sddts.cn - DISCOURSE_SMTP_PASSWORD=xxx - DISCOURSE_SMTP_PROTOCOL=tls - DISCOURSE_SMTP_AUTH=login networks: discourse-network: ipv4_address: 192.168.80.31 sidekiq: container_name: sidekiq image: harbor.test.stesh.cn/bitnami/discourse:2 depends_on: - discourse volumes: - './data/sidekiq_data:/bitnami/discourse' command: /opt/bitnami/scripts/discourse-sidekiq/run.sh environment: # 用户和站点配置 - DISCOURSE_HOST=lagua.op123.ren - DISCOURSE_USERNAME=admin - DISCOURSE_PASSWORD=xxx - DISCOURSE_EMAIL=wangyg@sddts.cn # 数据库连接配置 - DISCOURSE_DATABASE_HOST=postgresql - DISCOURSE_DATABASE_PORT_NUMBER=5432 - DISCOURSE_DATABASE_USER=ex_discourse - DISCOURSE_DATABASE_PASSWORD=user12345 - DISCOURSE_DATABASE_NAME=example_discourse # Redis 连接配置 - DISCOURSE_REDIS_HOST=redis - DISCOURSE_REDIS_PORT_NUMBER=6379 - DISCOURSE_REDIS_PASSWORD=redis12345 # SMTP - DISCOURSE_SMTP_HOST=smtp.feishu.cn - DISCOURSE_SMTP_PORT=465 - DISCOURSE_SMTP_USER=wangyg@sddts.cn - DISCOURSE_SMTP_PASSWORD=xxx - DISCOURSE_SMTP_PROTOCOL=tls - DISCOURSE_SMTP_AUTH=login networks: discourse-network: ipv4_address: 192.168.80.32 networks: discourse-network: driver: bridge ipam: config: - subnet: 192.168.80.0/24 ``` ## (3)使用frpc将端口127.0.0.1:880打通到公网 ``` # frpc.toml serverAddr = "xxx" serverPort = xxx [[proxies]] name = "discourse" type = "tcp" localIP = "127.0.0.1" localPort = 880 remotePort = 7001 ``` ## 公网服务器反代 ``` 127.0.0.1:7001 ``` ## (4)访问 https://lagua.op123.ren # 三、其他 * [discourse容器化部署][1] [1]: https://blog.csdn.net/yi0322/article/details/124812547 最后修改:2024 年 05 月 11 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏