feature: added docker image for LDP server
This commit is contained in:
parent
6a7edb1a6c
commit
401a000e5f
112
README.md
112
README.md
@ -17,67 +17,17 @@ To install SiB App, you'll need to have:
|
|||||||
|
|
||||||
### Installing
|
### Installing
|
||||||
|
|
||||||
#### At first, you'll need to deploy a `sib-manager` server, then configure it.
|
[Install a server and a client application](https://git.happy-dev.fr/startinblox/devops/doc/wikis/deploy_a_sib_application)
|
||||||
|
|
||||||
#### `sib-manager` installation or update
|
|
||||||
|
|
||||||
|
Or build the docker images and run it:
|
||||||
```
|
```
|
||||||
$ pip3 install -U sib-manager
|
$ docker build -t sibapp docker/
|
||||||
|
$ docker run --rm -p 127.0.0.1:8000:8000 -it sibapp
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `sib-manager` deploy
|
## FIXME
|
||||||
|
|
||||||
```
|
Create a Client ID for Prosody & Client
|
||||||
$ sib startproject newserver -m djangoldp_project -m oidc_provider@django-oidc-provider -m djangoldp_circle -m djangoldp_joboffer -m djangoldp_profile -m djangoldp_skill -m djangoldp_account -m djangoldp_notification -m djangoldp_conversation
|
|
||||||
$ sib initproject newserver
|
|
||||||
```
|
|
||||||
|
|
||||||
We're using
|
|
||||||
- `djangoldp_project`,
|
|
||||||
- `django-oidc-provider`,
|
|
||||||
- `djangoldp_circle`,
|
|
||||||
- `djangoldp_joboffer`,
|
|
||||||
- `djangoldp_profile`,
|
|
||||||
- `djangoldp_skill`,
|
|
||||||
- `djangoldp_account`,
|
|
||||||
- `djangoldp_notification`,
|
|
||||||
- `djangoldp_conversation`
|
|
||||||
|
|
||||||
As dependencies, if you don't want them, just remove the `-m packagename`.
|
|
||||||
|
|
||||||
`sibserver` is the name of the folder that `sib-manager` will create, choose it wisely.
|
|
||||||
|
|
||||||
In addition to the `startproject` you can add :
|
|
||||||
|
|
||||||
- `--site-url "http://localhost:8000"`
|
|
||||||
- `--production` to use postgresql instead of sqlite
|
|
||||||
- `--db-host`, `--db-name`, `--db-user` and `--db-pass` are used to configure the database (mandatory with `--production`)
|
|
||||||
- `--smtp-host`, `--smtp-user` and `--smtp-pass` are used to configure the SMTP (optional)
|
|
||||||
|
|
||||||
#### `sibserver` configuration
|
|
||||||
|
|
||||||
You'll have to change some settings on the `sibserver` files.
|
|
||||||
|
|
||||||
- Add your server name to `ALLOWED_HOSTS`
|
|
||||||
- In `settings.py`, add your hostname on `ALLOWED_HOSTS`, eg:
|
|
||||||
```
|
|
||||||
ALLOWED_HOSTS = ['api.myserver.com', 'localhost']
|
|
||||||
```
|
|
||||||
- Around line `96-97` of `settings.py` set your `PROSODY_HTTP_URL`, `JABBER_DEFAULT_HOST`, eg:
|
|
||||||
```
|
|
||||||
PROSODY_HTTP_URL = 'https://jabber.happy-dev.fr'
|
|
||||||
JABBER_DEFAULT_HOST = 'happy-dev.fr'
|
|
||||||
```
|
|
||||||
|
|
||||||
#### `sib-manager` launching
|
|
||||||
|
|
||||||
On the first `sibserver` folder
|
|
||||||
|
|
||||||
```
|
|
||||||
$ ./manage.py runserver
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Create a Client ID for Prosody & Client
|
|
||||||
|
|
||||||
- Go to `localhost:8000/admin/`
|
- Go to `localhost:8000/admin/`
|
||||||
- Login with previously created account.
|
- Login with previously created account.
|
||||||
@ -96,26 +46,7 @@ $ ./manage.py runserver
|
|||||||
```
|
```
|
||||||
- Keep the `6-digits` newly create `Client ID` somewhere
|
- Keep the `6-digits` newly create `Client ID` somewhere
|
||||||
|
|
||||||
#### Then, you'll have to install the client.
|
Configure `config.json`:
|
||||||
|
|
||||||
#### Clone this repository
|
|
||||||
|
|
||||||
```
|
|
||||||
# With SSH
|
|
||||||
$ git clone git@git.happy-dev.fr:startinblox/applications/sib-app.git
|
|
||||||
|
|
||||||
# Or with HTTPS
|
|
||||||
$ git clone https://git.happy-dev.fr/startinblox/applications/sib-app.git
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Install dependencies
|
|
||||||
|
|
||||||
```
|
|
||||||
$ cd sib-app
|
|
||||||
$ npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Configure `config.json`
|
|
||||||
|
|
||||||
On the newly created `./src/config.json` change the `dev` configuration like this:
|
On the newly created `./src/config.json` change the `dev` configuration like this:
|
||||||
```
|
```
|
||||||
@ -127,35 +58,6 @@ On the newly created `./src/config.json` change the `dev` configuration like thi
|
|||||||
},
|
},
|
||||||
```
|
```
|
||||||
|
|
||||||
#### That's all! Now let's run it!
|
|
||||||
|
|
||||||
```
|
|
||||||
# For dev
|
|
||||||
$ make watch
|
|
||||||
$ npm run serve
|
|
||||||
|
|
||||||
# Or for prod
|
|
||||||
$ make build
|
|
||||||
# Then publish the www folder
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## Deployment
|
|
||||||
|
|
||||||
Deployment will need a registered RSA Key on production servers.
|
|
||||||
|
|
||||||
### On Alpha
|
|
||||||
|
|
||||||
```
|
|
||||||
$ make syncprod
|
|
||||||
```
|
|
||||||
|
|
||||||
### On Staging
|
|
||||||
|
|
||||||
```
|
|
||||||
$ make sync
|
|
||||||
```
|
|
||||||
|
|
||||||
## Built With
|
## Built With
|
||||||
|
|
||||||
* [Sib-Core](https://git.happy-dev.fr/startinblox/framework/sib-core/) - An awesome new framework!
|
* [Sib-Core](https://git.happy-dev.fr/startinblox/framework/sib-core/) - An awesome new framework!
|
||||||
|
10
docker/Dockerfile
Normal file
10
docker/Dockerfile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
FROM happydev1/sib:3.6
|
||||||
|
|
||||||
|
RUN pip install --user -U sib-manager
|
||||||
|
RUN sudo chown -R sib /opt
|
||||||
|
WORKDIR /opt
|
||||||
|
RUN cd /opt/ && sib startproject sib_server
|
||||||
|
ADD packages.yml /opt/sib_server/packages.yml
|
||||||
|
RUN cd /opt/sib_server && sib install sib_server
|
||||||
|
EXPOSE 8000
|
||||||
|
CMD cd /opt/sib_server && python manage.py runserver 0.0.0.0:8000
|
18
docker/packages.yml
Normal file
18
docker/packages.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
ldppackages:
|
||||||
|
djangoldp_project: djangoldp_project
|
||||||
|
djangoldp_uploader: djangoldp_uploader
|
||||||
|
djangoldp_circle: djangoldp_circle
|
||||||
|
djangoldp_notification: djangoldp_notification
|
||||||
|
djangoldp_account: djangoldp_account
|
||||||
|
djangoldp_skill: djangoldp_skill
|
||||||
|
djangoldp_joboffer: djangoldp_joboffer
|
||||||
|
djangoldp_conversation: djangoldp_conversation
|
||||||
|
djangoldp_profile: djangoldp_profile
|
||||||
|
djangoldp_invoice: djangoldp_invoice
|
||||||
|
oidc_provider: 'git+https://github.com/jblemee/django-oidc-provider.git@develop'
|
||||||
|
|
||||||
|
server:
|
||||||
|
site_url: 'http://localhost:8000'
|
||||||
|
admin_email: admin@example.org
|
||||||
|
admin_name: admin
|
||||||
|
admin_pass: admin
|
Loading…
Reference in New Issue
Block a user