Skip to content
user_data 2.98 KiB
Newer Older
Pierre Ozoux's avatar
Pierre Ozoux committed
#cloud-config

JOduMonT's avatar
JOduMonT committed
ssh_authorized_keys:
  - "PUT YOUR SSH KEY PUBLIC HERE"

Pierre Ozoux's avatar
Pierre Ozoux committed
write_files:
Pierre Ozoux's avatar
Pierre Ozoux committed
  - path: /etc/ssh/sshd_config
    permissions: 0600
    owner: root:root
    content: |
      # Use most defaults for sshd configuration.
      UsePrivilegeSeparation sandbox
      Subsystem sftp internal-sftp
      PermitRootLogin no
      AllowUsers core
      PasswordAuthentication no
      ChallengeResponseAuthentication no
Pierre Ozoux's avatar
Pierre Ozoux committed
  - path: /etc/sysctl.d/libresh.conf
Pierre Ozoux's avatar
Pierre Ozoux committed
    permissions: 0644
    owner: root
Pierre Ozoux's avatar
Pierre Ozoux committed
    content: |
      fs.aio-max-nr=1048576
      vm.max_map_count=262144
      vm.overcommit_memory=1
      vm.nr_hugepages=0
Pierre Ozoux's avatar
Pierre Ozoux committed
  - path: /etc/hosts
    permissions: 0644
    owner: root
    content: |
      127.0.0.1 localhost
      255.255.255.255 broadcasthost
      ::1 localhost
  - path: /etc/environment
JOduMonT's avatar
JOduMonT committed
    permissions: 0644
Pierre Ozoux's avatar
Pierre Ozoux committed
    owner: root
    content: |
      NAMECHEAP_URL="namecheap.com"
      NAMECHEAP_API_USER="pierreo"
      NAMECHEAP_API_KEY=
      IP=`curl -s http://icanhazip.com/`
      FirstName="Pierre"
      LastName="Ozoux"
      Address=""
      PostalCode=""
      Country="Portugal"
      Phone="+351.967184553"
      EmailAddress="pierre@ozoux.net"
      City="Lisbon"
      CountryCode="PT"
      BACKUP_DESTINATION=root@xxxxx:port
      MAIL_USER=
      MAIL_PASS=
      MAIL_HOST=mail.indie.host
      MAIL_PORT=587
coreos:
  update:
    reboot-strategy: off
  units:
    - name: systemd-sysctl.service
      command: restart
    - name: swap.service
      enable: true
      command: start
      content: |
        [Unit]
        Description=Turn on swap
        [Service]
        Type=oneshot
        RemainAfterExit=true
        ExecStartPre=-/bin/bash -euxc ' \
          fallocate -l 8192m /swap &&\
          chmod 600 /swap &&\
          mkswap /swap'
        ExecStart=/sbin/swapon /swap
        ExecStop=/sbin/swapoff /swap
        [Install]
        WantedBy=local.target
    - name: install-compose.service
      command: start
      content: |
        [Unit]
        Description=Install Docker Compose
        [Service]
        Type=oneshot
        RemainAfterExit=true
        ExecStart=-/bin/bash -euxc ' \
          mkdir -p /opt/bin &&\
          url=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r \'.assets[].browser_download_url | select(contains("Linux") and contains("x86_64"))\') &&\
          curl -L $url > /opt/bin/docker-compose &&\
          chmod +x /opt/bin/docker-compose'
    - name: install-libresh.service
Pierre Ozoux's avatar
Pierre Ozoux committed
      command: start
      content: |
        [Unit]
        Description=Install libre.sh
Pierre Ozoux's avatar
Pierre Ozoux committed
        [Service]
        Type=oneshot
        RemainAfterExit=true
        ExecStart=-/bin/bash -euxc ' \
          git clone https://github.com/indiehosters/libre.sh.git /libre.sh &&\
          mkdir /{data,system} &&\
          mkdir /data/trash &&\
          cp /libre.sh/unit-files/* /etc/systemd/system && systemctl daemon-reload &&\
          systemctl enable web-net.service &&\
          systemctl start web-net.service &&\
Pierre Ozoux's avatar
Pierre Ozoux committed
          cp /libre.sh/utils/* /opt/bin/'