Commit 5cd88811 authored by root's avatar root
Browse files

Initial commit

parent a3e8b823
Loading
Loading
Loading
Loading
+50 −29
Original line number Diff line number Diff line
@@ -2,27 +2,17 @@ ALERTMANAGER_IMAGE_VERSION=
BAZARR_GPID=
BAZARR_IMAGE_VERSION=
BAZARR_PUID=
BITWARDEN_IMAGE_VERSION=
CADVISOR_IMAGE_VERSION=
CIAO_IMAGE_VERSION=
CIAO_PROMETHEUS_ENABLED=
CODIMD_IMAGE_VERSION=
ELASTICSEARCH_CLUSTER_NAME=
ELASTICSEARCH_DISCOVERY_TYPE=
ELASTICSEARCH_IMAGE_VERSION=
ELASTICSEARCH_JAVA_OPTS=
ELASTICSEARCH_MEMORY_LOCK=
FRAMADATE_ADMIN_PASSWORD=
FRAMADATE_IMAGE_VERSION=
FRAMADATE_MYSQL_DATABASE=
FRAMADATE_MYSQL_PASSWORD=
FRAMADATE_MYSQL_ROOT_PASSWORD=
FRAMADATE_MYSQL_USER=
GITLAB_IMAGE_VERSION=
GITLAB_RUNNER_IMAGE_VERSION=
GRAFANA_IMAGE_VERSION=
HOME=
HOME_ASSISTANT_IMAGE_VERSION=
JACKETT_GPID=
JACKETT_IMAGE_VERSION=
JACKETT_PUID=
@@ -38,19 +28,12 @@ NEXTCLOUD_MYSQL_USER=
NGINX_IMAGE_VERSION=
NODE_EXPORTER_IMAGE_VERSION=
PROMETHEUS_IMAGE_VERSION=
REMOTELY_IMAGE_VERSION=
ROOT_EMAIL=
SEARXNG_IMAGE_VERSION=
SHARELATEX_IMAGE_VERSION=
SITE=
SONARR_GPID=
SONARR_IMAGE_VERSION=
SONARR_PUID=
TOR_CONTACT_GPG_FINGERPRINT=
TOR_RELAY_BANDWIDTH_BURST=
TOR_RELAY_BANDWIDTH_RATE=
TOR_RELAY_NICKNAME=
TOR_RELAY_TYPE=
TRAEFIK_CHECK_NEW_VERSION=
TRAEFIK_EXPOSED_BY_DEFAULT=
TRAEFIK_IMAGE_VERSION=
@@ -59,21 +42,59 @@ TRAEFIK_PLUGINS=
TRAEFIK_SEND_ANONYMOUS_USAGE=
TRAEFIK_WEBSECURE_ENTRYPOINT=
TRAEFIK_WEB_ENTRYPOINT=
TRANSMISSION_IMAGE_VERSION=
TRANSMISSION_PGID=
TRANSMISSION_PUID=
TRANSMISSION_WEB_HOME=
TZ=
USERNAME=
USERS=
VPN_ADDL_PASSWORDS=
VPN_ADDL_USERS=
VPN_IMAGE_VERSION=
VPN_IPSEC_PSK=
VPN_PASSWORD=
VPN_USER=
WATCHTOWER_CLEANUP=
WATCHTOWER_IMAGE_VERSION=
WATCHTOWER_ROLLING_RESTART=
WATCHTOWER_SCHEDULE=
WORDPRESS_IMAGE_VERSION=
ALERTMANAGER_IMAGE_VERSION=
BAZARR_GPID=
BAZARR_IMAGE_VERSION=
BAZARR_PUID=
CADVISOR_IMAGE_VERSION=
CIAO_IMAGE_VERSION=
CIAO_PROMETHEUS_ENABLED=
ELASTICSEARCH_CLUSTER_NAME=
ELASTICSEARCH_DISCOVERY_TYPE=
ELASTICSEARCH_IMAGE_VERSION=
ELASTICSEARCH_JAVA_OPTS=
ELASTICSEARCH_MEMORY_LOCK=
GITLAB_IMAGE_VERSION=
GITLAB_RUNNER_IMAGE_VERSION=
GRAFANA_IMAGE_VERSION=
JACKETT_GPID=
JACKETT_IMAGE_VERSION=
JACKETT_PUID=
KIBANA_IMAGE_VERSION=
LOGSTASH_IMAGE_VERSION=
MUMBLE_IMAGE_VERSION=
MUMBLE_SUPERUSER_PASSWORD=
NEXTCLOUD_IMAGE_VERSION=
NEXTCLOUD_MYSQL_DATABASE=
NEXTCLOUD_MYSQL_PASSWORD=
NEXTCLOUD_MYSQL_ROOT_PASSWORD=
NEXTCLOUD_MYSQL_USER=
NGINX_IMAGE_VERSION=
NODE_EXPORTER_IMAGE_VERSION=
PROMETHEUS_IMAGE_VERSION=
ROOT_EMAIL=
SEARXNG_IMAGE_VERSION=
SITE=
SONARR_GPID=
SONARR_IMAGE_VERSION=
SONARR_PUID=
TRAEFIK_CHECK_NEW_VERSION=
TRAEFIK_EXPOSED_BY_DEFAULT=
TRAEFIK_IMAGE_VERSION=
TRAEFIK_LOG_LEVEL=
TRAEFIK_PLUGINS=
TRAEFIK_SEND_ANONYMOUS_USAGE=
TRAEFIK_WEBSECURE_ENTRYPOINT=
TRAEFIK_WEB_ENTRYPOINT=
TZ=
USERS=
WATCHTOWER_CLEANUP=
WATCHTOWER_IMAGE_VERSION=
WATCHTOWER_ROLLING_RESTART=
WATCHTOWER_SCHEDULE=

