mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-09-05 13:38:01 +00:00
feat(dev): add devcontainer config to test and dev on sogo
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
## Dev Container
|
||||
|
||||
The SOGo dev container will deploy a complete environnement to work and test with SOGo
|
||||
|
||||
This environnement contains:
|
||||
- a mariadb database
|
||||
- an imap server (dovecot) and a smtp server (postfix)
|
||||
- a ldap server for the user source
|
||||
- an Apache server
|
||||
- The SOGo instance
|
||||
|
||||
## How to use the devcontainer
|
||||
|
||||
Simply clone the source code of the SOGo repo and open id with Visual Code Studio. If this is not already the case, you will need the [Dev Container Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). Then, simply execute the command "New Dev COntainer" and VCS will start building it.
|
||||
|
||||
|
||||
When it's all build, go to http://127.0.0.1/SOGo. You have 3 users to login with:
|
||||
`sogo-tests1`, `sogo-tests2`, `sogo-tests3` with all the same password `sogo`
|
||||
|
||||
You can only send mail and receive mail within the domain `example.org`
|
||||
|
||||
## How to work on SOGo
|
||||
|
||||
|
||||
### To modify the source and build
|
||||
|
||||
After modifyng the source in VCS, in your container's terminalthere is a command tool `devenv` with following options for building:
|
||||
```
|
||||
-b, --build Build sogo app
|
||||
-ba, --build-all Clean, build sogo and sope
|
||||
-br, --build-resources Build only sogo JS/CSS resources
|
||||
```
|
||||
|
||||
To build sogo simplye does
|
||||
```shell
|
||||
sudo devenv -b
|
||||
```
|
||||
- The options -br will only build the front
|
||||
- The options -ba will also build [SOPE](https://github.com/Alinto/sope) (low-level of SOGo, needs to be build before SOGo)
|
||||
|
||||
|
||||
### To use the debugger
|
||||
|
||||
Inside the sogo container there is a tool to launch SOGo with the [debugger gdb](https://sourceware.org/gdb/).
|
||||
|
||||
Use one of the following command:
|
||||
|
||||
```shell
|
||||
sudo devenv -d
|
||||
sudo devenv --debug
|
||||
```
|
||||
|
||||
|
||||
### To change sogo.conf
|
||||
|
||||
The sogo.conf is linked to the one here [.devcontainer/conf/sogo/sogo.conf](conf/sogo/sogo.conf)
|
||||
|
||||
Modify it as you wish then you need to restart the sogo service inside the container:
|
||||
```shell
|
||||
service sogod restart
|
||||
```
|
||||
|
||||
### To modify SOPE
|
||||
|
||||
Sometimes, you may have to change SOPE source code. In order to do that:
|
||||
- First, clone the SOPE repo locally.
|
||||
- Uncomment line 101 of the docker-compose.yml file and put the correct path to your SOPE folder. It should end with 'sope' like this: `/home/myuser/github/sope`
|
||||
- Then, you have to rebuild your devcontainer.
|
||||
- Now you can modify the source of SOPE and build it by going inside the sogo_dev container and do.
|
||||
```shell
|
||||
sudo devenv -ba
|
||||
```
|
||||
Reference in New Issue
Block a user