gulag-dockerized
Easily deploy gulag + gulag-web with an existing nginx server. TODO: For even simpler deployment where there is no web server, an nginx+letsencrypt service could be added to this stack.
NOT TESTED YET!!
How to use
-
Download or clone the repository to
/opt/gulag-dockerized
. If you put it elsewhere, you'll need to update the corresponding web root in./config/nginx.conf
. -
Edit
./config/gulag.py
and./config/gulag-web.py
as needed. -
Start the stack with
docker-compose up -d
. -
Install nginx and certbot if you do not have them.
-
You'll need your desired domain name pointed to your host with a wildcard (i.e.
example.com
and*.example.com
). -
Create certificate for your domain with certbot:
H=example.com certbot certonly --nginx -d $H -d osu.$H -d a.$H -d b.$H -d c.$H -d ce.$H -d c4.$H -d c5.$H -d c6.$H -d assets.$H
If you can configure a certbot DNS plugin then you can get a wildcard certificate instead, otherwise specifying each domain is simpler.
-
Replace all
example.com
in./config/nginx.conf
with your domain. -
Copy/move/symlink
./config/nginx.conf
to/etc/nginx/conf.d/gulag.conf
and reload nginx.
Notes
-
The docker images were built from gulag commit 32738126081720a25c4d185cb8d756a9ea859d52 and gulag-web commit b7fff4c70a6beb118f6fe182d29c27429db77886. If you want newer changes, rebuild your own images with
docker-compose build
, and download https://github.com/cmyui/gulag/blob/master/ext/db.sql to./db.sql
. Note that upstream changes could have broken this stack. -
If port 5000 (used between gulag-web and nginx) is used on your system, change it in
docker-compose.conf
and./config/nginx.conf
.