dockerfiles

Docker files for home server usage
Log | Files | Refs

docker-compose.yml (6441B)


      1 
      2 networks:
      3   proxy:
      4     external: true
      5 
      6 services:
      7 
      8   baikal:
      9     image: ckulka/baikal:nginx
     10     container_name: baikal
     11     volumes:
     12       - $DOCKDIR/baikal:/var/www/baikal/Specific
     13     restart: unless-stopped
     14     depends_on:
     15       - caddy
     16     networks:
     17       - proxy
     18     labels:
     19       caddy: dav.$DOMAIN
     20       caddy.reverse_proxy: "{{upstreams 80}}"
     21 
     22   caddy:
     23     image: lucaslorentz/caddy-docker-proxy
     24     container_name: caddy
     25     ports:
     26       - 80:80
     27       - 443:443
     28     environment:
     29       - CADDY_INGRESS_NETWORKS=proxy
     30     networks:
     31       - proxy
     32     volumes:
     33       - /var/run/docker.sock:/var/run/docker.sock
     34       - $DOCKDIR/caddy:/data
     35     restart: unless-stopped
     36 
     37   changedetection:
     38     image: lscr.io/linuxserver/changedetection.io
     39     container_name: changedetection
     40     environment:
     41       - LC_ALL=en_US.UTF-8
     42       - PGID=$PGID
     43       - PUID=$PUID
     44     volumes:
     45       - $DOCKDIR/changedetection:/config
     46     depends_on:
     47       - caddy
     48     networks:
     49       - proxy
     50     labels:
     51       caddy: diff.$DOMAIN
     52       caddy.reverse_proxy: "{{upstreams 5000}}"
     53     restart: unless-stopped
     54 
     55   docker-rss:
     56     image: theconnman/docker-hub-rss
     57     container_name: docker-rss
     58     restart: unless-stopped
     59     depends_on:
     60       - caddy
     61     networks:
     62       - proxy
     63     labels:
     64       caddy: dock.$DOMAIN
     65       caddy.reverse_proxy: "{{upstreams 3000}}"
     66 
     67   echoip:
     68     image: mpolden/echoip
     69     container_name: echoip
     70     entrypoint: "/opt/echoip/echoip -H X-Forwarded-For"
     71     restart: unless-stopped
     72     depends_on:
     73       - caddy
     74     networks:
     75       - proxy
     76     labels:
     77       caddy: ip.$DOMAIN
     78       caddy.reverse_proxy: "{{upstreams 8080}}"
     79 
     80   freshrss:
     81     image: lscr.io/linuxserver/freshrss
     82     container_name: freshrss
     83     restart: unless-stopped
     84     environment:
     85       - PUID=$PUID
     86       - PGID=$PGID
     87       - TZ=$TZ
     88     volumes:
     89       - $DOCKDIR/freshrss:/config
     90     depends_on:
     91       - caddy
     92     networks:
     93       - proxy
     94     labels:
     95       caddy: rss.$DOMAIN
     96       caddy.reverse_proxy: "{{upstreams 80}}"
     97 
     98   h5ai:
     99     image: awesometic/h5ai
    100     container_name: h5ai
    101     environment:
    102       - PUID=$PUID
    103       - PGID=$PGID
    104       - TZ=$TZ
    105     volumes:
    106       - $SYNCDIR/pub:/h5ai
    107       - $TANKDIR/complete:/h5ai/.tank
    108       - $SYNCDIR/src/dockerfiles/configs/h5ai.css:/config/h5ai/_h5ai/public/css/styles.css
    109     restart: unless-stopped
    110     depends_on:
    111       - caddy
    112     networks:
    113       - proxy
    114     labels:
    115       caddy: pub.$DOMAIN
    116       caddy.reverse_proxy: "{{upstreams 80}}"
    117       caddy.basicauth: "/.tank/*"
    118       caddy.basicauth.peter: "$HTPASSWD"
    119 
    120   hugo:
    121     image: klakegg/hugo
    122     container_name: hugo
    123     command: "server --watch=true --disableLiveReload --minify --source=/src --baseURL=https://$DOMAIN --bind=0.0.0.0 --appendPort=false --buildFuture"
    124     volumes:
    125       - $SYNCDIR/src/blog.$DOMAIN:/src
    126     restart: unless-stopped
    127     depends_on:
    128       - caddy
    129     networks:
    130       - proxy
    131     labels:
    132       caddy: $DOMAIN, blog.$DOMAIN, www.$DOMAIN
    133       caddy.reverse_proxy: "{{upstreams 1313}}"
    134 
    135   jackett:
    136     image: lscr.io/linuxserver/jackett
    137     container_name: jackett
    138     environment:
    139       - PGID=$PGID
    140       - PUID=$PUID
    141       - TZ=$TZ
    142     volumes:
    143       - $DOCKDIR/jackett:/config
    144       - $SYNCDIR:/downloads
    145     restart: unless-stopped
    146     depends_on:
    147       - caddy
    148     networks:
    149       - proxy
    150     labels:
    151       caddy: jack.$DOMAIN
    152       caddy.reverse_proxy: "{{upstreams 9117}}"
    153 
    154   stagit:
    155     image: lscr.io/linuxserver/nginx
    156     container_name: stagit
    157     environment:
    158       - PGID=$PGID
    159       - PUID=$PUID
    160     volumes:
    161       - $DOCKDIR/stagit:/config/www
    162     restart: unless-stopped
    163     depends_on:
    164       - caddy
    165     networks:
    166       - proxy
    167     labels:
    168       caddy: git.$DOMAIN
    169       caddy.reverse_proxy: "{{upstreams 80}}"
    170 
    171   transmission:
    172     image: haugene/transmission-openvpn
    173     container_name: transmission
    174     networks:
    175       - proxy
    176     devices:
    177       - /dev/net/tun
    178     cap_add:
    179       - NET_ADMIN
    180     volumes:
    181       - $TANKDIR/complete:/data/completed
    182       - $TANKDIR/incomplete:/data/incomplete
    183       - $DOCKDIR/transmission:/data/transmission-home
    184       - $SYNCDIR:/data/watch
    185     environment:
    186       - LOCAL_NETWORK=10.0.0.0/24
    187       - LOG_TO_STDOUT=true
    188       - NORDVPN_CATEGORY=p2p
    189       - NORDVPN_COUNTRY=GB
    190       - OPENVPN_PASSWORD=$VPNPASS
    191       - OPENVPN_PROVIDER=NORDVPN
    192       - OPENVPN_USERNAME=$VPNUSER
    193       - PGID=$PGID
    194       - PUID=$PUID
    195     ports:
    196       - 9091:9091
    197       - 51413:51413
    198     dns:
    199       - 8.8.8.8
    200       - 9.9.9.9
    201     logging:
    202       driver: json-file
    203       options:
    204         max-size: 10m
    205     restart: unless-stopped
    206 
    207   transmission-proxy:
    208     image: haugene/transmission-openvpn-proxy
    209     container_name: transmission-proxy
    210     depends_on:
    211       - transmission
    212     links:
    213       - transmission
    214     networks:
    215       - proxy
    216     labels:
    217       caddy: tor.$DOMAIN
    218       caddy.reverse_proxy: "{{upstreams 8080}}"
    219       caddy.basicauth: "*"
    220       caddy.basicauth.peter: "$HTPASSWD"
    221     restart: unless-stopped
    222 
    223   transmission-rss:
    224     image: haugene/transmission-rss
    225     container_name: transmission-rss
    226     depends_on:
    227       - transmission
    228     networks:
    229       - proxy
    230     links:
    231       - transmission
    232     environment:
    233       - GID=$PGID
    234       - UID=$PUID
    235     volumes:
    236       - $DOCKDIR/transmission-rss/transmission-rss.conf:/etc/transmission-rss.conf
    237       - $DOCKDIR/transmission-rss/transmission-rss.seen:/etc/transmission-rss.seen
    238 
    239   vaultwarden:
    240     image: vaultwarden/server:alpine
    241     container_name: vaultwarden
    242     volumes:
    243       - $DOCKDIR/vaultwarden:/data
    244     environment:
    245       - WEBSOCKET_ENABLED=false
    246       - SIGNUPS_ALLOWED=false
    247     restart: unless-stopped
    248     depends_on:
    249       - caddy
    250     networks:
    251       - proxy
    252     labels:
    253       caddy: pass.$DOMAIN
    254       caddy.reverse_proxy: "{{upstreams 80}}"
    255 
    256   vikunja:
    257     image: vikunja/vikunja
    258     container_name: vikunja
    259     environment:
    260       - PGID=$PGID
    261       - PUID=$PUID
    262       - VIKUNJA_DATABASE_PATH=/db/vikunja.db
    263       - VIKUNJA_SERVICE_ENABLEREGISTRATION=false
    264       - VIKUNJA_SERVICE_ENABLETASKCOMMENTS=false
    265       - VIKUNJA_SERVICE_JWTSECRET=$TODOSECRET
    266       - VIKUNJA_SERVICE_PUBLICURL=https://todo.$DOMAIN/
    267       - VIKUNJA_SERVICE_TIMEZONE=$TZ
    268     volumes:
    269       - $DOCKDIR/vikunja/database:/db
    270       - $DOCKDIR/vikunja/files:/app/vikunja/files
    271     restart: unless-stopped
    272     depends_on:
    273       - caddy
    274     networks:
    275       - proxy
    276     labels:
    277       caddy: todo.$DOMAIN
    278       caddy.reverse_proxy: "{{upstreams 3456}}"