README.md.orig

0 → 100644
+155 −0
Original line number Diff line number Diff line
# Server configuration
[![Discord](https://img.shields.io/discord/861623516142501898)](https://discord.gg/zQV6m9Jk6Z)

Your (my) own server configuration, managed by docker-compose, with
comprehensive default configuration.

## Setup
IF you are using [docker compose version <2.20](https://docs.docker.com/compose/multiple-compose-files/include/),
you need to use the following bash command to use this project:
```bash
docker-compose ()
{
    docker-compose $(find -name 'docker-compose.*.yml' -type f -printf '%p\t%d\n'  2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@
}
```

### Run
```bash
SITE=tom.moulard.org docker-compose up -d
```

Now you have your own server configuration.

To be a little more consistent with the management, you can use a `.env` file
and do:
```bash
cp .env.default .env
```

And edit the `.env` file to use the correct configuration.

The `docker-compose` function gather all docker-compose files in order to have
the whole configuration in one place (see `docker-compose config`).

### Tear down
```bash
docker-compose down
```

### Services list
There **should** be only one service by folder:
For example, le folder `traefik/` contains all the necessary configuration to
run the `traefik` service.

Thus each folder represent an available service.

The directory must follow the following architecture:
```
service/
├── conf
│   └── ...
├── data
│   └── ...
├── docker-compose.servicename.yml
├── logs
│   ├── access.log
│   └── error.log
└── README.md
```

If the service you are adding can use volumes:
 - `data/`, is where to store to service data
 - `conf/`, is where to store to service configuration
 - `logs/`, is where to store to service logs (others than Docker logs)

Feel free to do a Pull Request to add your ideas.

[more ideas](https://github.com/awesome-selfhosted/awesome-selfhosted)

## Configuration
Don't forget to change:

 - db passwords (might not be needed since they are beyond the reverse proxy)
 - VPN secrets (if none provided, they are generated directly).

Configuration files are: `docker-compose.yml`, `nginx.conf`

To set the password:
```bash
echo "USERS=$(htpasswd -nB $USER)" >> .env
```

You can add a new set of credentials by editing the .env file like
```env
USERS=toto:pass,tata:pass, ...
```

The `.env.default` is generated using this command:
```bash
grep '${' **/docker-compose.*.yml | sed "s/.*\${\(.*\)}.*/\1/g" | cut -d":" -f 1 | sort -u | sort | xargs -I % echo "%=" >> .env.default
```

### For local developments
Edit the file `/etc/hosts` to provide the reverse proxy with good URLs.

For example, adding this in your `/etc/hosts` will allow to run and debug the
Traefik service locally:
```bash
127.0.0.1   traefik.moulard.org
```

### Scaling up
```bash
docker-compose scale nginx=2
```

## Tests

### Lint

! Warning: This is enforced for all PRs.

We are using yamllint to lint our yaml files.
You can install it by looking at the [official
documentation](https://yamllint.readthedocs.io/en/stable/quickstart.html#installation).

Once installed, you can run the following command to lint all the yaml files:
```bash
yamllint .
```

### docker-compose config

! Warning: This is enforced for all PRs.

You can run the following command to check that the docker-compose files are
correctly written:
```bash
./test.sh
```

It tests that:

 - all docker-compose files are valid
 - all docker-compose files are parsable
 - all docker-compose files are consistent with the test_config.yml file
 - all environment variables are set inside the `.env.default` file

Once this shell scritp is run, if the tests failes, you can see a bunch of
modified files (e.g., `test_config.yml`) that indicates what is wrong.

Note that the GitHub Action will run this script for you, and provides a
`patch.patch` file that **should** solve most of your issues.

# Authors
Main author:
 - [Tom](http://tom.moulard.org)

Gitlab helper:
 - [michel_k](mailto:thomas.michelot@epita.fr)

Discord MusicBot/minecraft:
 - [huvell_m](mailto:martin.huvelle@epita.fr),
see PR [#6](https://github.com/tomMoulard/make-my-server/pull/6)

README.md.rej

0 → 100644
+8 −0
Original line number Diff line number Diff line
--- README.md
+++ README.md
@@ -0,0 +1,5 @@
+# theia
+
+https://github.com/eclipse-theia/theia
+
+Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
+1 −2
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ version: '2'

services:
  bazarr:
    image: 'linuxserver/bazarr:${BAZARR_IMAGE_VERSION:-v1.2.2}'
    image: 'linuxserver/bazarr:${BAZARR_IMAGE_VERSION:-latest}'
    environment:
      PGID: '${BAZARR_GPID:-1000}'
      PUID: '${BAZARR_PUID:-1000}'
@@ -13,7 +13,6 @@ services:
      traefik.http.routers.bazarr.rule: 'Host(`bazarr.${SITE:-localhost}`)'
      traefik.http.services.bazarr.loadbalancer.server.port: 8080
    links:
      - 'transmission'
      - 'jackett'
      - 'sonarr'
    networks:

bitwarden/.gitignore

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
data/
Loading