SITE=tom.moulard.org docker-compose up -d
Now you have my own server configuration.
To be a little more consistent with the management, you can use a .env
file and do:
cp .env.default .env
and edit the file to use the correct site url.
docker-compose down
- traefik
- gitlab
- CI/CD worker(s)
- nextcloud
- nginx
- weechat
- transmission
- vpn
- jupyter
- readthedoc / DokuWiki
- pastebin
- image / screenshot hosting
- hackmd main repo
- prometheus / EFK / filebeat / ELK
- proxy
- RSS agregator server
- url shortener
- factorio server
- news group server
- vlc server
- blog using hugo
- MOOC
- Latex online editor
- Bazarr (subs), lidarr (music), sonarr (shows), jackett (interface)
- Bitwarden
- which database ? maria / mysql / mongo / postgres
- gitlab postgresSQL / MySQL - MariaDB
- nextcloud postgresSQL / MySQL - MariaDB / Oracle
- nginx.conf
- create a git repository auto in gitlab for // FIXME
- Create a Dockerfile for a mail server
- reverse proxy with ssl
- multi files configuration
- Testing
- traefik
- gitlab
- nextcloud
- nginx
- weechat
- transmission
- vpn
- jupyter
- pastebin
- ELK
- sharelatex / Overleaf
- blog
- have default configuration files
- traefik
- gitlab
- gitlab runner
- transmission
- pastebin
- nextcloud
- nginx
- ELK (WIP)
Don't forget to change db passwords. (migth not be needed since they are beyond
the reverse proxy).
Fill vpn secrets(if none provided, they are generated directly).
Configuration files are: docker-compose.yml
, nginx.conf
To set the password:
echo "USERS=$USER:$(openssl passwd -apr1)" >> .env
You can add a new set of credentials by editing the .env file like
USERS=toto:pass,tata:pass, ...
docker-compose scale nginx=2
Status | Address | port(s) |
---|---|---|
[X] | traefik.${SITE} | 80, 443 (redirect 80 to 443) |
[X] | gitlab.${SITE} | 22, 80, 443 |
[X] | cloud.${SITE} | 80, 443 |
[X] | ${SITE} | 80, 443 |
[ ] | mail.${SITE} | 25(recv mail), 465(ssl), 587(TLS), 143(IMAP), 993(IMAP), 110(POP3), 995(POP3) |
[X] | torrent.${SITE} | 80, 443 (redirect 80 to 443) |
[X] | vpn.${SITE} | 500, 4500 |
[X] | jupiter.${SITE} | 80, 443 (redirect 80 to 443) |
[X] | paste.${SITE} | 80, 443 (redirect 80 to 443) |
[X] | video.${SITE} | 80, 443 (redirect 80 to 443) |
[ ] | irc.${SITE} | ?? |
Find your runner registration token ($REGISTRATION_TOKEN) at http://GITLAB_HOST/$PROJECT_GROUP/$PROJECT_NAME/settings/ci_cd
.
There is two way to register the runner:
Register the Registration Token to have a Runner Token
curl -X POST 'http://gitlab.${SITE}/api/v4/runners' --form 'token=$REGISTRATION_TOKEN' --form 'description=The Best Runner'
Now change the token in the configuration file.
[[runners]]
token = "XXXXXXXXXXXXXXXXXXXX"
and run the runner
docker-compose up -d runner
Steps:
- up the runner
docker-compose up -d runner
- register the runner
docker-compose exec runner gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url "http://gitlab/" \
--registration-token "$REGISTRATION_TOKEN" \
--description "The Best Runner" \
--tag-list "docker,aws" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"
Main author:
Gitlab helper: