Merge pull request #105 from jbutler992/docker-compose
add docker-compose
This commit is contained in:
commit
8251f8c411
6 changed files with 99 additions and 3 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -62,3 +62,5 @@ webapp/cypress/videos
|
|||
server/swagger/clients
|
||||
server/vendor
|
||||
.idea
|
||||
docker/certs
|
||||
docker/data
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
FROM ubuntu:latest
|
||||
FROM ubuntu:20.04
|
||||
|
||||
# Make sure that the underlying container is patched to the latest versions
|
||||
RUN apt update && \
|
||||
apt install -y wget tar gzip
|
||||
RUN apt-get update && \
|
||||
apt-get install -y gzip tar wget
|
||||
|
||||
# Now install Focalboard as a seperate layer
|
||||
RUN wget https://github.com/mattermost/focalboard/releases/download/v0.6.1/focalboard-server-linux-amd64.tar.gz && \
|
30
docker/README.md
Normal file
30
docker/README.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Deploy Focalboard with Docker
|
||||
|
||||
## Docker
|
||||
|
||||
The Dockerfile gives a quick and easy way to pull the latest Focalboard server and deploy it locally.
|
||||
|
||||
```
|
||||
docker build -t focalboard .
|
||||
docker run -it -p 80:8000 focalboard
|
||||
```
|
||||
|
||||
Open a browser to http://localhost to start
|
||||
|
||||
## Docker-Compose
|
||||
|
||||
Docker-Compose provides the option to automate the build and run step, or even include some of the steps from the [personal server setup](https://www.focalboard.com/download/personal-edition/ubuntu/).
|
||||
|
||||
To start the server run
|
||||
|
||||
```
|
||||
docker-compose up
|
||||
```
|
||||
|
||||
This will automatically build the focalboard image and start it with the http port mapping.
|
||||
|
||||
To run focalboard with a nginx proxy and a postgres backend run
|
||||
|
||||
```
|
||||
docker-compose -f docker-compose-db-nginx.yml up
|
||||
```
|
16
docker/config.json
Normal file
16
docker/config.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"serverRoot": "http://localhost:8000",
|
||||
"port": 8000,
|
||||
"dbtype": "postgres",
|
||||
"dbconfig": "postgres://boardsuser:boardsuser-password@focalboard-db/boards?sslmode=disable&connect_timeout=10",
|
||||
"postgres_dbconfig": "dbname=boards sslmode=disable",
|
||||
"useSSL": false,
|
||||
"webpath": "./pack",
|
||||
"filespath": "./files",
|
||||
"telemetry": true,
|
||||
"session_expire_time": 2592000,
|
||||
"session_refresh_time": 18000,
|
||||
"localOnly": false,
|
||||
"enableLocalMode": true,
|
||||
"localModeSocketLocation": "/var/tmp/focalboard_local.socket"
|
||||
}
|
36
docker/docker-compose-db-nginx.yml
Normal file
36
docker/docker-compose-db-nginx.yml
Normal file
|
@ -0,0 +1,36 @@
|
|||
version: "3"
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: ./
|
||||
container_name: focalboard
|
||||
depends_on:
|
||||
- focalboard-db
|
||||
expose:
|
||||
- 8000
|
||||
environment:
|
||||
- VIRTUAL_HOST=focalboard.local
|
||||
- VIRTUAL_PORT=8000
|
||||
volumes:
|
||||
- "./config.json:/opt/focalboard/config.json"
|
||||
|
||||
proxy:
|
||||
image: jwilder/nginx-proxy:latest
|
||||
container_name: focalboard-proxy
|
||||
ports:
|
||||
- 443:443
|
||||
volumes:
|
||||
- "./certs:/etc/nginx/certs:ro"
|
||||
- "/var/run/docker.sock:/tmp/docker.sock:ro"
|
||||
|
||||
focalboard-db:
|
||||
image: postgres:latest
|
||||
container_name: focalboard-postgres
|
||||
restart: always
|
||||
volumes:
|
||||
- "./data:/var/lib/postgresql/data"
|
||||
environment:
|
||||
POSTGRES_DB: boards
|
||||
POSTGRES_USER: boardsuser
|
||||
POSTGRES_PASSWORD: boardsuser-password
|
||||
|
12
docker/docker-compose.yml
Normal file
12
docker/docker-compose.yml
Normal file
|
@ -0,0 +1,12 @@
|
|||
version: "3"
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: ./
|
||||
container_name: focalboard
|
||||
ports:
|
||||
- 80:8000
|
||||
environment:
|
||||
- VIRTUAL_HOST=focalboard.local
|
||||
- VIRTUAL_PORT=8000
|
||||
|
Loading…
Reference in a new issue