Code Monkey home page Code Monkey logo

my-servers's Introduction

Provisioning

⚠️ This only works on a remote Archlinux server ⚠️

Remote server preparation

You should have a root access to it.

Here are the commands to setup the admin account:

root@arch:~# hostnamectl set-hostname --static my-hostname
root@my-hostname:~# pacman -S sudo
root@my-hostname:~# useradd -m -d /home/admin -s /bin/bash -G adm -p '*' admin
root@my-hostname:~# (umask 337 && echo "admin ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers.d/10-admin-user)
root@my-hostname:~# test -d /home/admin/.ssh || (umask 077 && sudo -u admin mkdir -p /home/admin/.ssh/)
root@my-hostname:~# (umask 177 && sudo -u admin tee /home/admin/.ssh/authorized_keys <<EOF
> <my_ssh_public_key_content>
> EOF
> )

# Alternatively
root@my-hostname:~# (umask 177 && sudo -u admin vim /home/admin/.ssh/authorized_keys)

You can now update your ~/.ssh/config file, see this example:

Host my-hostname.tld
    user admin
    IdentitiesOnly yes
    IdentityFile <my_ssh_private_key_location>
    AddKeysToAgent yes
    ForwardAgent no

Provisioning

Create an inventory.ini file:

my-host.tld

[online]
my-host.tld

[backup]
my-host.tld

and the hosts_vars/my-host.tld.yml variables:

---

domain_name: "my-host.tld"
domain_name_acme_email: "admin@{{ domain_name }}"


apps_public_interface_authorized: "eno1"
apps_authorized_ips:
  - 0.0.0.0
apps_publicly_exposed_ports:
  - 12345

backup_borg_encryption_passphrase: ""
backup_borg_repositories: []
backup_source_directories:
  - /opt

monitoring_admin_password: ""
monitoring_pushover_user_key: ""
monitoring_pushover_token: ""

apps:
  - name: "pirate"
    src: files/apps/pirate/
    env: |
      DOMAIN_NAME={{ domain_name }}
      USER_ID=1000
      GROUP_ID=1000
      EMBY_GIDLIST=986,989
  - name: "heimdall"
    src: files/apps/heimdall/
    env: |
      DOMAIN_NAME={{ domain_name }}
      USER_ID=1000
      GROUP_ID=1000
      TZ=Europe/Paris

Then run the playbook:

$ pipenv install
$ pipenv run ./system_administration.yml

my-servers's People

Contributors

dependabot[bot] avatar guillaumededrie avatar renovate-bot avatar renovate[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

my-servers's Issues

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: Cannot find preset's package (github>whitesource/merge-confidence:beta)

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update grafana/grafana docker tag to v11
  • chore(deps): update linuxserver/radarr docker tag to v5
  • chore(deps): update linuxserver/sonarr docker tag to v4
  • 🔐 Create all rate-limited PRs at once 🔐

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

docker-compose
files/apps/heimdall/docker-compose.yml
  • linuxserver/heimdall 2.5.6
files/apps/monitoring/docker-compose.yml
  • prom/prometheus v2.43.0
  • prom/alertmanager v0.25.0
  • lmierzwa/karma v0.114
  • gcr.io/google-containers/cadvisor v0.36.0
  • grafana/grafana 8.5.20
files/apps/pihole/docker-compose.yml
  • pihole/pihole v4.4
files/apps/pirate/docker-compose.yml
  • emby/embyserver 4.8.0.39
  • linuxserver/transmission 2021.11.18
  • linuxserver/jackett 0.21.361
  • linuxserver/sonarr 3.0.10
  • linuxserver/radarr 4.5.2
files/apps/whoami/docker-compose.yml
pipenv
Pipfile
  • ansible ==8.1.0

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.